TP sysres IMA2a5 2019/2020 G4
Sommaire
Descriptif du projet
L'objectif du projet consiste à réaliser une maquette réseau pour la manipulation des protocoles de redondance réseau ainsi que le protocole IPv6. Pour cela, il nous faut d'abord installer une machine virtuelle Xen. Suite à cela, on mettra en place un réseau ainsi qu'un site web sécurisé. Ce projet nous permettra de mettre en pratique les notions vues en cours qui sont, entre autres:
- installation d'une machine virtuelle
- découpage et paramétrage réseau
- réservation de nom de domaine avec Gandi
- gestion de certificats SSL
- cassage de clés WEP et WPA-PSK avec l'utilitaire AirCrack
- mise en place de services internet (SSH, DNS, Apache2,...)
Le groupe est constitué de :
- Malick SECK
- Gael WATBLED
Architecture réseau
Afin d'avoir un réseau redondant, nous utilisons deux routeurs, deux commutateurs et deux points d'accés Wi-Fi. Les points d’accès sont connectés chacun à un commutateur, les routeurs sont connectés sur les deux commutateurs et chaque commutateur est connecté au réseau d’interconnexion avec l’école. Enfin, le serveur de virtualisation est connecté aux deux commutateurs. L'architecture globale est représentée sur la figure suivante:
Nous utilisons par ailleurs le réseau IPv4 routé 193.48.57.160/27
que nous avons découpé en deux sous-réseaux en réservant une plage aux étudiants en IMA5 classique.
De plus, nous disposons d'un sous-réseau privé pour la connexion du client Wi-Fi. Le tableau ci-dessous détaille les infos concernant le découpage réseau pour notre groupe (groupe 4).
Description | Détails |
---|---|
ID VLAN | 4 |
Réseau VLAN | 10.60.4.0/24 |
Adresse IPv4 | 193.48.57.164/28 |
Adresse de broadcast | 193.48.57.175/28 |
Adresse du Routeur 1 | 193.48.57.173/28 |
Adresse du Routeur 2 | 193.48.57.174/28 |
Adresse du Routeur virtuel | 193.48.57.172/28 |
Nom du PC | Morue |
Poste de travail | Zabeth08 |
Machine virtuelle Xen
Installation
Afin d'installer la machine virtuelle, nous nous connectons d'abord au serveur cordouan en ssh via la commande:code
ssh root@cordouan.insecserv.deule.net
(mot de passe= glopglop).
Puis nous lançons la commande xen-create-image --hostname=ima2a5-wateck --dhcp --dir=/usr/local/xen --dist= ascii –apt-proxy=http://proxy.polytech-lille.fr/3128 –force
.
xen-create-image est un scriptvqui permet de créer facilement une instance Xen avec une image qui aura 2 volumes (1 image Logical Volumes et 1 image system root disk).
Le script en question prendra les arguments suivants:
Argument | Signification |
---|---|
--hostname | pour spécifier le nom de la machine |
--dhcp | pour permettre au client (guest) d'être configuré via dhcp |
--dir | pour spécifier le répertoire où les disques virtuels doivent être créés |
--dist | pour spécifier la distribution que l'on souhaite installer |
-force | pour autoriser l'écrasement des images existantes ou la suppression des volumes logiques LVM qui dépendent de la nouvelle instanciation |
Puis nous lançons la commande tail -f /var/log/xen-tools/ima2a5-wateck.log
pour voir sur un autre terminal si l’installation se fait correctement et pour voir l'état d'avancement
Par la suite, nous modifions le fichier de configuration de la machine virtuelle pour faire en sorte que les répertoires var
et home
de la machine virtuelle soient sur des partitions LVM de l’hôte.
Pour cela, nous modifions le fichier /etc/xen/ima2a5-wateck.cfg
pour mettre nom du bridge (déja configuré) en IMA2a5 comme spécifié lorsque l'on utilise la commande brctl show
afin de permettre à notre VM de se connecter à internet.
Nous avons aussi pris le soin de modifier le mot de passe de la machine via la commande Passwd
en "gloplop", le login étant "root"
Le fichier de configuration est comme suit:
... voir copie fichier de conf (pour changement)...
[...] # # Disk device(s). # root = '/dev/xvda2 ro' disk = [ 'file:/usr/local/xen/domains/ ima2a5-wateck /disk.img,xvda2,w', 'file:/usr/local/xen/domains/ ima2a5-wateck /swap.img,xvda1,w', 'phy:/dev/virtual/ ima2a5-wateck -home,xvdb1,w', 'phy:/dev/virtual/ ima2a5-wateck -var,xvdb2,w', ] [...]
... (voir fichier . cfg anyway) ...
Nous parsons notre machine via son fichier de configuration avec la commande xl create /etc/xen/ima2a5-watech.cfg
avant de lancer cette dernière avec xl console /etc/xen/ima2a5
Montage de Var et Home dans cordouan
Nous avons créé des volumes logiques de 10Go pour les répertoires var et home comme suit:
lvcreate -L10G -n ima2a5-wateck -home virtual
lvcreate -L10G -n ima2a5-wateck-var virtual
Création du système de fichiers
Nous formatons chaque volume (partition) en un système de fichiers
mke2fs /dev/virtual/ ima2a5-wateck -home
mke2fs /dev/virtual/ ima2a5-wateck -var
Enfin nous vérifions que le montage des volumes a bien fonctionné grâce à fdisk -l
Le résultat obtenu est:
root@ima2a5-wateck:~# fdisk -l Disk /dev/xvda2: 4 GiB, 4294967296 bytes, 8388608 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/xvda1: 512 MiB, 536870912 bytes, 1048576 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/xvdb1: 10 GiB, 10737418240 bytes, 20971520 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/xvdb2: 10 GiB, 10737418240 bytes, 20971520 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes
Ce qui montre que nos volumes ont été bel et biens crées
Nous avons aussi modifié le fichier /etc/fstab
comme suit afin que les volumes soient pris en compte à chaque démarrage de la VM :
/dev/xvdb1 /home ext4 defaults 0 2 /dev/xvdb2 /var ext4 defaults 0 2
Mise en place de services internet
Installation des paquets SSH
Configuration du serveur web Apache2
Pour la configuration du serveur web, nous installons d'abord les paquets apache2
Apt-get install apache 2
Puis nous lançons le serveur
Service apache2 start
Configuration du serveur DNS avec Bind9
Aprés avoir installé bind9 via la commande: apt-get install bind9
Nous modifions le fichier /etc/bind/named.conf.local
... voir fichier ...
Puis nous créons le fichier de configuration ima2a5-wateck.site.db
)
... voir fichier ..
Création de site web avec Gandi.net
Réservation du nom de domaine
Grâce au registrar gandi.net, nous avons réservé le nom de domaine ima2a5-wateck.site
. L'extension .site
est une option trés interessante à cause du prix relativement faible (1€/an)
Configuration du nameserver
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine. Le nameserver utilisé est spécifié dans notre fichier de configuration pour bind9. La figure suivante montre le choix de nos narmeservers via gandi:
Enregistrement Glue Records
Il faut créer un enregistrement Glue records lorsque le serveur de noms fait référence au nom de domaine. Si vous souhaitez mettre en place plusieurs serveurs de noms, faisant référence au nom de domaine, il faudra créer pour chacun un enregistrement glue record. AInsi nous utilisons les enregistrements Glue records fournis par gandi pour associer un hostname (nom de serveur ou DNS) à l'adresse IP de notre machine. NB:Les modifications seront effectives entre 12 et 24 heures. La figure suivante motre l'enregistrement glue records que nous avons effectué:
Certificat SSL
Le SSL (Secure Socket Layer) / TLS (Transport Layer Security) est le protocole de sécurité le plus répandu qui créé un canal sécurisé entre deux machines communiquant sur Internet ou un réseau interne. Dans notre société centrée sur un Internet vulnérable, le SSL est généralement utilisé lorsqu'un navigateur doit se connecter de manière sécurisée à un serveur web.
Pour commander un certificat, il faut générer une demande de certificat pour finaliser la commande.Nous le faisons comme suit:
openssl req -nodes -newkey rsa:2048 -sha256 -keyout ima2a5-wateck.key -out ima2a5-wateck.csr
Ceci nous permet de générer un jeu de 2 clefs privée et publique respectivement stockées dans des fichiers .key et un .csr grâce à l'utilitaire OpenSSL.
Argument | explication |
---|---|
req | Gestion X.509 Certificate Signing Request (CSR). |
-nodes | Pas de chiffrage sur la clef privée (option arbitraire no des) |
-newkey rsa:2048 | demande de Génération d'une paire de clef RSA de 2048 bits et d'une demande de certificat. |
-keyout ima2a5-wateck.key | spécification du nom de notre .key |
-out ima2a5-wateck.csr | spécification du nom de notre demande de certificat .csr |
A la suite de la commande openssl
, nous répondons à quelques questions afin de générer et d'obtenir le csr:
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) []:ima2a5-wateck.site Email Address []:gael.watbled@polytech-lille.net Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:glopglop! Optionnal informations :
La commande précédemment utilisée nous permet d'avoir la clé publique stockée dans le fichier ima2a5-wateck.csr
Le CSR doit être renseigné dans gandi afin d'obtenir notre certficat SSL
Contenu du CSR
-----BEGIN CERTIFICATE REQUEST----- -----END CERTIFICATE REQUEST-----
Cassage de la clé WEP
Installation du paquetage AirCrack-ng
// Configuration de l'interface réseau d'abord pour télécharger aircrack-ng apt-get install aircrack-ng
Utilisation de AirCrack
airmon-ng
airmong-ng start wlan0mon
airodump-ng --encrypt wep wlan0mon
Airodump-ng crack1 -c 2 --bssid @MAC wlan0mon
airmon-ng airmong-ng start wlan0mon airodump-ng --encrypt wep wlan0mon Airodump-ng -w crack1.txt -c 2 --bssid 04:DA:D2:50:50 wlan0mon