TP sysres IMA2a5 2016/2017 G6
Sommaire
Introduction et objectif du TP
Le TP réseau et système s'est déroulé sous forme d'un projet. L'objectif de celui-ci est la réalisation d'un réseau redondant ainsi permettre à des machine virtuelle d'accéder à internet. Ces VM héberge chacune un nom de domaine(site internet). Dans ce projet, plusieurs aspects ont été en jeu:
- Aspect système:
- Création d'une machine virtuelle Xen, celle-ci est orientée serveur contrairement à kvm(vue en quatrième année qui était orientée session de travail).
- Installation des services notamment WEB et DNS que nous sécuriserons par un certificat.
- Et encore plusieurs tâches abordées dans ce manuscrit.
- Aspect réseau:
- Le réseau devait être redondant. Voici un schéma présentant l'architecture globale du réseau:
.
Nous disposions de deux routeurs dont un est plus moderne et effectue la commutation ethernet ainsi que le routage. Nous avions également deux commutateurs et deux points d'accès wifi. L'ensemble de ce matériel devait être configuré afin de répondre au cahier des charges : réseau redondant avec accès à internet.
Les deux routeurs devaient être connectés aux 2 commutateurs connectés à nos vm sur le serveur cordouan (serveur de virtualisation).
Par la suite, nous allons détailler le déroulement du TP.
Déroulement du TP
Création de la machine virtuelle
La première tâche du TP réalisée consistait à créer une machine virtuelle sur le serveur cordouan. Pour cela, on se connecte sur le serveur:
ssh root@cordouan.insecserv.deule.net
Ensuite la vm qui porte le nom Lartiste (thème de rappeur) a été créée:
xen-create-image --hostname Lartiste --ip 193.48.57.178 --dir /etc/xen
Pour démarrer la machine créée:
xl create /etc/xen/Lartiste.cfg
Et puis pour accéder à la vm, on se met dans le répertoire /etc/xen:
xl console Lartiste
Ou bien, en utilisant la commande xl list qui permet de visualiser les machines démarrées ainsi on accède à la vm avec la commande:
xl console n° de la vm
Partie Réseau
Tâche particulière
Chaque monôme avait une tâche particulière à réaliser. Ma tâche Configuration du commutateur en salle E304 comprend les points suivants:
- Configuration etherchannel entre mon commutateur et le routeur de Nabil(Routeur dans la même salle E304).
- configuration du point d'accès wifi.
- Liaison avec le commutateur d'Hugo en salle E306.
- Liaison avec le routeur de Dimitri en salle E306.
- Connecter le serveur Cordouan à mon commutateur.
- Configuration des ports et création des vlans pour le test de connexion.
la partie réseau a été entamée en listant les vlans ainsi que la liste des réseaux IP correspondant aux différents vlans.
VLAN | Prénom | Réseau | Nom de la VM | IP de la VM |
---|---|---|---|---|
VLAN20 | Dimitri | 10.60.20.0/24 | Vald | 193.48.57.182/28 |
VLAN21 | Nabil | 10.60.21.0/24 | Pnl | 193.48.57.177/28 |
VLAN22 | Otmane | 10.60.22.0/24 | Lartiste | 193.48.57.178/28 |
VLAN23 | Hugo | 10.60.23.0/24 | Gradur | 193.48.57.179/28 |
VLAN24 | Clement | 10.60.24.0/24 | Gringe | 193.48.57.180/28 |
VLAN25 | Joan | 10.60.25.0/24 | Orelsan | 193.48.57.181/28 |
VLAN26 | XEN | 193.48.57.176/28 | # | # |
Ensuite, l'identification des ports sur le commutateur a été effectuée.
- Concernant l'etherchannel : les ports de 2/1 à 2/8 ports Gigabit
- Le port 9 pour le point d'accès wifi port Gigabit
- Le port 10 pour le serveur Cordouan(Xen) avec une liaison cuivre
- Le Port 1/1 pour la liaison avec le routeur de Dimitri, une liaison par fibre
- Le Port 1/2 pour la liaison avec le routeur d'Hugo, une liaison par fibre
configuration du commutateur
Afin de configurer le commutateur, minicom a été utilisé. Nous devons vérifier sur quel port a lieu la liaison série avec le commutateur. La commande ls /dev/ttyUSB*. Désormais nous pouvons accéder à la configuration du commutateur en paramétrant correctement minicom.
Etherchannel
Etherchannel est une tâche de commutation particulière qui consiste à connecter le commutateur sur le routeur avec plusieurs liens regroupés logiquement en un seul lien. D’un point de vu logique comme si on avait une seul interface constitué de plusieurs connexions différentes. Cette configuration est dans le but d'augmenter la vitesse entre le commutateur et le routeur. Une liaison avec le routeur par huit fils a été réalisée car seul huit liens peuvent être actifs simultanément. Voici la configuration réalisée:
>enable #conf term #interface range GigabitEthernet 2/1-8 //Configuration des 8 premiers ports #switchport trunk encapsulation dot1q #switchport mode trunk // en mode trunk afin de pouvoir faire passer plusierus vlans. #channel-protocol lacp //création du groupe Etherchannel #channel-group 1 mode active //activation des ports #no shut #exit #write
Pour vérifier notre configuration de l'etcherchannel show etherchannel
Switch#show etherchannel Channel-group listing: ---------------------- Group: 1 ---------- Group state = L2 Ports: 8 Maxports = 8 Port-channels: 1 Max Port-channels = 1 Protocol: LACP
Configuration du point d'accès wifi
Le port numéro 2/9 du commutateur a été configuré pour le point d'accès wifi.
>en #config termi #interface GigabitEthernet 2/9 #switchport trunk encapsulation dot1q #switchport mode trunk #no shut #exit #write
Liaison du commutateur avec le routeur de Dimitri
à cette étape, nous étions amené à connecter ainsi que câbler mon commutateur(salle E304) avec le routeur de Dimitri(en salle E306). La connexion est par fibre sur le port Gi1/1. La configuration suivante a été effectuée:
>en #config termi #interface GigabitEthernet 1/1 #switchport #switchport trunk encapsulation dot1q #switchport mode trunk #no shut #exit #write
Liaison des deux commutateurs
Initialement cette étape n'était pas prévue, or comme le commutateur en salle E306 ne pouvait pas être connecté à cordouan nous étions amenés à connecter les deux commutateurs à savoir celui en salle E306 et le commutateur en salle E304. Le commutateur d'Hugo a été connecté sur le port Gi1/2 de mon commutateur en mode trunk. La configuration suivante a été effectuée:
>en #config termi #interface GigabitEthernet 1/2 #switchport #switchport trunk encapsulation dot1q #switchport mode trunk #no shut #exit #write
Création des vlans
Dans cette partie, sept vlans ont été créés dans le commutateur, six pour chaque monôme ainsi qu'un vlan pour la machine Xen. Ainsi la configuration des vlan:
>en #config termi #vlan 20 #name Dimitri // on donne un nom au vlan
Ensuite on associe le vlan 20 au port 13 du commutateur:
#interface GigabitEthernet 2/13 #switchport mode access #switchport access vlan 20 #no shut #exit #write
De la même façon les les six autre vlans ont été configurés. Voici le résultat final obtenu avec la commande show vlan:
show vlan VLAN Name Status Ports ---- -------------------------------- --------- ------------------------------- Fa3/47, Fa3/48, Gi5/1, Gi5/2 Gi5/3, Gi5/4, Gi5/5, Gi5/6 20 Dimitri active Gi2/13 21 Nabil active Gi2/14 22 Otmane active Gi2/15 23 Hugo active Gi2/16 24 Clement active Gi2/17 25 Joan active Gi2/18 26 Xen active Gi2/10 131 Interco active
Liaison du commutateur avec Cordouan
Dans cette étape le serveur Cordouan qui contient nos machines xen a été câblé avec le commutateur. La liaison est en ethernet cuivre. Le port numéro 10 du commutateur a été configuré en vlan 26 pour être relié avec le serveur codouan. La configuration suivante va permettre au vlan 26 de se connecter avec le commutateur.
>en #config termi #interface GigabitEthernet2/10 #switchport access vlan 26 #switchport mode access #no shut #exit #write
Le commutateur doit être câbler au serveur cordouan ou sur eth6 ou eth7, il a fallu connaître le bon port parmi plusieurs. La commande suivante permet de le savoir :
ethtool eth6 //ou eth7
Cette commande a été répétée jusqu'à l’obtention de link Detected, avec speed : 1000Mb/s.
Visualisation de la configuration du commutateur
Afin de visualiser la configuration finale du commutateur, la commande show configuration est utilisée, en voici le résultat:
Switch# show configuration Using 1666 out of 479212 bytes, uncompressed size = 5142 bytes ! version 12.2 no service pad service timestamps debug uptime service timestamps log uptime no service password-encryption service compress-config ! hostname Switch ! boot-start-marker boot system bootflash:cat4500-entservicesk9-mz.122-31.SG.bin boot-end-marker ! ! no aaa new-model ip subnet-zero ! ! ! ! ! ! power supplies required 2 no file verify auto spanning-tree mode pvst ! vlan internal allocation policy ascending ! interface Port-channel1 switchport switchport trunk encapsulation dot1q switchport mode trunk ! interface GigabitEthernet1/1 switchport trunk encapsulation dot1q switchport mode trunk ! interface GigabitEthernet1/2 switchport trunk encapsulation dot1q switchport mode trunk ! interface GigabitEthernet2/1 switchport trunk encapsulation dot1q switchport mode trunk channel-group 1 mode active ! interface GigabitEthernet2/2 switchport trunk encapsulation dot1q switchport mode trunk channel-group 1 mode active ! interface GigabitEthernet2/3 switchport trunk encapsulation dot1q switchport mode trunk channel-group 1 mode active ! interface GigabitEthernet2/4 switchport trunk encapsulation dot1q switchport mode trunk channel-group 1 mode active ! interface GigabitEthernet2/5 switchport trunk encapsulation dot1q switchport mode trunk channel-group 1 mode active ! interface GigabitEthernet2/6 switchport trunk encapsulation dot1q switchport mode trunk channel-group 1 mode active ! interface GigabitEthernet2/7 switchport trunk encapsulation dot1q switchport mode trunk channel-group 1 mode active ! interface GigabitEthernet2/8 switchport trunk encapsulation dot1q switchport mode trunk channel-group 1 mode active ! interface GigabitEthernet2/9 switchport trunk encapsulation dot1q switchport mode trunk ! interface GigabitEthernet2/10 switchport access vlan 26 switchport mode access ! interface GigabitEthernet2/11 ! interface GigabitEthernet2/12 ! interface GigabitEthernet2/13 switchport access vlan 20 switchport mode access ! interface GigabitEthernet2/14 switchport access vlan 21 switchport mode access ! interface GigabitEthernet2/15 switchport access vlan 22 switchport mode access ! interface GigabitEthernet2/16 switchport access vlan 23 switchport mode access ! interface GigabitEthernet2/17 switchport access vlan 24 switchport mode access ! interface GigabitEthernet2/18 switchport access vlan 25 switchport mode access !
Afin de clôturer la configuration de la partie réseau, Des ping ont été réalisés.
Système
Accès internet
Arrivé à ce stade du tp, le réseau réalisé permet d'accéder à internet. Pour cela, une configuration de la VM est nécessaire. Dans le fichier /etc/network/interfaces les adresses convenable à ma plage d'adresse IP ont été ajoutées.
auto eth0 iface eth0 inet static address 193.48.57.178 netmask 255.255.255.240 gateway 193.48.57.190
Ensuite :
ifdown eth0 & ifup eth0
réserver un nom de domaine
Sur Gandi le nom de domaine sidislimane.top a été réservé.
Modification du proxy
Afin de pouvoir effectuer des apt-get(installation de package) le fichier de l'adresse proxy a été modifié. En effet l'ancienne adresse du proxy a été changée. La nouvelle est "http://helfaut.escaut.net:3128" à mettre dans le fichier /etc/apt/apt.conf.d/01proxy.
ssh
Le fichier de configuration du ssh a été modifié afin de pouvoir effectuer une connexion ssh avec root. Cependant la connexion n'est possible que depuis l'extérieur du réseau de l'école.
Installation des services
Seveur Web Apache2
apt-get install apache2
serveur DNS bind9
apt-get install bind9
Configuration
D'abord sur Gandi, l'adresse IP du nom du domaine a été ajoutée dans l'onglet Gérer les 'glue records'. Ensuite modification du fichier /etc/bind/named.conf.options
//dans /etc/bind/named.conf.options on ajoute l'option suivante allow-transfer { "allowed_to_transfer"; }; <br /> //on ajoute éaglement : acl "allowed_to_transfer" { 217.70.177.40/32; };
Le fichier de zone zLartise a été créé:
$TTL 259200 @ IN SOA dns.sidislimane.top. postmaster.sidislimane.top. ( 30 ; Version 7200 ; Refresh (2h) 3600 ; Retry (1h) 1209600 ; Expire (14j) 259200 ) ; Minimum TTL (3j) IN NS dns.sidislimane.top. IN NS ns6.gandi.net. IN A 193.48.57.178 IN MX 100 dns.sidislimane.top. www IN A 193.48.57.178 dns IN A 193.48.57.178
Le fichier de zone ne supporte pas les espaces en trop, c'est de là d'où provenait mon erreur. A noter un changement de version à chaque modification du fichier de zone. On Définit ensuite le nom de domaine en tant que zone:
zone "sidislimane.top" { type master; file "/etc/bind/zLartiste.signed"; };
A la fin des modifications on redémarre le serveur DNS.
service bind9 restart
On peut alors vérifier le fonctionnement de notre serveur DNS sur des sites comme : http://dnscheck.pingdom.com/ ou http://mxtoolbox.com/.
serveur email
Afin de recevoir des mails sur notre nom de domaine, nous sommes amenés installer un serveur email.
apt-get install postfix
Dans le fichier /etc/aliases on ajoute le nom du propriétaire du domaine admin : root. Ensuite on lance la commande newaliases afin de prendre en compte le nouveau 'aliase' créé. Finalement on vérifie que notre serveur mail fonctionne bien :
HTTPS
Sur le site de Gandi on achète un certificat afin de sécuriser notre site internet. La bonne nouvelle est que nous avons le droit à un certificat gratuit avec le nom de domaine réservé. Sur Gandi, la démarche pour la sécurisation par https est présentée. D'abord la clé asymétrique est générée :
openssl req -nodes -newkey rsa:2048 -sha256 -keyout monserveur.key -out serveur.csr Il faut ensuite renseigner quelques informations: Country Name (2 letter code) [AU]: FR State or Province Name (full name) [Some-State]: . Locality Name (eg, city) []: Lille Organization Name (eg, company) [Internet Widgits Pty Ltd]: Polytech Organizational Unit Name (eg, section) []: IMA Common Name (eg, YOUR name) []: sidislimane.top
Ensuite nous avons à récupérer du site Gandi notre certificat ainsi que le certificat intermédiaire. En plus de ces deux fichier on ajoute notre clé privée afin de mettre les trois fichiers dans le fichier de configuration /etc/apache2/sites-available/000-domain.tld-ssl.conf:
NameVirtualHost *:443 <VirtualHost 193.48.57.178:443> ServerName www.sidislimane.top ServerAlias sidislimane.top DocumentRoot /var/www/html CustomLog /var/log/apache2/secure_access.log combined SSLEngine on SSLCertificateFile /etc/ssl/certs/cert.crt SSLCertificateKeyFile /etc/ssl/cert.key SSLCertificateChainFile /etc/ssl/certs/gandi.crt SSLVerifyClient None </VirtualHost>
Redirection permanente vers https
Notre site web est à présent accessible en https toutefois le site reste accessible en http. Pour cela nous allons effectuer une redirection permanente de http vers https. Dans /etc/apache2/sites-available/000-default.conf:
<s>DocumentRoot /var/www/html</s> // on supprime cette ligne Redirect permanent / "https://www.sidislimane.top" // remplacé la ligne supprimée par celle-ci.
Le redémarrage du serveur web à ne pas oublier. A présent notre site web n’est disponible qu’en https : https://www.sidislimane.top.
DNSSEC
Le DNS a été sécurisé avec DNSSEC, un TLD qui permet de sécuriser jusque la racine. Dans le support la démarche est présentée. Tout d'abord il est nécessaire d'ajouter l'option:
//dans le fichier named.conf.options ; dnssec-enable yes; //créer le répertoire sidislimane.dnssec dans le répertoire /etc/bind/ //création de la clé asymétrique de signature de clefs de zone dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE sidislimane.top //création de la clef asymétrique de la zone pour signer les enregistrements dnssec-keygen -a RSASHA1 -b 1024 -n ZONE -r /dev/urandom sidislimane.top //renommage des deux paires de clefs obtenues mv Ksidislimane.top.+005+25198.key sidislimane-ksk.key mv Ksidislimane.top.+005+25198.private sidislimane-ksk.private //de même pour l'autre paire de fichier : sidislimane-zsk.key //mv Ksidislimane.top.+005+16590.key sidislimane-zsk.key sidislimane-zsk.private // mv Ksidislimane.top.+005+16590.private sidislimane-zsk.private Inclure les clefs publiques dans le fichier de zone zLartiste: N’oublions pas d'incrémenter la version du fichier. $include /etc/bind/sidislimane.dnssec/sidislimane-ksk.key $include /etc/bind/sidislimane.dnssec/sidislimane-zsk.key //ensuite signature des enregistrements de la zone dnssec-signzone -o sidislimane.top -k sidislimane-ksk ../zLartiste sidislimane-zsk //Le fichier de configuration est signé '''zLartiste.signed''' //Finalement le fichier named.con.local a été modifié afin de prendre en compte le nouveau fichier crée file "/etc/bind/zLartiste.signed";
Cassage de clé WEP
Nous disposions des eeepc afin d'effectuer cette manipulation. D'abord l'interface wifi a été identifiée via la commande iwconfig. Nous étions amenés à arrêter le mon0:
airmon-ng stop mon0
Ensuite wlan0 a été activé :
airmon-ng start wlan0
L’essid cracotte07 a été choisi pour l'attaque. Dans un autre terminal dans le même répertoire on lance notre attaque :
airodump-ng mon0 -c 8 --essid cracotte07 -w crack
Nous avons réussi à casser la clé au bout de la deuxième tentative par manque de données véhiculées. Résultat de l'attaque:
KEY FOUND! [ EE... 44] Decrypted correctly: 100%
Conclusion
Le TP a été très enrichissant, plusieurs notions et aspects ont été mis en pratique à savoir système et réseau. Le TP vient compléter les notions acquises en troisième et quatrième année.