Cahier groupe n°2
Cahier des charges de la tâche particulière
Présentation de la tâche particulière
La tâche particulière que nous devons effectuer lors de ce projet est la configuration d'un des deux routeurs nécessaires à l'établissement d'un réseau redondant.
Matériel utilisé pour la tâche particulière
- Routeur 3560E
Suivi de l'avancement du TP
Semaine 1 (01/10/2015)
En collaboration avec le groupe n°1 :
- Établissement d'un tableau regroupant les informations nécessaires au routage.
- Attribution des adresses IPv4 pour chaque VLAN, l'interconnexion des réseaux ainsi que les machines virtuelles.
Semaine 2 (08/10/2015)
Configuration du routeur de la salle E304 en IPv4 :
- Configuration des VLAN :
- VLAN 11 à 20 pour chaque binôme IMA5 SC.
- VLAN 110 pour les machines virtuelles des binômes.
- VLAN 130 pour l'interconnexion avec le routeur de l'école.
- Configuration entre le routeur et le commutateur de la salle E304.
- Configuration avec le commutateur de la salle E306.
- Configuration avec le routeur de l'école.
- Réalisation de la redondance entre les deux routeurs en IPv4.
Semaine 3 (15/10/2015)
- Configuration du routeur de la salle E304 en IPv6.
- Réalisation de la redondance entre les deux routeurs en IPv6.
- Nous avons choisi le nom de domaine : tissothage.lol
- Nous avons créé notre machine virtuelle sur le dom0 cordouan.insecserv.deule.net :
ssh root@cordouan.insecserv.deule.net
xen-create-image --hostname=PANACHE --dist=jessie --dir=/usr/local/xen --gateway=193.48.57.174 --ip=193.48.57.162
tail -f /var/log/xen-tools/PANACHE.log
- Modification du fichier de configuration : PANACHE.cfg (ajout du bridge=IMA5sc et taille mémoire à 512)
- Suite aux modifications :
xl create /etc/xen/PANACHE.cfg
- Lancement de la machine virtuelle :
xl console PANACHE
- Installation des paquets suivants sur la machine virtuelle : ssh, apache2, bind9
Semaine 4 (22/10/2015)
- Création du certificat SSL
openssl req -new -newkey rsa:2048 -sha256 -nodes -out tissothage.lol.csr -keyout tissothage.lol.key -subj '/C=FR/CN=tissothage.lol'
- Intrusion par changement d'adresse MAC : configuration de la connexion sans fil "baguette" de notre eeePC pour la salle E304 (en donnant notre adresse MAC).
# dans le fichier /etc/network/interfaces auto wlan0 inet static wireless-essid baguette address 172.26.79.59 netmask 255.255.240.0 gateway 172.26.79.254
# dans le fichier /etc/resolv.conf nameserver 193.48.57.48
- Nous avons réussi à se connecter sur le site de TF1 (site en ipv4).
- Pour pouvoir se connecter au réseau wifi "troubadour" de la salle E306 :
Nous avons changé l'adresse MAC du wlan0 par une reconnue par la borne wifi.
ifconfig wlan0 hw ether ADRESSE_MAC
Pour réinitialiser la configuration
/etc/init.d/networking restart
Nous avons modifié le fichier /etc/network/interfaces pour changer le nom "baguette" en "troubadour"
- Nous avons réussi à se connecter sur le site de TF1 (site en ipv4).
Semaine 5 (12/11/2015)
- Cassage de clef WEP d'un point d'accès Wifi
- Activation du mode monitor de la carte réseau :
airmon-ng start wlan0
- Pour voir tous les points d'accès :
airodump-ng wlan0
- Pour voir seulement les points d'accès sur le canal 7 (canal regroupant les points d'accès "cracotte") :
airodump-ng -w out -c 7 --bssid 00:23:5E:1E:05:41 wlan0
L'adresse MAC du bssid est celle du point d'accès "cracotte2". - Enfin, pour trouver la clé, on lance :
aircrack-ng out-02.cap
- Pour le routeur de la salle E304 : nous avons rajouté le vlan1 qui correspond au réseau privé et qui a pour adresse MAC 10.10.10.253.
Semaine 6 (19/11/2015)
- Création des partitions LVM :
lvcreate -L 10G -n /dev/virtual/ima5-panache-home -v lvcreate -L 10G -n /dev/virtual/ima5-panache-var -v
Puis on modifie le fichier /etc/xen/PANACHE.cfg afin d'y rajouter les partitions nouvellement créées :
disk = [
         'phy:/dev/virtual/ima5-panache-var,xvdb,w'
         'phy:/dev/virtual/ima5-panache-home,xvdb,w'
       ]
