TP sysres IMA2a5 2019/2020 G4 : Différence entre versions

De Wiki d'activités IMA
(Certificat SSL)
(Certificat SSL)
Ligne 189 : Ligne 189 :
 
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.
 
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:
La première étape pour générer un certificat est de concevoir un jeu de 2 clefs qui sont un '''.key''' et un '''.csr'''
 
Pour obtenir ces deux fichiers, nous utilisons l'utilitaire '''OpenSSL'''.
 
On exécute la commande suivante pour générer les clés publiques et privées :
 
 
       openssl req -nodes -newkey rsa:2048 -sha256 -keyout ima2a5-wateck.key -out ima2a5-wateck.csr
 
       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'''.
  
  
Ligne 236 : Ligne 232 :
  
  
 
+
La commande précédemment utilisée nous permet d'avoir la clé publique stockée dans le fichier <code>ima2a5-wateck.csr</code>
 
Le CSR doit être renseigné dans gandi afin d'obtenir notre certficat SSL
 
Le CSR doit être renseigné dans gandi afin d'obtenir notre certficat SSL
  

Version du 18 novembre 2019 à 22:29

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:

  • --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 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) Mygandi.png

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: Wiki.png

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é: Glue record.png

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