Cahier groupe n°6
Sommaire
- 1 Présentation du réseau à mettre en place
- 2 Cahier des charges de la tâche particulière
- 3 Suivi de l'avancement du TP
- 4 Références
Présentation du réseau à mettre en place
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 point d'accès Wifi avec filtrage des adresses MAC.
Les différentes étapes à réaliser :
- Connexion via le port série au point d'accès Cisco
- Configuration pour le réseau insecure
- Accès via ethernet
- Filtrage des adresses Mac via l'interface web pour chaque binôme de la salle E304
Matériel utilisé pour la tâche particulière
Cisco Aironet 2600
Suivi de l'avancement du TP
Séance 1 (01/10/2015)
- Connexion via le port série au point d'accès Cisco
- Configuration dans le réseau insecure : ajout de l'adresse IP 172.26.79.10 dans l'interface bvI 1, connexion au réseau de l'école
- Accès à l'interface web du Cisco, configuration pour le wifi
Séance 2 (08/10/2015)
- Test d'intrusion par changement d'adresse MAC:
- Ajout d'un filtre sur l'adresse MAC de l'eeePC => eeePC bloqué
- Changement de l'adresse MAC de l'eeePC => eeePC non bloqué
Conclusion: l'accès au réseau n'est pas suffisamment sécurisé lors d'un filtrage sur adresse MAC
Séance 3 (15/10/2015)
- Achat du nom de domaine : kasteel.lol
- Connexion en root à cordouan.insecserv.deule.net:
ssh root@cordouan.insecserv.deule.net
- Création de la machine:
xen-create-image --hostname=KASTEEL --dist=jessie --dir=/usr/local/xen --gateway=193.48.57.174 --ip=193.48.57.166 --netmask=255.255.255.240 --nameserver=193.48.57.48 --genpass=0 --password="mot de passe administrateur habituel"
- visualisation des logs de l'installation
tail -f /var/log/xen-tools/KASTEEL.log
- Création du fichier de configuration:
xl create /etc/xen/KASTEEL.cfg
- Lancement de la machine:
xl console KASTEEL
Séance 4 (22/10/2015)
- Ajout d'un SSID:"baguette" au point d'accès Cisco avec un filtrage par adresse MAC de tous les eeePC de la salle E304
- Configuration des eeePC pour accès au WiFi:
fichier:/etc/network/interfaces auto wlan0 iface wlan0 inet static wireless-essid baguette address 172.26.79.60 netmask 255.255.240.0 gateway 172.26.79.254
fichier:/etc/resolv.conf nameserver 193.48.57.48
- Tentative d'intrusion sur le point d'accès de la salle E306 par changement d'adresse MAC de l'eeePC (réussie):
ifconfig wlan0 down ifconfig wlan0 hw ether xx:xx:xx:xx:xx:xx ifconfig wlan0 up
Séance 5 (05/11/2015)
- Installation des paquets (SSH, Apache et DNS) sur la machine virtuelle.
- Création des partitions LVM:
lvcreate -L 10G -n /dev/virtual/ima5-kasteel-home -v lvcreate -L 10G -n /dev/virtual/ima5-kasteel-var -v
- Modification du fichier de configuration pour intégrer ces partitions:
disk = [ 'file:/usr/local/xen/domains/KASTEEL/disk.img,xvda2,w', 'file:/usr/local/xen/domains/KASTEEL/swap.img,xvda1,w', 'phy:/dev/virtual/ima5-kasteel-home,xvdc,w', 'phy:/dev/virtual/ima5-kasteel-var,xvdb,w', ]
Séance 6 (12/11/2015)
- Réservation du certificat correspondant à kasteel.lol, génération du .csr pour le certificat.
openssl req -nodes -newkey rsa:2048 -sha256 -keyout kasteel.lol.key -out kasteel.lol.csr
Crackage de clef WEP
Crackage de clef WEP à l'aide de la suite Aircrack-ng
Activation du mode monitor de la carte wifi wlan0:
airmon-ng start wlan0
On stoppe le network manager et on tue les processus pouvant interférer:
airmon-ng check kill
Affiche le traffic wifi:
airodump-ng mon0
Affiche les différents points d'accès sur le canal 7. Le bssid est l'addresse MAC du réseau cracotte06 que nous voulons cracker.
airodump-ng --essid cracotte06 --write crackage -c 7 --bssid 00:23:5e:1e:05:45 mon0
Sur un autre terminal on lance le crackage de la clé:
aircrack-ng -l KEY -s -f 15 crackage-01.cap
Finalement on trouve la clé au bout de 14min25s avec plus de 105997 IVs
Séance 7 (19/11/2015)
- Configuration d'apache sur la machine virtuelle
Activation du module SSL d'apache :
a2enmod ssl
Ecoute sur le port 443 :
<IfModule ssl_module> Listen 443 NameVirtualHost 193.48.57.166:443 </IfModule>
Création d'un site dédié et définition du serveur virtuel pour le port 443 : fichier /etc/apache2/sites-available/000-kasteel.lol-ssl.conf
NameVirtualHost *:443 <VirtualHost *:443> ServerName www.kasteel.lol ServerAlias kasteel.lol DocumentRoot /var/www/www.kasteel.lol/ CustomLog /var/log/apache2/secure_access.log combined SSLEngine on SSLCertificateFile /etc/ssl/certs/kasteel.lol.crt SSLCertificateKeyFile /etc/ssl/private/kasteel.lol.key SSLCertificateChainFile /etc/ssl/certs/GandiStandardSSLCA2.pem SSLVerifyClient None </VirtualHost>
Activation du site et redémarrage d'apache.
- Mise en place du serveur DNS et de DNSSEC
Création d'un fichier de zone :
$TTL 604800 @ IN SOA ns.kasteel.lol. root.kasteel.lol. ( 2015102001 ; Serial 86400 ; Refresh 3600 ; Retry 2419200 ; Expire 86400 ) ; Negative Cache TTL @ IN NS ns.kasteel.lol. @ IN NS ns6.gandi.net. ns IN A 193.48.57.166 www IN A 193.48.57.166 @ IN A 193.48.57.166 ns IN AAAA 2001:660:4401:60bb:216:3eff:fe2c:189b www IN AAAA 2001:660:4401:60bb:216:3eff:fe2c:189b @ IN AAAA 2001:660:4401:60bb:216:3eff:fe2c:189b
Création du fichier de reverse :
$TTL 604800 @ IN SOA ns.kasteel.lol. root.kasteel.lol. ( 2015102001 ;serial 14400 ;refresh 3600 ;retry 604800 ;expire 10800 ;minimum ) 57.48.193.in-addr.arpa. IN NS ns.kasteel.lol. 57.48.193.in-addr.arpa. IN NS ns6.gandi.net. 166 IN PTR kasteel.lol.
Ajout des zones dans le fichier de configuration de bind :
zone "kasteel.lol" { type master; file "/etc/bind/zones/kasteel.lol.db"; }; zone "57.48.193.in-addr.arpa" IN{ type master; file "/etc/bind/zones/57.48.193.in-addr.arpa"; allow-transfer {210.70.177.40; ); };
- Géneration des clés KSK et ZSK :
dnssec-keygen -a RSASHA1 -b 2048 -r /dev/urandom -f KSK -n ZONE kasteel.lol dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE kasteel.lol
On modifie les nom des 4 fichiers générés et on les places dans le répertoire "kasteel.lol.dnssec" comme ceci:
-rw-r--r-- 1 root bind 605 Dec 3 13:07 kasteel.lol-ksk.key -rw------- 1 root bind 1774 Dec 3 13:07 kasteel.lol-ksk.private -rw-r--r-- 1 root bind 431 Dec 3 13:08 kasteel.lol-zsk.key -rw------- 1 root bind 1010 Dec 3 13:08 kasteel.lol-zsk.private
Ensuite, on ajoute les deux fichier ".key" aux fichier de zone puis on signe les enregistrements:
dnssec-signzone -o kasteel.lol -k kasteel.lol-ksk ../zones/db.kasteel.lol kasteel.lol-zsk
Crackage de clef WPA
Génération d'un dictionnaire contenant tous les nombres à 8 chiffres (de 00000000 à 99999999).
Crackage de clef WPA-PSK à l'aide de la suite Aircrack-ng
Activation du mode monitor de la carte wifi wlan0:
airmon-ng start wlan0
airmon-ng check kill
airodump-ng mon0
Affiche les différents points d'accès sur le canal 12. Le bssid est l'addresse MAC du réseau cracotte06 que nous voulons cracker.
airodump-ng --essid cracotte06 --write crackage -c 12 --bssid 00:23:5e:1e:05:45 mon0
On lance le crackage de la clé par force brute à partir du dictionnaire:
aircrack-ng -w dico.txt *.cap -l KEY
Finalement on trouve la clé au bout de longues minutes ...
Sécurisation des données
- Création des trois partitions LVM de 10Go:
lvcreate -L 10G -n /dev/virtual/ima5-kasteel-raid1 lvcreate -L 10G -n /dev/virtual/ima5-kasteel-raid2 lvcreate -L 10G -n /dev/virtual/ima5-kasteel-raid2
- Modification du fichier de configuration de KASTEEL:
disk = [ 'file:/usr/local/xen/domains/KASTEEL/disk.img,xvda2,w', 'file:/usr/local/xen/domains/KASTEEL/swap.img,xvda1,w', 'phy:/dev/virtual/ima5-kasteel-home,xvdc,w', 'phy:/dev/virtual/ima5-kasteel-var,xvdb,w', 'phy:/dev/virtual/ima5-kasteel-raid1,xvdd,w', 'phy:/dev/virtual/ima5-kasteel-raid2,xvde,w', 'phy:/dev/virtual/ima5-kasteel-raid3,xvdf,w', ]
- Création du raid5:
mdadm --create /dev/md0 --level=5 --assume-clean --raid-devices=3 /dev/xvdd /dev/xvde /dev/xvdf
On vérifie que md0 a bien été crée par:
cat /proc/mdstat
Création d'un système de fichier linux:
mkfs /dev/md0
On redémarre la VM, on remarque que le volume md0 a été remplacé par md127. On supprime une partition et on relance, puis:
mdadm --detail /dev/md127
On a :
/dev/md127: Version : 1.2 Raid Level : raid0 Total Devices : 2 Persistence : Superblock is persistent State : inactive Name : KASTEEL:0 (local to host KASTEEL) UUID : 415307c8:3230a02a:c7539958:90d7f480 Events : 2 Number Major Minor RaidDevice - 202 48 - /dev/xvdd - 202 64 - /dev/xvde
On constate que le raid est inactif (cat /proc/mdstat):
Personalities : md127 : inactive xvde[1](S) xvdd[0](S) 20955136 blocks super 1.2 unused devices: <none>
Cryptage des données
On installe lvm2 et crypsetup sur l'eeepc. On veut 1 partition sur la carte SD:
fdisk /dev/sdb
Commande "n" pour ajouter une partition. S'il y avait d'autres partitions on les supprime avec "d". Commande "m" pour voir l'aide. On a crée la partition sdb1, on va la sécuriser avec cryptsetup. La commande suivante va formater la partition au type LUKS, le chiffrement sera de type AES avec un algorithme de hachage SHA256. Une phrase sera alors demander pour chiffrer le conteneur.
cryptsetup luksFormat -c aes -h sha256 /dev/sdb1
Pour voir l'état du conteneur:
cryptsetup luksDump /dev/hda7
Ouverture et formatage en ext3 de la partition chiffrée. L'appellation du volume est ici kasteel.
cryptsetup luksOpen /dev/sdb1 kasteel mkfs.ext3 /dev/mapper/kasteel
On monte alors la partition:
mount -t ext3 /dev/mapper/kasteel /mnt
En utilisant le dossier /mnt/ on écrit et lit la carte SD. Pour démonter et fermer le volume chiffré:
umount /mnt/ cryptsetup luksClose kasteel
- On donne la carte SD à un autre binôme qui va tenter de la lire par:
cryptsetup luksOpen /dev/sdb1 <nom>
Une clé sera demandé et sans celle-ci impossible d'accéder aux données.
Point d'accès Wifi
Sécurisation Wifi par WPA2-EAP
On commence par installer FreeRadius sur la machine virtuel, ensuite on configure un nouvel utilisateur pour l'autentification :
login Cleartext-password := "password"
On rajoute ensuite un nouveau client dans le fichier client.conf :
client E304 { ipaddr = 10.10.10.1 secret = password } client E306 { ipaddr = 10.10.10.2 secret = password } client VLAN16{ ipaddr = 172.20.16.0 netmask = 24 secret = password }
Par la suite on modifie le fichier eap.conf :
eap { default_eap_type = peap ... peap { default_eap_type = mschapv2 } }
Pour finir on configure le point d'accès Wifi comme ceci:
aaa new-model aaa authentication login eap_kasteel group radius_kasteel radius-server host 193.48.57.166 auth-port 1812 acct-port 1813 key password aaa group server radius radius_kasteel server 193.48.57.166 auth-port 1812 acct-port 1813 dot11 ssid SSID_KASTEEL vlan 16 authentication open eap eap_kasteel authentication network-eap eap_kasteel authentication key-management wpa mbssid guest-mode interface Dot11Radio0.16 encapsulation dot1Q 16 no ip route-cache bridge-group 16 bridge-group 16 subscriber-loop-control bridge-group 16 spanning-disabled bridge-group 16 block-unknown-source no bridge-group 16 source-learning no bridge-group 16 unicast-flooding interface GigabitEthernet0.16 encapsulation dot1Q 16 bridge-group 16
Configuration eepc
On configure l'eepc dans etc/network/interfaces pour se connecter à notre ssid
auto wlan0 iface wlan0 inet static address 172.20.16.10 netmask 255.255.255.0 gateway 172.20.16.254 wpa-ssid SSID_KASTEEL wpa-key-mgmt WPA-EAP wpa-identity login wpa-password motdepass
On arrive à pinger le routeur
ping 172.20.16.254
Références
Travaux pratiques protocoles avancés (Sujet)
Information sur le Cisco Aironet
- http://rex.plil.fr/Enseignement/Reseau/TP.Reseau.IMA2a4/reseau.html
- http://vantroys.polytech-lille.net/IMA4i/index.php
Travaux pratiques de réseau informatique IMA4
Manuel xen-create-image
Cryptsetup