TP sysres IMA2a5 2017/2018 G6 : Différence entre versions
(→Sécurisation avec DNSSEC) |
(→Sécurisation avec DNSSEC) |
||
Ligne 194 : | Ligne 194 : | ||
On google dns viz pour avoir l'image suivante : | On google dns viz pour avoir l'image suivante : | ||
+ | |||
[[Fichier:Paixdieu.space-2017-11-29-15 32 36-UTC.png]] | [[Fichier:Paixdieu.space-2017-11-29-15 32 36-UTC.png]] | ||
Version du 29 novembre 2017 à 17:51
Introduction
L'objectif de ce TP est de réaliser un réseau fonctionnel connectant un ensemble de machines physiques et virtuelles à internet en passant par le réseau de l'école. Les équipements que nous utiliserons seront des routeurs, des commutateurs et des bornes wifi, chacun configurés en redondance. La tâche particulière de notre groupe sera de configurer les routeurs CISCO 3560 et 4331, reliant les commutateurs au réseau de l'école.
Table des Vlans
VLAN | N° | Adresse IPV4 | | Adresse IPV6 Réseau | 1 | 10.100.0.0/24 | .1 Routeur 3560 | Pas besoin d'adresse | | | .2 Routeur 4331 | | | | .3 Commutateur 4006 | | | | .4 Borne WIFI 1 | | | | .5 Borne WIFI 2 | | | | .6 Commutateur 6006 | Binôme1 | 2 | 10.200.0.0/24 | .1 Routeur 3560 | 2001.660.4401.60B9::/64 | | | .2 Routeur 4331 | | | | .254 Gateway Virtuelle | Binôme2 | 3 | 10.200.0.0/24 | .1 Routeur 3560 | 2001.660.4401.60BA::/64 | | | .2 Routeur 4331 | | | | .254 Gateway Virtuelle | Binôme3 | 4 | 10.200.0.0/24 | .1 Routeur 3560 | 2001.660.4401.60BB::/64 | | | .2 Routeur 4331 | | | | .254 Gateway Virtuelle | Binôme4 | 5 | 10.200.0.0/24 | .1 Routeur 3560 | 2001.660.4401.60BC::/64 | | | .2 Routeur 4331 | | | | .254 Gateway Virtuelle | Binôme5 | 6 | 10.200.0.0/24 | .1 Routeur 3560 | 2001.660.4401.60BD::/64 | | | .2 Routeur 4331 | | | | .254 Gateway Virtuelle | Binôme6 | 7 | 10.200.0.0/24 | .1 Routeur 3560 | 2001.660.4401.60BE::/64 | | | .2 Routeur 4331 | | | | .254 Gateway Virtuelle | XEN | 8 | 193.48.57.160/28 | .161 Routeur 3560 | 2001.660.4401.60B9::/64 | | | .162 Routeur 4331 | | | | .163 PaixDieu | | | | .164 trappe | | | | .165 duvel | | | | .166 deus | | | | .167 Karmeliet | | | | .168 RinceCochon | | | | .174 Gateway Virtuelle | IntercoIMA2A5| 131 | 192.168.222.8/29 | .0 -> .7 IMA5SE | | | | .9 Routeur 3560 | FE80::2 | | | .10 Routeur 4331 | FE80::3 | | | .14 Routeur école | FE80::1 | | | .15 Diffusion |
I) Machine Virtuelle
1. Création de la machine virtuelle
La première étape est de créer la machine virtuelle avec la commande xen-create-image, de la manière suivante :
xen-create-image --hostname=PaixDieu --dhcp --dir=/usr/local/xen
On installe ensuite un système linux en version stretch de la manière suivante
deboot strap strectch /stretch_chroot http://debian.polytech-lille.fr/debian unshare -f-p-n-u chroot stretch_chroot /bin/bash //création des conteneurs unshare -f-p-n-u chroot stretch_chroot2 /bin/bash
On rentre ensuite dans la machine virtuelle pour monter le fstab
mount -t proc proc /proc
2. Configuration du pont entre les 2 machines
Sur la Zabeth (idem avec vif2):
ip link add vif1 type veth peer name eth0@vif1 ip link add monPont type brdige ip link set vif1 master monPont ip link set eth0@vif1 netns /proc/9862/ns/eth0 //9862 état le PID du processus unshare
Sur les 2 machines on tape ensuite
ip address add dev ip link set dev eth0 up
Et enfin sur la zabeth on active le pont :
ip link set vif1 up ip link set vif2 up ip link set monPont up
3. Système de fichiers
ssh root.cordouan.insecserv lvcreate -L10G -nIMA2A5_PaixDieu_var virtual lvcreate -L10G -nIMA2A5_PaixDieu_home virtual mke2fs /dev/virtual/IMA2A5_PaixDieu_var mke2fs /dev/virtual/IMA2A5_PaixDieu_home
On rajoute ensuite un disque physique dans PaixDieu.cfg
phy:/dev/virtual/IMA2A5_PaixDieu_home, xvdb1,w phy:/dev/virtual/IMA2A5_PaixDieu_var, xvdb2,w
Dans la machine virtuelle maintenant :
mkfs -t ext4 /dev/xvdb1 mkfs -t ext4 /dev/xvdb2 mount /dev/xvdb2/mnt mv /var/* /mnt/
Dans fstab on ajoute
/dev/xvdb1 /home ext 4 defaults 02 /dev/xvdb1 /home ext 4 defaults 03
Enfin on peut monter :
unmount /mnt mount -a lsblk //Pour vérifier que tout c'est bien passé
4. Configuration du serveur DNS
Accès par HTTP
La première étape consiste à réserver un nom de domaine chez Gandi. Nous réservons donc ainsi le PaixDieu.space, du nom de notre breuvage.
Ensuite, on va modifier le contenu de divers fichiers de etc/bind/ dans la machine xen pour qu'elle puisse répondre au serveur DNS.
Dans etc/bind/named.conf.options on ajoute :
acl "allowed_to_transfer" { //Pour autoriser la communication DNS->notre machine 217.70.177.40/32; //Aucun pèlerinage ne fut nécessaire pour trouver l'adresse de Gandi };
On configure ensuite notre domaine dans named.conf.local
zone "PaixDieu.space" { type master; file "/etc/bind/PaixDieu.space"; };
Cela implique donc de créer ledit fichier PaixDieu.space sur le modèle du fichier local :
$TTL 259200 @ IN SOA dns.PaixDieu.space. admin.PaixDieu.space. ( 15520 ; Version 7200 ; Refresh 3600 ; Retry 1209600 ; Expire 259200 ) ; Min TTL IN NS dns.PaixDieu.space. IN NS ns6.gandi.net. IN MX 100 dns.PaixDieu.space. IN A 193.48.57.163 dns IN A 193.48.57.163 IN MX 100 dns.PaixDieu.space. www IN A 193.48.57.163
Il faut ensuite créer le glue record de notre xen sur le site de gandi, en indiquant comme name dns.PaixDieu.space et comme adress 193.48.57.163 (l'adresse de la machine dans le vlan xen). On peut ensuite lancer la demande pour rendre actif le dns avec notre machine. Cela prend un certain temps, mais Gandi finit toujours par répondre à nos prières, #noBullshit. C'est par mail que Gandi nous fera part de sa réponse, c'est pourquoi installer le client mail sur notre xen est la prochaine étape.
Pour se faire, on installera PostFix avec un désormais classique apt-get
apt-get install postfix bsd-mailx
Ensuite pour rendre fonctionelle notre adresse mail admin@PaixDieu.space, on crée un alias root dans le fichier /etc/aliases, suivi de root : admin pour faire suivre les mails qui arriveront. On essaye d'envoyer un mail de test à admin@PaixDieu.space, et on le recoit bien dans postfix sur la xen
A ce point il est possible de se connecter au site de notre machine à l'adresse http://www.paixdieu.space
Accès par HTTPS
Pour sécuriser la connexion au site, on implémente le https grâce à certificat SSL. Pour cela on commence par générer le csr dans le /root avec
openssl -reg -nodes -newkey -rsa : 2048 -sha256 -keyout myserver.key -out server.csr
A ce stade il est très important de saisir le common name dans le side de gandi comme PaixDieu.space, sinon il faudra racheter un certificat... La clé se situe alors dans server.csr et on sera capable de générer le certificat.
Nous attendons alors le mail de gandi pour avoir notre clé publique, une fois recue, nous disposons des deux clés nécessaires pour l'implémentation.
On tape les commandes suivantes pour initialiser la fonction SSL :
a2enmod ssl a2ensite default-ssl //Pour créer le fichier default-ssl service apache2 restart
On active le certificat en rentrant les clés transmises par gandi dans les fichiers suivants :
cp PaixDieu.crt /etc/ssl/certs/ //clé publique cp PaixDieu.key /etc/ssl/private/PaixDieu.key //clé privée cp GandiStandardSSLCA2.pem /etc/ssl/certs/ //commande standard requise par gandi
Il crée alors par défaut le fichier etc/apache2/sites-available/default-ssl.conf, que l'on viendra modifier en ajoutant :
ServerName PaixDieu.space SSLEngine on SSLCertificateFile /etc/ssl/certs/PaixDieu.crt SSLCertificateKeyFile /etc/ssl/private/PaixDieu.key SSLCertificateChainFile /etc/ssl/certs/GandiStandardSSLCA2.pem //On supprime par la même occasion la ligne référencant DocumentRoot
Pour pouvoir accéder au site sans préciser HTTPS, on ajoute dans etc/apache2/sites-available/000-default.conf
Redirect permanent / https://paixdieu.space
Ca y est, on peut bien accéder au site en tapant simplement paixdieu.space dans l'url, et on a bien à gauche le cadenas du certificat qui s'affiche.
Sécurisation avec DNSSEC
On rajoute dans PaixDieu.space
//au début du fichier $include /etc/bind/PaixDieu.space.dnssec/PaixDieu.space-ksk.key $include /etc/bind/PaixDieu.space.dnssec/PaixDieu.space-zsk.key
On google dns viz pour avoir l'image suivante :
II) Tache particulière : Config Routeurs
1. Routeur CISCO 3560
configuration des vlans :
sdm prefer dual default //Commande nécessaire pour pouvoir utiliser la commande ipv6 reboot ipv6 unicast rooting //pour l'échange de routes IPV6 (RIP)
configure terminal interface vlan 1 ip address 10.100.0.1 255.255.255.0 exit interface vlan 131 ip address 192.168.222.9 255.255.255.248 //IPV4 - pas besoin de HSRP ipv6 address fe80::2 link-local //IPV6 ipv6 enable ipv6 rip tpima2a5 enable //Echange de routes IPV6 exit ip rooting interface vlan 2 ip address 100.200.1.2 255.255.255.000 //IPV4 standby 0 ip 100.200.1.254 //Déclaration adresse virtuelle par HSRP standby 0 preempt ipv6 address 2001:660:4401:60B9::/64 eui-64 //IPV6 ipv6 enable ipv6 nd prefix 2001:660:4401:60B9::/64 1000 900 //Donner un préfixe IPV6 à chaque machine ipv6 nd router-preference High //Définition priorité pour la redondance exit interface vlan 3 ip address 100.200.2.2 255.255.255.000 //IPV4 standby 0 ip 100.200.2.254 //Déclaration adresse virtuelle par HSRP standby 0 preempt ipv6 address 2001:660:4401:60BA::/64 eui-64 //IPV6 ipv6 enable ipv6 nd prefix 2001:660:4401:60BA::/64 1000 900 //Donner un préfixe IPV6 à chaque machine ipv6 nd router-preference High //Définition priorité pour la redondance exit interface vlan 4 ip address 100.200.3.2 255.255.255.000 //IPV4 standby 0 ip 100.200.3.254 //Déclaration adresse virtuelle par HSRP standby 0 preempt ipv6 address 2001:660:4401:60BB::/64 eui-64 //IPV6 ipv6 enable ipv6 nd prefix 2001:660:4401:60BB::/64 1000 900 //Donner un préfixe IPV6 à chaque machine ipv6 nd router-preference High //Définition priorité pour la redondance exit interface vlan 5 ip address 100.200.4.2 255.255.255.000 //IPV4 standby 0 ip 100.200.4.254 //Déclaration adresse virtuelle par HSRP standby 0 preempt ipv6 address 2001:660:4401:60BB::/64 eui-64 //IPV6 ipv6 enable ipv6 nd prefix 2001:660:4401:60BB::/64 1000 900 //Donner un préfixe IPV6 à chaque machine ipv6 nd router-preference High //Définition priorité pour la redondance exit interface vlan 6 ip address 100.200.5.2 255.255.255.000 //IPV4 standby 0 ip 100.200.5.254 //Déclaration adresse virtuelle par HSRP standby 0 preempt ipv6 address 2001:660:4401:60BC::/64 eui-64 //IPV6 ipv6 enable ipv6 nd prefix 2001:660:4401:60BC::/64 1000 900 //Donner un préfixe IPV6 à chaque machine ipv6 nd router-preference High //Définition priorité pour la redondance exit interface vlan 7 ip address 100.200.6.2 255.255.255.000 //IPV4 standby 0 ip 100.200.6.254 //Déclaration adresse virtuelle par HSRP standby 0 preempt ipv6 address 2001:660:4401:60BD::/64 eui-64 //IPV6 ipv6 enable ipv6 nd prefix 2001:660:4401:60BD::/64 1000 900 //Donner un préfixe IPV6 à chaque machine ipv6 nd router-preference High //Définition priorité pour la redondance exit interface vlan 8 ip address 193.48.57.161 255.255.255.240 //IPV4 standby 0 ip 193.48.57.174 //Déclaration adresse virtuelle par HSRP standby 0 preempt ipv6 address 2001:660:4401:60B8::/64 eui-64 //IPV6 ipv6 enable ipv6 nd prefix 2001:660:4401:60B8::/64 1000 900 //Donner un préfixe IPV6 à chaque machine ipv6 nd router-preference High //Définition priorité pour la redondance exit exit
configure terminal router ospf 1 //Pour l'échange de routes ipv4 router-id 10.100.0.1 log-adjacency-changes summary address 193.48.57.160 255.255.255.240 redistribute connected subnets network 192.168.222.8 0.0.0.7 area 60 exit exit
configure terminal ipv6 router rip tpima2a5 //Pour l'échange de routes ipv6 redistribute connected metric1 exit exit
Spanning Tree :
spanning-tree mode pvst spanning-tree etherchannel guard misconfig spanning-tree extend system-id
Configuration des ports ethernet: La connexion avec le commutateur 4006 se fait par une liaison etherchannel de 8 câbles ethernet : GigabitEthernet0/1-15 (impairs)
interface TenGigabitEthernet0/2 //Vers cordouan switchport mode access switchport access vlan131 exit interface Port-channel1 switchport trunk encapsulation dot1q switchport mode trunk ! interface GigabitEthernet0/1 switchport trunk encapsulation dot1q switchport mode trunk channel-group 1 mode active ! interface GigabitEthernet0/3 switchport trunk encapsulation dot1q switchport mode trunk channel-group 1 mode active ! interface GigabitEthernet0/5 switchport trunk encapsulation dot1q switchport mode trunk channel-group 1 mode active ! interface GigabitEthernet0/7 switchport trunk encapsulation dot1q switchport mode trunk channel-group 1 mode active ! interface GigabitEthernet0/9 switchport trunk encapsulation dot1q switchport mode trunk channel-group 1 mode active ! interface GigabitEthernet0/11 switchport trunk encapsulation dot1q switchport mode trunk channel-group 1 mode active ! interface GigabitEthernet0/13 switchport trunk encapsulation dot1q switchport mode trunk channel-group 1 mode active ! interface GigabitEthernet0/15 switchport trunk encapsulation dot1q switchport mode trunk channel-group 1 mode active ! interface GigabitEthernet0/17 //Vers le commutateur 6006 switchport trunk encapsulation dot1q switchport mode trunk !
2. Routeur CISCO 4331
Avant tout, nous avons changé l'OS du routeur, en effet, la version isr4300-universalk9.03.13.04.S.154-3.S4-ext.SPA.bin ne prend pas en charge les Spanning Tree pour les mécanismes de redondance... Nous avons donc installé la version isr4300-universalk9.03.16.05.S.155-3.S5-ext.SPA.bin
configuration des vlans :
configure terminal interface BDI1 ip address 10.100.0.2 255.255.255.0 standby ip 10.100.0.254 exit interface BDI131 ip address 192.168.222.10 255.255.255.248 //IPV4 - pas besoin de HSRP ipv6 address fe80::3 link-local //IPV6 ipv6 enable ipv6 rip tpima2a5 enable //Echange de routes IPV6 exit interface BDI2 ip address 100.200.1.2 255.255.255.000 //IPV4 standby 0 ip 100.200.1.254 //Déclaration adresse virtuelle par HSRP standby 0 preempt ipv6 address 2001:660:4401:60B9::/64 eui-64 //IPV6 ipv6 enable ipv6 nd prefix 2001:660:4401:60B9::/64 1000 900 //Donner un préfixe IPV6 à chaque machine ipv6 nd router-preference Low //Définition priorité pour la redondance exit interface BDI3 ip address 100.200.2.2 255.255.255.000 //IPV4 standby 0 ip 100.200.2.254 //Déclaration adresse virtuelle par HSRP standby 0 preempt ipv6 address 2001:660:4401:60BA::/64 eui-64 //IPV6 ipv6 enable ipv6 nd prefix 2001:660:4401:60BA::/64 1000 900 //Donner un préfixe IPV6 à chaque machine ipv6 nd router-preference Low //Définition priorité pour la redondance exit interface BDI4 ip address 100.200.3.2 255.255.255.000 //IPV4 standby 0 ip 100.200.3.254 //Déclaration adresse virtuelle par HSRP standby 0 preempt ipv6 address 2001:660:4401:60BB::/64 eui-64 //IPV6 ipv6 enable ipv6 nd prefix 2001:660:4401:60BB::/64 1000 900 //Donner un préfixe IPV6 à chaque machine ipv6 nd router-preference Low //Définition priorité pour la redondance exit interface BDI5 ip address 100.200.4.2 255.255.255.000 //IPV4 standby 0 ip 100.200.4.254 //Déclaration adresse virtuelle par HSRP standby 0 preempt ipv6 address 2001:660:4401:60BC::/64 eui-64 //IPV6 ipv6 enable ipv6 nd prefix 2001:660:4401:60BC::/64 1000 900 //Donner un préfixe IPV6 à chaque machine ipv6 nd router-preference Low //Définition priorité pour la redondance exit interface BDI6 ip address 100.200.5.2 255.255.255.000 //IPV4 standby 0 ip 100.200.1.254 //Déclaration adresse virtuelle par HSRP standby 0 preempt ipv6 address 2001:660:4401:60BD::/64 eui-64 //IPV6 ipv6 enable ipv6 nd prefix 2001:660:4401:60BD::/64 1000 900 //Donner un préfixe IPV6 à chaque machine ipv6 nd router-preference Low //Définition priorité pour la redondance exit interface BDI7 ip address 100.200.6.2 255.255.255.000 //IPV4 standby 0 ip 100.200.6.254 //Déclaration adresse virtuelle par HSRP standby 0 preempt ipv6 address 2001:660:4401:60BE::/64 eui-64 //IPV6 ipv6 enable ipv6 nd prefix 2001:660:4401:60BE::/64 1000 900 //Donner un préfixe IPV6 à chaque machine ipv6 nd router-preference Low //Définition priorité pour la redondance exit interface BDI8 ip address 193.48.57.161 255.255.255.240 //IPV4 standby ip 193.48.57.174 //Déclaration adresse virtuelle par HSRP standby preempt ipv6 address 2001:660:4401:60B8::/64 eui-64 //IPV6 ipv6 enable ipv6 nd prefix 2001:660:4401:60B8::/64 1000 900 //Donner un préfixe IPV6 à chaque machine ipv6 nd router-preference Low //Définition priorité pour la redondance exit exit
configure terminal router ospf 1 //Pour l'échange de routes ipv4 router-id 10.100.0.1 log-adjacency-changes summary address 193.48.57.160 255.255.255.240 redistribute connected subnets network 192.168.222.8 0.0.0.7 area 60 exit exit
configure terminal ipv6 router rip tpima2a5 //Pour l'échange de routes ipv6 redistribute connected metric1 exit exit ipv6 unicast rooting //pour l'échange de routes IPV6 (RIP)
Pour le spanning tree on tape donc :
spanning-tree mode pvst
configuration des ports :
interface GigabitEthernet0/0/0 //Vers le Commutateur 6006 no ip address negotiation auto media-type sfp service instance 1 ethernet encapsulation dot1q 1 rewrite ingress tag pop 1 symmetric bridge-domain 1 ! service instance 2 ethernet encapsulation dot1q 2 rewrite ingress tag pop 1 symmetric bridge-domain 2 ! service instance 3 ethernet encapsulation dot1q 3 rewrite ingress tag pop 1 symmetric bridge-domain 3 ! service instance 4 ethernet encapsulation dot1q 4 rewrite ingress tag pop 1 symmetric bridge-domain 4 ! service instance 5 ethernet encapsulation dot1q 5 rewrite ingress tag pop 1 symmetric bridge-domain 5 ! service instance 6 ethernet encapsulation dot1q 6 rewrite ingress tag pop 1 symmetric bridge-domain 6 ! service instance 7 ethernet encapsulation dot1q 7 rewrite ingress tag pop 1 symmetric bridge-domain 7 ! service instance 8 ethernet encapsulation dot1q 8 rewrite ingress tag pop 1 symmetric bridge-domain 8 ! service instance 131 ethernet encapsulation dot1q 131 rewrite ingress tag pop 1 symmetric bridge-domain 131 ! ! interface GigabitEthernet0/0/1 //Vers le routeur de l'école no ip address negotiation auto service instance 131 ethernet encapsulation dot1q 131 bridge-domain 131 ! ! interface GigabitEthernet0/0/2 //Vers le Commutateur 4006 no ip address negotiation auto media-type sfp service instance 1 ethernet encapsulation dot1q 1 rewrite ingress tag pop 1 symmetric bridge-domain 1 ! service instance 2 ethernet encapsulation dot1q 2 rewrite ingress tag pop 1 symmetric bridge-domain 2 ! service instance 3 ethernet encapsulation dot1q 3 rewrite ingress tag pop 1 symmetric bridge-domain 3 ! service instance 4 ethernet encapsulation dot1q 4 rewrite ingress tag pop 1 symmetric bridge-domain 4 ! service instance 5 ethernet encapsulation dot1q 5 rewrite ingress tag pop 1 symmetric bridge-domain 5 ! service instance 6 ethernet encapsulation dot1q 6 rewrite ingress tag pop 1 symmetric bridge-domain 6 ! service instance 7 ethernet encapsulation dot1q 7 rewrite ingress tag pop 1 symmetric bridge-domain 7 ! service instance 8 ethernet encapsulation dot1q 8 rewrite ingress tag pop 1 symmetric bridge-domain 8 ! service instance 131 ethernet encapsulation dot1q 131 rewrite ingress tag pop 1 symmetric bridge-domain 131 ! !
3. Test de la redondance
Afin de tester le fonctionnement correct du réseau complet, nous avons testé le fonctionnement lorsque nous coupons un des 2 routeurs. Résultat : ping sur google toujours fonctionnel après l'arrêt indépendant de chaque routeur. Les différents binômes ont eu à changer l'adresse de la gateway vers l'adresse virtuelle 193.48.57.174 afin de toujours pouvoir accéder au réseau malgré la coupure d'un des routeurs.