Ensuite, on configure Apache afin d'écouter sur le port 443 :
<IfModule mod_ssl.c> Listen 443 NameVirtualHost 193.48.57.162:443 </IfModule>
Enfin, on ajoute un VirtualHost /etc/apache2/sites-available/000-tissothage.lol-ssl.conf :
<VirtualHost *:443> ServerName www.tissothage.lol ServerAlias tissothage.lol DocumentRoot /var/www/www.tissothage.lol/ CustomLog /var/log/apache2/secure_access.log combined SSLEngine on SSLCertificateFile /etc/ssl/certs/www.tissothage.lol.crt SSLCertificateKeyFile /etc/ssl/private/www.tissothage.lol.key SSLCertificateChainFile /etc/ssl/certs/GandiStandardSSLCA2.pem SSLVerifyClient None </VirtualHost>
Malheureusement, nous nous sommes rendues compte que suite à une erreur de notre part (noms de domaine et de certificat différents), il était évident que ça ne fonctionnerait pas.
- Cassage de mot de passe WPA-PSK par force brute
Nous avons commencé par créer un dictionnaire qui est composé de tous les nombres à 8 chiffres. Voici le code en c qui permet de générer ce fichier :
#include<stdio.h>
#include<stdlib.h>
#define MAX_I 99999999
int main(){
        int i=0;
        FILE* fp = fopen("Dictionnaire.txt","w");
        if( fp == NULL ) printf("ERROR\n");
        else{
                for(i=0 ; i <= MAX_I ; i++){
                        fprintf(fp,"%08d\n",i);
                }
        }
        fclose(fp);
        return 0;
}
Nous avons réussi à trouver la clé :
Semaine 7 (26/11/2015)
- Rachat d'un nom de domaine "panache.lol" et installation du certificat ssl :
openssl req -nodes -newkey rsa:2048 -sha256 -keyout panache.lol.key -out panache.lol.csr
Après récupération des fichiers .key et .csr, on fournit ce dernier à Gandi et on obtient le fichier .crt.
On place www.panache.lol.key dans /etc/ssl/private et www.panache.lol.crt dans /etc/ssl/certs.
Ensuite, on récupère le certificat intermédiaire que l'on place dans le fichier /etc/ssl/certs/GandiStandardSSLCA2.pem.
Puis, on ajoute le Virtual Host dans le fichier /etc/apache2/sites-available/000-panache.lol-ssl.conf :
<VirtualHost *:443> ServerName www.panache.lol ServerAlias panache.lol DocumentRoot /var/www/www.panache.lol/ CustomLog /var/log/apache2/secure_access.log combined SSLEngine on SSLCertificateFile /etc/ssl/certs/www.panache.lol.crt SSLCertificateKeyFile /etc/ssl/private/www.panache.lol.key SSLCertificateChainFile /etc/ssl/certs/GandiStandardSSLCA2.pem SSLVerifyClient None </VirtualHost>
- Mise en place du serveur DNS
Création d'un enregistrement Glue sur le site du Gandi :
Nom du serveur : ns.panache.lol Adresse IP : 193.48.57.162
Modification des serveurs DNS sur Gandi :
DNS1 : ns.panache.lol DNS2 : ns6.gandi.net (serveur DNS secondaire)
Configuration de Bind :
- Création d'un fichier de zones /etc/bind/zones/db.panache.lol :
$TTL    604800
@       IN      SOA     ns.panache.lol. root.panache.lol. (
                   2015102001         ; Serial
                        86400         ; Refresh
                         3600         ; Retry
                      2419200         ; Expire
                        86400 )       ; Negative Cache TTL
