TP sysres IMA2a5 2016/2017 G5 : Différence entre versions
(→PROJET RESEAUX) |
(→DNSSEC) |
||
(8 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 32 : | Ligne 32 : | ||
== Configuration du routeur == | == Configuration du routeur == | ||
+ | |||
+ | Afin de connecter notre client wifi, chaque personne reçoit une plage d'adresse IP. | ||
+ | Chaque plage correspond à un vlan, comme nous pouvons le voir ci-dessous : | ||
{| class="wikitable centre" width="100%" | {| class="wikitable centre" width="100%" | ||
Ligne 96 : | Ligne 99 : | ||
| 193.48.57.176/28 | | 193.48.57.176/28 | ||
|} | |} | ||
− | |||
− | |||
− | |||
− | |||
− | + | === Connexion au commutateur de HUGO === | |
− | + | J'ai tout d'abord raccordé mon routeur au commutateur de HUGO par une fibre sur mon port gigabit0/49. | |
− | J'ai | + | Ensuite afin de me connecter au routeur je me suis connecter via ssh à la machine tutur06 sur laquelle j'ai branché mon routeur. |
+ | Une fois sur la tutur06, je me suis connecté au routeur à l'aide de minicom -os (port ttyUSB0, 9600 baud). | ||
+ | |||
+ | Par la suite j'ai configurer le port gi0/49 en mode trunk afin de s'échanger les paquets des différents VLAN : | ||
+ | |||
+ | <pre> | ||
en | en | ||
configure terminale | configure terminale | ||
Ligne 115 : | Ligne 119 : | ||
exit | exit | ||
write | write | ||
+ | </pre> | ||
+ | |||
+ | Afin de vérifier si la configuration a bien été prise en compte, j'utilise la commande suivante : | ||
+ | |||
+ | <pre> sh int status </pre> | ||
− | + | === Connexion au commutateur de OTMANE === | |
− | + | Afin d'établir la liaison etherchannel avec otmane, j'ai tout d'abord connecté 8 cable ethernet de mon routeur à son commutateur. | |
+ | Ensuite j'ai regroupé mes ports 1 à 8 de la manière suivante : | ||
+ | <pre> | ||
configure terminal | configure terminal | ||
interface range Gi0/1 - 8 | interface range Gi0/1 - 8 | ||
channel-group 1 mode active | channel-group 1 mode active | ||
exit | exit | ||
+ | </pre> | ||
+ | Enfin je configure le channel-group en mode trunk : | ||
+ | <pre> | ||
interface port-channel 1 | interface port-channel 1 | ||
switchport trunk encapsulation dot1q | switchport trunk encapsulation dot1q | ||
switchport mode trunk | switchport mode trunk | ||
+ | </pre> | ||
+ | === Connexion au routeur de l'école === | ||
− | |||
− | |||
− | |||
− | + | Afin de connecter mon routeur a internet par le routeur de l'école, je l'ai relié par la fibre sur les ports 51/52 (port ten gigabit Te0/2) | |
Le vlan du routeur de l'école est le 131, j'ai donc mis le tengigabit Te0/2 dans le vlan 131. | Le vlan du routeur de l'école est le 131, j'ai donc mis le tengigabit Te0/2 dans le vlan 131. | ||
+ | Cette fois-ci c'est en mode access qu'il faut le configurer car il y a qu'un seul vlan : | ||
+ | <pre> | ||
interface tengigabit0/2 | interface tengigabit0/2 | ||
switchport | switchport | ||
switchporte mode access | switchporte mode access | ||
switchport access vlan 131 | switchport access vlan 131 | ||
+ | </pre> | ||
+ | J'ai ensuite affecter l'adresse IP à mon vlan 131 : | ||
− | + | <pre> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
conf t | conf t | ||
int vlan 131 | int vlan 131 | ||
Ligne 156 : | Ligne 167 : | ||
exit | exit | ||
write | write | ||
+ | </pre> | ||
− | + | Afin d'échanger ma table de routage avec le routeur de l'école j'utilise le protcole OSPF : | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | <pre> | ||
router ospf 1 | router ospf 1 | ||
router-id 10.60.20.2 | router-id 10.60.20.2 | ||
Ligne 181 : | Ligne 186 : | ||
redistribute static subnets route-map ospf | redistribute static subnets route-map ospf | ||
network 192.168.222.8 0.0.0.7 area 2 | network 192.168.222.8 0.0.0.7 area 2 | ||
+ | </pre> | ||
+ | |||
+ | === Configuration VLAN et HSRP === | ||
− | + | Afin d'assurer la redondance dans notre réseau nous utilisons la technologie HSRP. | |
+ | Cela permet aux routeurs situés dans un même groupe (que l’on nomme « standby group ») de former un routeur virtuel qui sera l’unique passerelle des hôtes du réseau local. | ||
+ | |||
+ | Par exemple pour mon vlan 26 (vlan de XEN), j'ai affecter l'adresse IP 193.48.57.189 et l'adresse IP 193.48.57.188 qui sera l'adresse virtuelle connu par les machines : | ||
+ | |||
+ | <pre> | ||
+ | int vlan 26 | ||
+ | ip address 193.48.57.189 255.255.255.240 | ||
+ | standby 1 ip 193.48.57.188 | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | Ensuite je configure le vlan de chaque personne de la meme maniere en utilisant 10.60.X.2 pour l'adresse réel de mon routeur et 10.60.X.3 pour l'adresse virtuelle (voir tableau) | ||
+ | |||
+ | Dimitri quant à lui à l'adresse 10.60.X.1 pour l'adresse réel et la même adresse virtuelle 10.60.X.3 | ||
== Serveur DNS == | == Serveur DNS == | ||
+ | === DNS === | ||
+ | Sur le site de gandi j'ai acheté un nom de domaine '''nador.top''', ensuite j'ai précisé sur le site d'utiliser mon serveur DNS comme dns primaire (''dns.nador.top 193.48.57.177'') et le serveur dns de gandi en secondaire (''ns6.gandi.net 217.70.177.40''). | ||
− | + | Lors de l'installation de ma VM, j'ai installé bind9, afin de le configurer il faut réaliser les étapes suivantes : | |
− | + | Dans etc/bind/named.conf.options il faut ajouter: | |
− | + | <pre> | |
+ | allow-transfer { "allowed_to_transfer"; }; | ||
}; | }; | ||
Ligne 197 : | Ligne 222 : | ||
217.70.177.40/32; | 217.70.177.40/32; | ||
}; | }; | ||
+ | </pre> | ||
− | + | Il faut également ajouter dans etc/bind/named.conf.local : | |
− | + | <pre> | |
− | |||
− | |||
zone "nador.top" { | zone "nador.top" { | ||
type master; | type master; | ||
file "/etc/bind/fichier_d_adresses"; | file "/etc/bind/fichier_d_adresses"; | ||
}; | }; | ||
+ | </pre> | ||
− | |||
+ | Dans ''fichier_d_adresses'', écrire : | ||
+ | |||
+ | <pre> | ||
$TTL 259200 | $TTL 259200 | ||
Ligne 224 : | Ligne 251 : | ||
www IN A 193.48.57.177 | www IN A 193.48.57.177 | ||
dns IN A 193.48.57.177 | dns IN A 193.48.57.177 | ||
+ | </pre> | ||
− | Attention il faut changer le numero de version à chaque modification, il est également important de bien vérifier la syntaxe, pour ma part j'avais oublier un arobase et un point | + | Attention il faut changer le numero de version à chaque modification, il est également important de bien vérifier la syntaxe, pour ma part j'avais oublier un arobase et un point |
− | + | Apres chaque modification il faut restart le service bind9 : | |
+ | <pre> service bind9 restart </pre> | ||
Pour debugger, il faut regarder dans /var/log/daemon.log | Pour debugger, il faut regarder dans /var/log/daemon.log | ||
+ | Une fois le serveur DNS opérationnel,nous pouvons indiqué a notre VM de l'utilisé,dans /etc/resolv.conf : | ||
+ | <pre> 127.0.0.1 </pre> | ||
+ | === DNSSEC === | ||
− | + | Afin de mettre en place le DNSSEC, la première étape consiste à l'autoriser en ajoutant l'option suivante dans le fichier '' named.conf.options'' : | |
+ | <pre> dnssec-enable yes; </pre> | ||
− | + | Creation d'un repertoire qui va contenir nos clefs asymétriques : | |
− | |||
+ | <pre> mkdir nador.top.dnssec </pre> | ||
+ | Génération de la clef asymétrique de signature de clefs de zone | ||
− | + | <pre> dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE nador.top </pre> | |
− | |||
− | |||
− | + | Génération de la clef asymétrique de la zone pour signer les enregistrements | |
− | |||
− | + | <pre> dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE nador.top </pre> | |
− | + | Ensuite nous incluons les clefs publiques dans notre fichier de zone : | |
− | Ensuite | ||
− | + | <pre> | |
− | + | $include /etc/bind/nador.top.dnssec/nador.top-ksk.key | |
+ | $include /etc/bind/nador.top.dnssec/nador.top-zsk.key | ||
+ | </pre> | ||
+ | Enfin nous signons les enregistrements de la manière suivante : | ||
− | + | <pre> | |
+ | dnssec-signzone -o nador.top -k nador.top-ksk ../fichier_d_adresses nador.top-zsk | ||
+ | </pre> | ||
− | + | == Serveur de messagerie == | |
+ | Afin de recevoir les mails envoyé à postmaster@nador.top il est nécessaire d'avoir un serveur de messagerie. | ||
+ | Dans notre cas nous avons choisit postfix : | ||
− | + | <pre> apt-get install postfix </pre> | |
− | + | Il faut par la suite indiquer le nom de domaine dans les paramétres de postfix puis rediriger admin vers root dans le fichier etc/aliases | |
+ | puis taper la commande suivante pour mettre à jour les alias : | ||
+ | <pre> newaliases </pre> | ||
− | + | Ensuite j'ai installé un client de messagerie | |
− | + | ||
+ | <pre> apt-get install bsd-mailx </pre> | ||
+ | |||
+ | Puis en tapant la commande mail je peux checker mes mails. | ||
+ | Un petit test via ma boite mail personnel ma permis de vérifié le bon fonctionnement de postfix. | ||
+ | |||
+ | == Certificat SSL == | ||
+ | |||
+ | Nous avions installé le serveur web apache, néanmoins le site web n'est pas sécurisé. | ||
+ | Lors de l'achat d'un nom de domaine, Gandi nous permet d'obtenir un certificat SSL gratuit pendant un an. | ||
+ | |||
+ | |||
+ | Il faut tout d'abor utiliser open ssl afin de générer les clefs asymétriques: | ||
− | + | <pre> openssl req -nodes -newkey rsa:2048 -sha256 -keyout monserveur.key -out serveur.csr </pre> | |
+ | Cette commande lance un questionnaire,pays, ville, administration ... il est nécessaire de préciser le nom de domaine à sécurisé(voir le wiki gandi). | ||
+ | Ensuite cela génére 2 fichiers (serveur.csr qui correspond a la clé publique et mon_serveur.key qui correspond à la clé privé) | ||
− | + | Il faut copier le contenu de serveur.csr pour l'indiquer sur le site gandi | |
+ | Gandi nous retourne un fichier texte que l'on place dans le répertoire du site (var/www/html), puis entre dans un processus de validation (un peu d'attente est nécessaire). | ||
− | |||
+ | Apres avoir copier le certificat primaire, la clé privé et le certificat intermediaire dans /etc/ssl. | ||
+ | |||
+ | Il faut configurer le fichier suivant /etc/apache2/sites-enabled/000-default.conf : | ||
+ | <pre> | ||
<VirtualHost *:443> | <VirtualHost *:443> | ||
ServerName nador.top | ServerName nador.top | ||
Ligne 288 : | Ligne 345 : | ||
SSLVerifyClient None | SSLVerifyClient None | ||
</VirtualHost> | </VirtualHost> | ||
+ | </pre> | ||
+ | == Cassage de clef WEP == | ||
− | |||
+ | Apres avoir connecter la clé wifi, il est necessaire d'identifier l'interface wifi : | ||
+ | <pre> | ||
iwconfig | iwconfig | ||
+ | </pre> | ||
+ | |||
+ | Cela m'a permit de voir que m'a clé wifi est sur l'interface '''wlan3''' | ||
+ | |||
+ | Afin de placer la clé wifi en mode observateur du réseau nous utilisons la commande suivante : | ||
+ | |||
− | wlan3 | + | <pre> airmon-ng start wlan3 </pre> |
− | + | Puis nous capturons les paquets à l'aides de airodump : | |
− | airodump | ||
− | + | <pre> airodump-ng mon0 --bssid @MAC -c 8 -w crack </pre> | |
− | + | Cela nous génére un fichier .cap, nous utilisons donc aircrack pour casser la clé : | |
− | + | <pre> aircrack-ng crack-01.cap </pre> |
Version actuelle datée du 2 décembre 2016 à 10:30
Sommaire
PROJET RESEAUX
Machine virtuelle
La première étape du Projet a été d'installer les machines virtuelle sur notre serveur. En effet nous disposons d'un seul serveur pour 6, la virtualisation permet donc de diviser notre serveur en plusieurs VM. Pour ce faire nous utilisons XEN, un hyperviseur de machine virtuelle. Une fois connecté sur notre serveur via un ssh (cordouan.insecserv.deule.net), nous utilisons la commande xen -create image. Il faudra juste préciser le nom de la VM (Pnl pour ma part), l'adresse IP (193.48.57.177), le netmask 255.255.255.240, le gateway 193.48.57.191 et le repertoire ou les disques virtuelles sont installés (--dir /usr/local/xen).
Afin de lancer la machine virtuelle il faut utiliser la commande suivante :
xl create /etc/xen/Pnl.cfg
Une fois lancer nous pouvons voir la liste des VM ouverte :
xl list
Enfin afin d'accéder à la VM, nous utilisons la commande suivante :
xl console Pnl
Nous nous connectons ensuite en root à l'aide du mot de passe habituel.
Par la suite nous installons les paquets ssh, apache2 (serveur web) et bind9 (serveur dns):
apt-get install ssh
apt-get install apache2
apt-get install bind9 bind9utils
Configuration du routeur
Afin de connecter notre client wifi, chaque personne reçoit une plage d'adresse IP. Chaque plage correspond à un vlan, comme nous pouvons le voir ci-dessous :
N° VLAN | Prénom | Réseau local | @IP réel routeur | @IP virtuelle routeur | Nom VM | @IP VM |
---|---|---|---|---|---|---|
VLAN20 | Dimitri | 10.60.20.0/24 | 10.60.20.2/24 | 10.60.20.3/24 | Vald | 193.48.57.182/28 |
VLAN21 | Nabil | 10.60.21.0/24 | 10.60.21.2/24 | 10.60.21.3/24 | Pnl | 193.48.57.177/28 |
VLAN22 | Otmane | 10.60.22.0/24 | 10.60.22.2/24 | 10.60.22.3/24 | Lartiste | 193.48.57.178/28 |
VLAN23 | Hugo | 10.60.23.0/24 | 10.60.23.2/24 | 10.60.23.3/24 | Gradur | 193.48.57.179/28 |
VLAN24 | Clement | 10.60.24.0/24 | 10.60.24.2/24 | 10.60.24.3/24 | Gringe | 193.48.57.180/28 |
VLAN25 | Joan | 10.60.25.0/24 | 10.60.25.2/24 | 10.60.25.3/24 | Orelsan | 193.48.57.181/28 |
VLAN26 | XEN | 193.48.57.176/28 |
Connexion au commutateur de HUGO
J'ai tout d'abord raccordé mon routeur au commutateur de HUGO par une fibre sur mon port gigabit0/49. Ensuite afin de me connecter au routeur je me suis connecter via ssh à la machine tutur06 sur laquelle j'ai branché mon routeur. Une fois sur la tutur06, je me suis connecté au routeur à l'aide de minicom -os (port ttyUSB0, 9600 baud).
Par la suite j'ai configurer le port gi0/49 en mode trunk afin de s'échanger les paquets des différents VLAN :
en configure terminale interfaces gi0/49 switchport switchport trunk encapsulation dot1q switchport mode trunk exit exit write
Afin de vérifier si la configuration a bien été prise en compte, j'utilise la commande suivante :
sh int status
Connexion au commutateur de OTMANE
Afin d'établir la liaison etherchannel avec otmane, j'ai tout d'abord connecté 8 cable ethernet de mon routeur à son commutateur. Ensuite j'ai regroupé mes ports 1 à 8 de la manière suivante :
configure terminal interface range Gi0/1 - 8 channel-group 1 mode active exit
Enfin je configure le channel-group en mode trunk :
interface port-channel 1 switchport trunk encapsulation dot1q switchport mode trunk
Connexion au routeur de l'école
Afin de connecter mon routeur a internet par le routeur de l'école, je l'ai relié par la fibre sur les ports 51/52 (port ten gigabit Te0/2) Le vlan du routeur de l'école est le 131, j'ai donc mis le tengigabit Te0/2 dans le vlan 131. Cette fois-ci c'est en mode access qu'il faut le configurer car il y a qu'un seul vlan :
interface tengigabit0/2 switchport switchporte mode access switchport access vlan 131
J'ai ensuite affecter l'adresse IP à mon vlan 131 :
conf t int vlan 131 ip address 192.168.222.10 255.255.255.248 exit exit write
Afin d'échanger ma table de routage avec le routeur de l'école j'utilise le protcole OSPF :
router ospf 1 router-id 10.60.20.2 log-adjacency-changes summary-address 10.60.20.0 255.255.255.0 summary-address 10.60.21.0 255.255.255.0 summary-address 10.60.22.0 255.255.255.0 summary-address 10.60.23.0 255.255.255.0 summary-address 10.60.24.0 255.255.255.0 summary-address 10.60.25.0 255.255.255.0 summary-address 193.48.57.176 255.255.255.240 redistribute connected subnets redistribute static subnets route-map ospf network 192.168.222.8 0.0.0.7 area 2
Configuration VLAN et HSRP
Afin d'assurer la redondance dans notre réseau nous utilisons la technologie HSRP. Cela permet aux routeurs situés dans un même groupe (que l’on nomme « standby group ») de former un routeur virtuel qui sera l’unique passerelle des hôtes du réseau local.
Par exemple pour mon vlan 26 (vlan de XEN), j'ai affecter l'adresse IP 193.48.57.189 et l'adresse IP 193.48.57.188 qui sera l'adresse virtuelle connu par les machines :
int vlan 26 ip address 193.48.57.189 255.255.255.240 standby 1 ip 193.48.57.188
Ensuite je configure le vlan de chaque personne de la meme maniere en utilisant 10.60.X.2 pour l'adresse réel de mon routeur et 10.60.X.3 pour l'adresse virtuelle (voir tableau)
Dimitri quant à lui à l'adresse 10.60.X.1 pour l'adresse réel et la même adresse virtuelle 10.60.X.3
Serveur DNS
DNS
Sur le site de gandi j'ai acheté un nom de domaine nador.top, ensuite j'ai précisé sur le site d'utiliser mon serveur DNS comme dns primaire (dns.nador.top 193.48.57.177) et le serveur dns de gandi en secondaire (ns6.gandi.net 217.70.177.40).
Lors de l'installation de ma VM, j'ai installé bind9, afin de le configurer il faut réaliser les étapes suivantes :
Dans etc/bind/named.conf.options il faut ajouter:
allow-transfer { "allowed_to_transfer"; }; }; acl "allowed_to_transfer" { 217.70.177.40/32; };
Il faut également ajouter dans etc/bind/named.conf.local :
zone "nador.top" { type master; file "/etc/bind/fichier_d_adresses"; };
Dans fichier_d_adresses, écrire :
$TTL 259200 @ IN SOA dns.nador.top. postmaster.nador.top. ( 12 ; Version 7200 ; Refresh (2h) 3600 ; Retry (1h) 1209600 ; Expire (14j) 259200 ) ; Minimum TTL (3j) IN A 193.48.57.177 IN NS dns.nador.top. IN NS ns6.gandi.net. IN MX 100 dns.nador.top. www IN A 193.48.57.177 dns IN A 193.48.57.177
Attention il faut changer le numero de version à chaque modification, il est également important de bien vérifier la syntaxe, pour ma part j'avais oublier un arobase et un point Apres chaque modification il faut restart le service bind9 :
service bind9 restart
Pour debugger, il faut regarder dans /var/log/daemon.log
Une fois le serveur DNS opérationnel,nous pouvons indiqué a notre VM de l'utilisé,dans /etc/resolv.conf :
127.0.0.1
DNSSEC
Afin de mettre en place le DNSSEC, la première étape consiste à l'autoriser en ajoutant l'option suivante dans le fichier named.conf.options :
dnssec-enable yes;
Creation d'un repertoire qui va contenir nos clefs asymétriques :
mkdir nador.top.dnssec
Génération de la clef asymétrique de signature de clefs de zone
dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE nador.top
Génération de la clef asymétrique de la zone pour signer les enregistrements
dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE nador.top
Ensuite nous incluons les clefs publiques dans notre fichier de zone :
$include /etc/bind/nador.top.dnssec/nador.top-ksk.key $include /etc/bind/nador.top.dnssec/nador.top-zsk.key
Enfin nous signons les enregistrements de la manière suivante :
dnssec-signzone -o nador.top -k nador.top-ksk ../fichier_d_adresses nador.top-zsk
Serveur de messagerie
Afin de recevoir les mails envoyé à postmaster@nador.top il est nécessaire d'avoir un serveur de messagerie. Dans notre cas nous avons choisit postfix :
apt-get install postfix
Il faut par la suite indiquer le nom de domaine dans les paramétres de postfix puis rediriger admin vers root dans le fichier etc/aliases puis taper la commande suivante pour mettre à jour les alias :
newaliases
Ensuite j'ai installé un client de messagerie
apt-get install bsd-mailx
Puis en tapant la commande mail je peux checker mes mails. Un petit test via ma boite mail personnel ma permis de vérifié le bon fonctionnement de postfix.
Certificat SSL
Nous avions installé le serveur web apache, néanmoins le site web n'est pas sécurisé. Lors de l'achat d'un nom de domaine, Gandi nous permet d'obtenir un certificat SSL gratuit pendant un an.
Il faut tout d'abor utiliser open ssl afin de générer les clefs asymétriques:
openssl req -nodes -newkey rsa:2048 -sha256 -keyout monserveur.key -out serveur.csr
Cette commande lance un questionnaire,pays, ville, administration ... il est nécessaire de préciser le nom de domaine à sécurisé(voir le wiki gandi).
Ensuite cela génére 2 fichiers (serveur.csr qui correspond a la clé publique et mon_serveur.key qui correspond à la clé privé)
Il faut copier le contenu de serveur.csr pour l'indiquer sur le site gandi Gandi nous retourne un fichier texte que l'on place dans le répertoire du site (var/www/html), puis entre dans un processus de validation (un peu d'attente est nécessaire).
Apres avoir copier le certificat primaire, la clé privé et le certificat intermediaire dans /etc/ssl.
Il faut configurer le fichier suivant /etc/apache2/sites-enabled/000-default.conf :
<VirtualHost *:443> ServerName nador.top ServerAlias www.nador.top DocumentRoot /var/www/html CustomLog /var/log/apache2/secure_access.log combined SSLEngine on SSLCertificateFile /etc/ssl/certs/nador.top.crt SSLCertificateKeyFile /etc/ssl/private/nador.top.key SSLCertificateChainFile /etc/ssl/certs/GandiStandardSSLCA2.pem SSLVerifyClient None </VirtualHost>
Cassage de clef WEP
Apres avoir connecter la clé wifi, il est necessaire d'identifier l'interface wifi :
iwconfig
Cela m'a permit de voir que m'a clé wifi est sur l'interface wlan3
Afin de placer la clé wifi en mode observateur du réseau nous utilisons la commande suivante :
airmon-ng start wlan3
Puis nous capturons les paquets à l'aides de airodump :
airodump-ng mon0 --bssid @MAC -c 8 -w crack
Cela nous génére un fichier .cap, nous utilisons donc aircrack pour casser la clé :
aircrack-ng crack-01.cap