TP sysres IMA2a5 2015/2016 G7 : Différence entre versions
Ligne 190 : | Ligne 190 : | ||
</pre> | </pre> | ||
− | <h3>Sécurisation du serveur DNS par DNSSEC | + | <h3>Sécurisation du serveur DNS par DNSSEC</h3> |
<br />On commence par modifier le fichier named.conf.options en y mettant: dnssec-enable yes, puis on créé le répertoire /etc/bind/licornedacier pour y stocker les clefs. | <br />On commence par modifier le fichier named.conf.options en y mettant: dnssec-enable yes, puis on créé le répertoire /etc/bind/licornedacier pour y stocker les clefs. | ||
<br />On créé ensuite la clé asymétrique à l'aide de la commande: | <br />On créé ensuite la clé asymétrique à l'aide de la commande: |
Version du 6 décembre 2015 à 19:29
Sommaire
- 1 Projet Système & Réseaux
- 1.1 INTRODUCTION
- 1.2 INSTALLATION DES SYSTEMES D'EXPLOITATION
- 1.3 ARCHITECTURE RESEAU
- 1.4 SERVICE INTERNET
- 1.4.1 Réservation nom de domaine
- 1.4.2 Configuration du DNS
- 1.4.3 Connexion du Shark en Wifi: serveur ssh
- 1.4.4 Sécurisation de site web par certificat
- 1.4.5 Sécurisation du serveur DNS par DNSSEC
- 1.4.6 Configuration du point d'accès</h2> On commence par se connecter en telnet au point d'accès avec la commande: telnet 172.20.99.5 Une fois connecté au point d'accès, on suit les instructions de configuration fournies sur le support de TP et concernant la sécurisation du wifi en WPA2-EAP. Ci-dessous un exemple de la configuration réalisée: ap#conf t ap(config)#interface dot11Radio 0.3 ap(config-subif)#encapsulation dot1Q 3 ap(config-subif)#bridge-group 3 ap(config-subif)#exit ap(config)#int GigabitEthernet 0.3 ap(config-subif)#encapsulation dot1Q 3 ap(config-subif)#bridge-group 3 ap(config-subif)#exit ap(config)#exit ap#write Une fois cette configuration réalisée, il ne reste plus qu'à modifier le fichier /etc/network/interfaces du Shark pour se connecter sur le SSID de mon réseau par un simple ifup wlan0. Le SSID choisi est: Pegase_WPA2-EAP Afin de se connecter sur la borne wifi avec le Shark avec un simple ifup wlan0, on ajoute les lignes suivantes au fichier de configuration de l'interface: iface wlan0 inet static wpa-ssid Pegase_WPA2-EAP wpa-key-mgmt WPA-EAP wpa-identity nour wpa-password psswdnour CONCLUSION
Projet Système & Réseaux
INTRODUCTION
Le but de ce projet est de mettre en place une maquette réseau où chacun des étudiants aura un VLAN, créera sa machine virtuelle et réservera son nom de domaine qui sera par la suite sécurisé en https à l'aide d'un certificat ssl. Il s'agira également d'effectuer toute la configuration nécessaire à la mise en place de cette maquette que ce soit au niveau des routeurs, des commutateurs, ou des points d'accès wifi.
INSTALLATION DES SYSTEMES D'EXPLOITATION
Installation sur hp Stream x360
Avant d'accéder au bios du hp Stream x360 pour y installer un autre système d'exploitation, on configure rapidement le pc sous Windows pour lui donner un joli nom de poisson, le mien s'appellera Shark.
Nous allons travailler sur Linux, il faudra donc installer une image Debian sur le Shark, on prendra une Debian 8 amd64 que l'on téléchargera sur une clé usb. On se servira ensuite de cette clé pour booter le Shark sur linux.
Cela n'est possible que si on enlève la sécurité activée par défaut pour empêcher le pc de booter sur un OS non reconnu par le constructeur. Ce standard de sécurité est appelé secure boot, pour le désactiver:
- Accéder au bios en appuyant sur F10 dès le démarrage du pc.
- Dans boot configuration, aller sur boot secure et choisir disable.
On peut à présent insérer la clé d'installation de la Debian dans le pc Shark et le booter sur cette clé.
La configuration du réseau sera réalisée manuellement avec les informations suivantes:
- Adresse IP: 172.20.103.0
- Masque réseau: 255.255.255.0
- Passerelle: 172.20.102.254
- DNS: 193.48.57.178
- Nom de la machine: Shark
- Nom de domaine: deule.net
- Nom d'utilisateur: pifou
- Les mots de passes utilisés sont ceux habituellement utilisés pour pifou et superutilisateur
Configuration de la partition:
Pour pouvoir allouer de l'espace à notre Debian, on diminue l'espace dédié à Windows à 8Gb ce qui est plus que suffisant puisqu'on ne va pas s'en servir.
Pour la Debian, on suit la partition assistée et on choisit le plus grand espace disponible.
Configuration de l'outil de gestion des paquets:
- Pays: France
- Miroir de l'archive Debian: debian.polytech-lille.fr
- Mandataire http: http://proxy.polytech-lille.fr:3128</i>
</ul>
L'installation de la Debian est à présent NORMALEMENT terminée, il suffit de rebooter.
Au moment du redémarrage, on a voulu voir si Windows pouvait quand même se lancer normalement, mais au démarrage de Windows, ce dernier a détecté des données "parasites" et a fait un clean :) Toute la configuration précédemment réalisée est perdue. Cela dit, on arrive à voir qu'il existe encore une Debian, et après plusieurs tentatives de récupération, on se résigne à passer par F9 -> OS from EFI file -> entrer -> enter -> Debian à chaque démarrage du PC Shark pour aller sur linux.
Je le vis bien :)Installation sur la VM
Création de la VM
1- Se connecter en ssh sur cordouanssh root@cordouan.insecserv.deule.net
2- Créer ma VM qui s'appellera Pegase avec une Debian (serveur virtuel xen)xen-create-image --hostname Pegase --ip 193.48.57.178 --dir /usr/local/xen
3- Voir l'état d'avancement :tail -f /var/log/xen-tools/Pegase.log
Connexion à la VM avec xl
Avant de se connecter à ma VM, assigner plus de mémoire (1024M au lieu de 128M) et indiquer le bridge IMA2a5 dans le /etc/xen/Pegase.cfg
Se connecter à la VM avec:xl console Pegase
Modifier le fichier /etc/ssh/sshd_config, mettre: allow root loginwithout passwordyes
Modifier /etc/inittab/, mettre : 1:2345:[...]:tty1hvc0
Connexion à la VM avec ssh
La connexion via le serveur virtuel xen n'est pas sécurisée, une fois que l'on aura configuré la sécurisation il faudra se connecter à la VM en ssh. Pour cela, on passe par une machine weppes avec: ssh nzerhoun@weppes puis on se connecte sur la VM avec : ssh root@193.48.57.178ARCHITECTURE RESEAU
Le travail réalisé dans cette partie est complémentaire à celui des autres étudiants, pour pouvoir configurer l'architecture du réseau que nous mettons en place. Ma tâche consiste à configurer un des deux commutateurs utilisés pour ce projet. Il faudra donc créer des VLAN et configurer les ports FastEthernet et Gigabit.Configuration du commutateur en E306
La première étape consiste à connecter le poste au commutateur en question, cette connexion est réalisée sur l'USB2, cette information est obtenue en tapant la commande ls /dev/ttyUSB* après que la liaison série ait été établie.
Il a ensuite fallu se mettre en minicom afin d'administrer le commutateur en ligne de commande via son port console.
On configure ensuite les noms et interfaces des différents VLANs utilisés.
Le tableau ci-dessous liste les noms et interfaces associés aux VLANs.
N° Nom Interface Mode 2 Puduc FastEthernet 3/2 Access 3 Nounours FastEthernet 3/3 Access 4 Jeuno FastEthernet 3/4 Access 5 Relax FastEthernet 3/5 Access 6 John FastEthernet 3/6 Access 7 Loki FastEthernet 3/7 Access 8 Papy FastEthernet 3/8 Access 10 Hub FastEthernet 3/10 Access 131 Interco FastEthernet 3/31 Access
SERVICE INTERNET
Sécurisation de serveur DNS par DNSSEC
Réservation nom de domaine
Réserver le nom de domaine licornedacier.lol pour associer un nom de domaine à mon adresse IP. Pour cela, utiliser le registrar Gandi : http://www.gandi.net
Configuration du DNS
Dans /etc/resolv.conf, mettre l'adresse IP de localhost (127.0.0.1) plutôt que celle du serveur de l'école pour que par défaut, il ne passe plus par le serveur de l'école qui renvoie vers Gandi, mais qu'il aille directement sur licornedacier.lol
Connexion du Shark en Wifi: serveur ssh
Taper la commande ifconfig pour récupérer mon adresse MAC et la donner à Maxime qui m'autorise l'accès au wifi.
De mon coté, faire: apt-get purge network-manager pour supprimer network-manager et ses fichiers de configuration.
Préciser que je veux me connecter sur le réseau wifi de maxime qui est le T2: iwconfig wlan0 essid T2
Reconfigurer mon interface network avec:
auto wlan0<br />iface wlan0 inet static wireless-mode managed wireless-essid T2 wireless-key 1111111111 address 172.26.79.60 netmask 255.255.240.0 gateway 172.26.79.254
Activer l'interface: ifup wlan0Sécurisation de site web par certificat
Dans cette partie, il faut demander un certificat à Gandi. On commence par se connecter à la VM Pegase en ssh et installer dessus mailx qui est un éditeur de mail, et postfix, un serveur de messagerie.
La commande pour les installer est la suivante:apt-get install bsd-mailx portfix
On configure le mailname du postfix avec licornedacier.lol
On vérifie également la bonne propagation du serveur DNS depuis une machine locale avec la commande:host --t any licornedacier.lol
On édite ensuite le fichier /etc/aliasesen y ajoutant l'alias : admin: root afin de pouvoir envoyer les mail à admin@licornedacier.lol
Pour vérifer que l'on a bien configuré la messagerie, on envoi un mail à l'adresse admin@licornedacier.lol, puis depuis la VM, on tape mailx et on voit que le message a bien été reçu.
La configuration de la messagerie est nécessaire pour pouvoir sécuriser le site car à l'achat du certificat SSL, la confirmation est envoyée par mail.
Pour obtenir le certificat, on procède de la manière suivante:- Sur gandi.net: acheter certificat SSL standard
- Taper la commande permettant de générer la clé CSR depuis la VM:
openssl req -nodes -newkey rsa:2048 -sha1 -keyout licornedacier.lol -out licornedacier.csr
- Remplir le informations demandées en faisant bien attention de ne pas se tromper sur le common name: licornedacier.lol</pre>
- Faire un cat de licornedacier.csr et copier/coller ce qu'il y a dedans dans le bloc réservé à la CSR sur gandi.net puis commander le certificat.
- Consulter les mails avec mailx et entrer le code reçu pour confirmer la demande du certificat.
</ul>
Pour prendre en compte le HTTPS, taper la commande:a2ensite 000-domain.tld-ssl a2enmod ssl service apache2 reload service apache2 restart
Sécurisation du serveur DNS par DNSSEC
On commence par modifier le fichier named.conf.options en y mettant: dnssec-enable yes, puis on créé le répertoire /etc/bind/licornedacier pour y stocker les clefs.
On créé ensuite la clé asymétrique à l'aide de la commande:dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE -r /dev/urandom licornedacier.lol
On recomme ensuite les clés générées:mv *.key licornedacier-ksk.key
mv *.private licornedacier-ksk.private
On créé ensuite la clé asymétrique de la zone pour signer les enregistrements:dnssec-keygen -a RSASHA1 -b 1024 -n ZONE -r /dev/urandom licornedacier.lol
On modifie le fichier db.licornedacier pour y inclure les clés publiques générées puis on signe les enregistrements de la zone en tapant la commande :dnssec-signzone -o licornedacier.lol -k licornedacier-ksk ../db.licornedacier licornedacier-zsk <br />On modifie le named.conf.local en remplaçant file <b>/etc/bind/db.licornedacier</b> par file <b>/etc/bind/db.licornedacier.signed</b> <br />On peut à présent communiquer la KSK à Gandi. <br />Après à moment plus ou moins long, on peut vérifier que licornedacier et bien sécurisée à l'aide de site tels que https://www.zonemaster.fr/ <br /><br /> <h2>Test d'intrusion</h2> <h3>Intrusion par changement d'adresse MAC</h3> <br />Afin de pouvoir me connecter en Wifi sur le réseau de Marouane, à qui je n'ai pas transmit mon adresse MAC, il suffit de suivre les étapes suivantes: <br />Modifier la configuration dans /etc/interfaces en changeant T2 en T1 et en remplaçant la clé wifi de Maxime par celle de Marouane. <br />Arrêter la connexion précédente avec /etc/network/init.d/networking stop <br />Modifier mon adresse MAC en prenant une @MAC que Marouane reconnaît dans son réseau wifi, la commande est: ifconfig wlan0 hw ether 00:15:af:e6:ed:c4 <br />Relancer une connexion avec /etc/init.d/networking start <h3>Cassage de clé WEP d'un point d'accès Wifi</h3> <br />Nous allons dans cette partie utiliser le paquetage aircrack pour obtenir une clé WEP d'un réseau WiFi par intrusion. <br />On insère dans un premier temps une clé WiFi qu'on configure en mode monitor, puis on repère le WiFi dont on veut récupérer la WEP, ici, ce sera le cracotte03. <br />Pour passer la clé WiFi en mode monitor, on utilise la commande airmon du paquetage aircrack. Pour activer le monitor la commande est: <b>aitmon-ng start wlan1</b>, lorsqu'on entre cette commande on a un message qui nous informe que quelque processus en cours pourraient interférer et qu'il faudrait les arrêter. Pour cela, il suffit d'un <b>airmon-ng check kill</b> avant d'activer le monitor. <br />Pour confirmer le passage de la clé en mode monitor, le message suivant doit s'afficher: <i>monitor mode enabled on mon0</i>. <br />On fait maintenant un état des lieux des réseaux alentour avec <b>airodump-ng mon0</b> et on repère le BSSID et le canal du Wifi qu'on cible, ici ce sera le cracotte03 se trouvant sur le canal 5. Afin de capturer le paquet qu'on utilisera ensuite pour casser la clé WEP, on complète le airodump par le BSSID et le numéro de canal, et on donne un nom au fichier dans lequel on va stocker les information du point d'accès et du client. La commande est la suivante: <b>airodump-ng mon0 --channel 5 --bssid 01:DA:D2:9C:50:52 -w pt_acces_nour</b> puis on se rapproche du point d'accès ciblé. <br />On peut maintenant lancer aircrack (dans un autre terminal) sur le .cap généré avec la commande: <b>aircrack-ng pt_acces_nour-01.cap</b> <br />Après une petite dizaine de minutes, la clé WEP du cracotte03 est crackée! La voici: <b>AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AB:BB</b> <br /><h3>Cassage de mot de passe WPA PSK par force brute</h3> <br />La technique utilisée pour trouver le mot de passe d'un Wifi sécurisé par WPA est différente car on va procéder à une attaque par force brute. On va utiliser aircrack pour rechercher le mot de passe mais il faudra définir un dictionnaire contenant les 10^9 possibilités, car on sait déjà que ce mot de passe contient 8 caractères de type chiffre. Précisons tout de même qu'au delà de 8 caractères, trouver le mot de passe d'identification par WPA-PSK devient très compliqué. <br />On commence donc par écouter les trames d'identification échangées avec <b>airodump-ng mon0</b>, on prend le même WiFi cracotte03 (dont la sécurisation a été soigneusement modifiée par Mr. REDON pour passer en WPA2) qui maintenant est sur le canal 7. <br />On relance l'écoute en précisant le BSSID et le numéro de canal du cracotte03, puis on vérifie qu'on a bien un handshake qui se créé au moment de l'authentification et qui est indispensable pour lancer le dictionnaire. Pour vérifier l'existence du handshake: <b>aircrack-ng pt_acces_wpa-02.cap</b> <br />Dès qu'on voit qu'on a bien un handshake, on peut passer à l'étape suivante qui consiste à charger et lancer le dictionnaire. <br />Cette étape sera réalisée sur une Zabeth car elle est plus puissante et pourra exécuter la recherche de mot de passe plus rapidement, on copie donc le handshake (fichier .cap) récupéré dans la Zabeth. <br />On réalise un programme qui génère le 1 milliards de combinaisons possibles pour un mot de passe de 8 chiffres, on mettra ce dernier au même endroit que le pt_acces_wpa-02.cap <h2>RÉALISATIONS</h2> <h3>Sécurisation Wifi par WPA2-EAP</h3> <br />Pour sécuriser le wifi en WPA2-EAP, on commence par installer le serveur d'identification sur réseau virtuel <b>FreeRadius</b> sur la VM, puis on modifie le fichier /etc/freeradius/eap.conf en remplaçant le default_eap_type md5 par peap. <br />On modifie également le fichier /etc/freeradius/client.conf en remplaçant le client 192.168.0.0/24 par 172.20.99.0/24 <br />On remplace respectivement le secret et le shortname mis par défaut par: <b>topsecret</b> et <b>wifi</b> <br />On renseigne à présent un login/mot de passe dans le fichier users: <pre> login : nour mdp : psswdnour
La dernière étape consiste à configurer le point d'accès wifi.
Configuration du point d'accès</h2>
On commence par se connecter en telnet au point d'accès avec la commande:telnet 172.20.99.5
Une fois connecté au point d'accès, on suit les instructions de configuration fournies sur le support de TP et concernant la sécurisation du wifi en WPA2-EAP.
Ci-dessous un exemple de la configuration réalisée:ap#conf t ap(config)#interface dot11Radio 0.3 ap(config-subif)#encapsulation dot1Q 3 ap(config-subif)#bridge-group 3 ap(config-subif)#exit ap(config)#int GigabitEthernet 0.3 ap(config-subif)#encapsulation dot1Q 3 ap(config-subif)#bridge-group 3 ap(config-subif)#exit ap(config)#exit ap#write
Une fois cette configuration réalisée, il ne reste plus qu'à modifier le fichier /etc/network/interfaces du Shark pour se connecter sur le SSID de mon réseau par un simple ifup wlan0. Le SSID choisi est: Pegase_WPA2-EAP
Afin de se connecter sur la borne wifi avec le Shark avec un simple ifup wlan0, on ajoute les lignes suivantes au fichier de configuration de l'interface:iface wlan0 inet static wpa-ssid Pegase_WPA2-EAP wpa-key-mgmt WPA-EAP wpa-identity nour wpa-password psswdnour
CONCLUSION
Il a apporté une réelle valeur ajoutée à mes connaissances en systèmes et réseaux, et m'a permis de mieux appréhender ce domaine.
Travailler sur ce projet a été très bénéfique pour moi car c'est un projet complet ou on touche à plusieurs aspects des réseaux, que ce soit au niveau du câblage, de la configuration, ou de la sécurisation par certificat.