@       IN      NS      ns.panache.lol.
@       IN      NS      ns6.gandi.net.
ns      IN      A       193.48.57.162
www     IN      A       193.48.57.162
god     IN      A       193.48.57.162
ns      IN      AAAA    2001:660:4401:60bb:216:3eff:fef9:a3d1
www     IN      AAAA    2001:660:4401:60bb:216:3eff:fef9:a3d1
god     IN      AAAA    2001:660:4401:60bb:216:3eff:fef9:a3d1
@       IN      A       193.48.57.162
@       IN      AAAA    2001:660:4401:60bb:216:3eff:fef9:a3d1
- Création d'un fichier définissant les zones inverses pour la résolution des adresses IP /etc/bind/zones/193.48.57.in-addr.arpa :
$TTL    604800
@       IN       SOA     ns.panache.lol. root.panache.lol.     (
                    2015102001       ;serial
                    14400            ;refresh
                    3600             ;retry
                    604800           ;expire
                    10800            ;minimum
)
193.48.57.in-addr.arpa.                IN      NS      ns.panache.lol.
193.48.57.in-addr.arpa.                IN      NS      ns6.gandi.net.
162                                    IN      PTR     panache.lol.
- Ajout des zones dans le fichier de configuration /etc/bind/named.conf.local :
zone "panache.lol" {
       type master;
       file "/etc/bind/zones/db.panache.lol.signed";
       allow-transfer { 217.70.177.40; };
       notify yes;
};
zone "193.48.57.in-addr.arpa" IN {
       type master;
       file "/etc/bind/zones/193.48.57.in-addr.arpa";
       allow-transfer { 217.70.177.40; };
};
- Sécurisation du serveur DNS avec DNSSEC :
- Génération des deux clés chiffrées (KSK et ZSK) :
dnssec-keygen -a RSASHA1 -b 2048 -r /dev/urandom -f KSK -n ZONE panache.lol dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE panache.lol
Les quatre clés générées (deux privées et deux publiques) sont ensuite placées dans le dossier /etc/bind/panache.dnssec.
- On réfère ensuite les deux clés publiques dans le fichier /etc/bind/zones/db.panache.lol :
$include /etc/bind/panache.dnssec/panache.lol-ksk.key $include /etc/bind/panache.dnssec/panache.lol-zsk.key
Puis on fournit les deux clés publiques sur le site de Gandi dans la rubrique prévue à cet effet (gérer NSSEC).
- Il reste à signer la zone :
dnssec-signzone -o panache.lol -k panache.lol-ksk ../zones/db.panache.lol panache.lol-zsk
On a donc créé le fichier /etc/bind/zones/db.panache.lol.signed qui sera référé dans le fichier /etc/bind/named.conf.local.
- Après vérification avec "dnsviz", nous constatons que notre site est sécurisé.
- Sécurisation des données
Création de 3 partitions de 1G
lvcreate -L 1G -n /dev/virtual/ima5-panache-raid1 -v lvcreate -L 1G -n /dev/virtual/ima5-panache-raid2 -v lvcreate -L 1G -n /dev/virtual/ima5-panache-raid3 -v
Nous avons ensuite modifié le fichier de config /etc/xen/PANACHE.cfg
disk = [
         ...
         'phy:/dev/virtual/ima5-panache-raidA,xvdd,w',
         'phy:/dev/virtual/ima5-panache-raidB,xvde,w',
         'phy:/dev/virtual/ima5-panache-raidC,xvdf,w',
       ]
Afin de pouvoir créer un RAID5 avec les trois partitions, nous avons d'abord redémarré notre VM, ensuite :
mdadm --create /dev/md0 --level=5 --assume-clean --raid-devices=3 /dev/xvdd /dev/xvde /dev/xvdf
Pour vérifier la création de notre md0:
cat /proc/mdstat
On obtient :
Personalities : [raid6] [raid5] [raid4] 
md0 : active raid5 xvdf[2] xvde[1] xvdd[0]
     2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
     
