TP sysres IMA2a5 2016/2017 G6

De Wiki de Projets IMA

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 machines virtuelles 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:

Arch réseau.jpg 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 :

mail

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:

DocumentRoot /var/www/html // on supprime cette ligne
Redirect permanent / "https://www.sidislimane.top" // remplacer 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.