unused devices: <none>
Pour vérifier qu'on a créé un RAID5 logiciel avec nos trois partitions
mdadm --detail /dev/md0
Après avoir redémarré la VM, on remarque que le volume nouvellement créé nommé md0 a été remplacé par md127.
Après suppression d'une partition, on effectue la commande précédente de nouveau :
mdadm --detail /dev/md127
Et on obtient :
       Version : 1.2
    Raid Level : raid0
 Total Devices : 2
   Persistence : Superblock is persistent
         State : inactive
          Name : PANACHE:0  (local to host PANACHE)
          UUID : a5a2ac63:89713b63:57d0149e:da7e1d76
        Events : 0
   Number   Major   Minor   RaidDevice
      -     202       48        -        /dev/xvdd
      -     202       64        -        /dev/xvde
On vérifie le volume md127 :
cat /proc/mdstat
On a :
Personalities : 
md127 : inactive xvde[1](S) xvdd[0](S)
      2095104 blocks super 1.2      
unused devices: <none>
Semaine 8 (03/12/2015)
- Cryptage des données
Nous avons commencé par supprimer les autres partitions sur la carte SD afin d'en avoir qu'une seule en utilisant la commande
fdisk /dev/sdb
Nous avons ensuite sécurisé la partition en mettant une clé :
cryptsetup create key /dev/sdb
Ainsi, on peut vérifier que dans le répertoire /dev/mapper on a un répertoire /key
Pour formater la carte :
mkfs /dev/manager/key
- Sécurisation Wifi par WPA2-EAP
- Configuration du serveur FreeRadius en PEAP-MSCHAPv2
On modifie le fichier /etc/freeradius/eap.conf :
default_eap_type = peap
Puis le fichier /etc/freeradius/clients.conf :
client E304 {
       ipaddr = 10.10.10.1
       secret = password
}
client E306 {
       ipaddr = 10.10.10.2
       secret = password
}
client VLAN12 {
       ipaddr = 172.20.12.0
       secret = password
}
Enfin, le fichier /etc/freeradius/users :
username Cleartext-Password := "password"
- Configuration de la borne Wifi :
Après connection en telnet à la borne Wifi en 10.10.10.1 à l'aide des identifiant/mot de passe : Cisco/Cisco, on configure cette dernière en mode enable :
conf t
  aaa new-model
  aaa authentication login eap_panache group radius_panache
  radius-server host 193.48.57.162 auth-port 1812 acct-port 1813 key password
  aaa group server radius radius_panache
    server 193.48.57.162 auth-port 1812 acct-port 1813
    !
    exit
  dot11 ssid SSID_PANACHE
    vlan 12
    authentication open eap eap_panache 
    authentication network-eap eap_panache 
    authentication key-management wpa
    mbssid guest-mode
    !
    exit
  interface Dot11Radio0
  encryption vlan 12 mode ciphers aes-ccm tkip
  ssid SSID_PANACHE
  !
  exit 
  interface Dot11Radio0.12
    encapsulation dot1Q 12
    no ip route-cache
    bridge-group 12
    bridge-group 12 subscriber-loop-control
    bridge-group 12 spanning-disabled
    bridge-group 12 block-unknown-source
    no bridge-group 12 source-learning
    no bridge-group 12 unicast-flooding
    !
    exit
  interface GigabitEthernet0.12
  encapsulation dot1Q 12
  bridge-group 12
  !
  exit
exit
Semaine 9 (10/12/2015)
- Test pour se connecter à la borne Wifi à partir de l'eee-Pc :
Dans le fichier /etc/network/interfaces :
auto wlan0 iface wlan0 inet static address 172.20.12.12 netmask 255.255.255.0 gateway 172.20.12.254 wpa-ssid SSID_PANACHE wpa-key-mgmt WPA-EAP wpa-identity username wpa-password password

