TP sysres IMA2a5 2017/2018 G5 : Différence entre versions
(Page créée avec « Nous avons créé une machine virtuelle Xen sur cordouan.insecserv.deule.net qui s'appelle deus. Nous avons mis, en attendant que notre routeur soit paramétré, une adresse ... ») |
(→Sécurisation du serveur DNS avec DNSSEC) |
||
(6 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
+ | =Paramétrage de la machine virtuelle= | ||
+ | |||
+ | ==Configuration réseau== | ||
+ | |||
Nous avons créé une machine virtuelle Xen sur cordouan.insecserv.deule.net qui s'appelle deus. Nous avons mis, en attendant que notre routeur soit paramétré, une adresse IP du réseau insecure afin d'avoir accès à Internet. | Nous avons créé une machine virtuelle Xen sur cordouan.insecserv.deule.net qui s'appelle deus. Nous avons mis, en attendant que notre routeur soit paramétré, une adresse IP du réseau insecure afin d'avoir accès à Internet. | ||
Une fois le routeur paramétré, nous avons mis la configuration suivante : | Une fois le routeur paramétré, nous avons mis la configuration suivante : | ||
Ligne 7 : | Ligne 11 : | ||
gateway 193.48.57.161 | gateway 193.48.57.161 | ||
+ | ==Installation des paquets== | ||
Nous avons installé les paquets suivants : | Nous avons installé les paquets suivants : | ||
apt-get install openssh-server apache2 bind9 | apt-get install openssh-server apache2 bind9 | ||
+ | ==Montage des partitions == | ||
Ensuite, nous avons monté les /var et /home sur une partition LVM de cordouan. Pour ceci nous avons, sur cordouan, créé les partition du volume logique virtual avec les commandes : | Ensuite, nous avons monté les /var et /home sur une partition LVM de cordouan. Pour ceci nous avons, sur cordouan, créé les partition du volume logique virtual avec les commandes : | ||
lvcreate -L10G -nIMA2A5_deus_home virtual ; mke2fs /dev/virtual/IMA2A5_deus_home | lvcreate -L10G -nIMA2A5_deus_home virtual ; mke2fs /dev/virtual/IMA2A5_deus_home | ||
Ligne 24 : | Ligne 30 : | ||
Le préfixe 'phy' est présent pour indiquer que c'est une partition physique, puis ajouter le chemin des 2 partitions créée, indiquer leur nom (qui sera accessible sur la machine virtuelle) qui sera xvdb1 et 2. Le 'w' est pour indiquer qu'on est en écriture sur le disque. | Le préfixe 'phy' est présent pour indiquer que c'est une partition physique, puis ajouter le chemin des 2 partitions créée, indiquer leur nom (qui sera accessible sur la machine virtuelle) qui sera xvdb1 et 2. Le 'w' est pour indiquer qu'on est en écriture sur le disque. | ||
+ | |||
+ | Pour l'instant, la machine virtuelle voit les 2 partitions mais rien n'est monté dessus. Pour le /home c'est tout simple: il suffit de modifier le fichier ''/etc/fstab'' et ajouter : | ||
+ | |||
+ | # <file system> <mount point> <type> <options> <dump> <pass> | ||
+ | /dev/xvdb2 /home ext4 defaults 0 3 | ||
+ | |||
+ | Maintenant il suffit de taper | ||
+ | mount -a | ||
+ | |||
+ | Pour que le système monte le /home sur la partition xvdb2. | ||
+ | |||
+ | Pour le /var, c'est un peu plus compliqué car le /var n'est pas vide (contrairement au /home). Il faut donc pouvoir le copier sur la nouvelle partition (xvdb1) puis monter cette partition en tant que /var. Pour se faire il faut faire comme suit : | ||
+ | mount /dev/xvdb1 /mnt | ||
+ | mv /var/* /mnt/ | ||
+ | echo "/dev/xvdb1 /var ext4 defaults 0 2" >> /etc/fstab | ||
+ | mount -a | ||
+ | |||
+ | ==Paramétrage du serveur DNS== | ||
+ | |||
+ | Après avoir réservé notre nom de domaine sur gandi.net (malfivanghe.space) nous avons paramétré le serveur DNS Bind9. | ||
+ | Ajout de la règle ACL dans le fichier ''/etc/bind/named.conf.options'' afin d'autoriser le transfert depuis le serveur DNS de Gandi vers notre serveur. | ||
+ | |||
+ | acl "allowed_to_transfer" { | ||
+ | 217.70.177.40; | ||
+ | }; | ||
+ | |||
+ | Nous avons trouvé l'adresse IP du serveur ns6.gandi.net grâce au résultat de la commande: | ||
+ | host ns6.gandi.net | ||
+ | |||
+ | Ensuite ajout de la configuration du domaine dans ''/etc/bind/named.conf.default-zones'' | ||
+ | zone "malfivanghe.space" { | ||
+ | type master; | ||
+ | file "/etc/bind/db.malfivanghe.space"; | ||
+ | }; | ||
+ | |||
+ | Puis création du fichier ''/etc/bind/db.malfivanghe.space'' : | ||
+ | @ IN SOA deus.malfivanghe.space. admin.deus.malfivanghe.space. ( | ||
+ | 3298267243 ; Version | ||
+ | 7200 ; Refresh (2h) | ||
+ | 3600 ; Retry (1h) | ||
+ | 1209600 ; Expire (14j) | ||
+ | 259200 ) ; Minimum TTL (3j) | ||
+ | IN NS deus.malfivanghe.space. | ||
+ | IN NS ns6.gandi.net. | ||
+ | IN MX 100 deus.malfivanghe.space. | ||
+ | deus IN A 193.48.57.166 | ||
+ | IN MX 100 deus.malfivanghe.space. | ||
+ | |||
+ | Ensuite il faut créer le ''glue record'' sur Gandi correspondant a notre machine virtuelle. Ensuite, sur l'interface web de Gandi, nous avons changé les serveurs DNS en ajoutant en primaire le notre (''deus.malfivanghe.space'') puis le DNS secondaire de Gandi (''ns6.gandi.net''). Avec l'ajout de la règle ACL pour autoriser le transfert, le serveur DNS secondaire de Gandi va peupler notre DNS. | ||
+ | |||
+ | ==Installation du serveur mail== | ||
+ | |||
+ | Pour obtenir le lien de confirmation de la demande de certificat SSL sur Gandi, il nous faut paramétrer un client mail afin de pouvoir recevoir le mail à l'adresse ''admin@malfivanghe.space''. Pour ceci nous installons Postfix. | ||
+ | |||
+ | apt-get install postfix bsd-mailx | ||
+ | |||
+ | Une fois installé il faut créer l'alias root qui pointe vers admin en l'ajoutant dans ''/etc/aliases'' | ||
+ | Il faut mettre à jour la base de données des alias : | ||
+ | newaliases | ||
+ | |||
+ | Une fois l'alias et le client mail installé, nous pouvons recevoir le mail de confirmation du certificat SSL. | ||
+ | |||
+ | ==Sécurisation du site web avec le certificat SSL== | ||
+ | |||
+ | Après avoir récupéré notre certificat SSL, puis récupéré le certificat intermédiaire de Gandi, on active le module ssl sur apache2. | ||
+ | Pour activer le module ssl il faut taper la commande suivante : | ||
+ | a2enmod ssl | ||
+ | service apache2 restart | ||
+ | |||
+ | Une fois le module activé, il faut modifier le fichier de configuration dans ''/etc/apache2/sites-available/default-ssl.conf'' en ajoutant les lignes suivantes : | ||
+ | ServerName malfivanghe.space | ||
+ | SSLEngine on | ||
+ | SSLCertificateFile /etc/ssl/certs/malfivanghe.crt | ||
+ | SSLCertificateKeyFile /etc/ssl/private/malfivanghe.key | ||
+ | SSLCertificateChainFile /etc/ssl/certs/GandiStandardSSLCA2.pem | ||
+ | |||
+ | Puis, pour activer cette configuration il faut taper la commande : | ||
+ | |||
+ | a2ensite default-ssl | ||
+ | service apache2 restart | ||
+ | |||
+ | Pour se connecter en HTTPS au site web, il faut absolument entrer l'URL [https://www.malfivanghe.space https://www.malfivanghe.space] qui correspond au CN de notre certificat. Le nom de machine deus n'est donc pas connu par l'autorité de certification. | ||
+ | |||
+ | ==Sécurisation du serveur DNS avec DNSSEC== | ||
+ | |||
+ | Pour sécuriser le serveur DNS avec DNSSEC nous allons signer la zone correspondant à notre nom de domaine. | ||
+ | Tout d'abord il faut ajouter l'option du dnssec pour l'activer dans ''/etc/bind/named.conf.options'' | ||
+ | dnssec-validation auto; | ||
+ | |||
+ | Ensuite, nous allons créer les clés KSK et ZSK dans un dossier créé dans ''/etc/bind/'' qui a pour nom ''db.malfivanghe.space.dnssec''. Pour créer les clés, on se déplace dans ce nouveau dossier et on génère les clés et on les renomme : | ||
+ | |||
+ | dnssec-keygen -a RSASHA1 -b 2048 -r /dev/urandom -f KSK -n ZONE malfivanghe.space | ||
+ | mv Kmalfivanghe.space.+005+48301.key malfivanghe.space-ksk.key | ||
+ | mv Kmalfivanghe.space.+005+48301.private malfivanghe.space-ksk.private | ||
+ | dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE malfivanghe.space | ||
+ | mv Kmalfivanghe.space.+005+15831.key malfivanghe.space-zsk.key | ||
+ | mv Kmalfivanghe.space.+005+15831.private malfivanghe.space-zsk.private | ||
+ | |||
+ | Puis on ajoute les ''.key'' dans le fichier de zone ''/etc/bind/db.malfivanghe.space'' en ajoutant les lignes suivantes : | ||
+ | |||
+ | $include /etc/bind/db.malfivanghe.space.dnssec/malfivanghe.space-ksk.key | ||
+ | $include /etc/bind/db.malfivanghe.space.dnssec/malfivanghe.space-zsk.key | ||
+ | |||
+ | Il faut également incrémenter le numéro de la version pour éviter une source d'erreur. | ||
+ | |||
+ | Ensuite il faut signer les enregistrements de la zone. | ||
+ | |||
+ | dnssec-signzone -o malfivanghe.space -k malfivanghe.space-ksk ../db.malfivanghe.space malfivanghe.space-zsk | ||
+ | |||
+ | Puis ajouter notre clé KSK sur la gestion du DNSSEC sur le site de Gandi. |
Version actuelle datée du 17 novembre 2017 à 10:11
Sommaire
Paramétrage de la machine virtuelle
Configuration réseau
Nous avons créé une machine virtuelle Xen sur cordouan.insecserv.deule.net qui s'appelle deus. Nous avons mis, en attendant que notre routeur soit paramétré, une adresse IP du réseau insecure afin d'avoir accès à Internet. Une fois le routeur paramétré, nous avons mis la configuration suivante :
auto eth0 iface eth0 inet static address 193.48.57.166 netmask 255.255.255.240 gateway 193.48.57.161
Installation des paquets
Nous avons installé les paquets suivants :
apt-get install openssh-server apache2 bind9
Montage des partitions
Ensuite, nous avons monté les /var et /home sur une partition LVM de cordouan. Pour ceci nous avons, sur cordouan, créé les partition du volume logique virtual avec les commandes :
lvcreate -L10G -nIMA2A5_deus_home virtual ; mke2fs /dev/virtual/IMA2A5_deus_home lvcreate -L10G -nIMA2A5_deus_var virtual ; mke2fs /dev/virtual/IMA2A5_deus_var
Les 2 partitions ont une taille de 10 Go. Pour que notre machine virtuelle ait accès à ces 2 partitions, il faut changer la configuration de la machine virtuelle en ajoutant :
disk = [ 'file:/usr/local/xen/domains/deus/disk.img,xvda2,w', 'file:/usr/local/xen/domains/deus/swap.img,xvda1,w', 'phy:/dev/virtual/IMA2A5_deus_var,xvdb1,w', 'phy:/dev/virtual/IMA2A5_deus_home,xvdb2,w', ]
Le préfixe 'phy' est présent pour indiquer que c'est une partition physique, puis ajouter le chemin des 2 partitions créée, indiquer leur nom (qui sera accessible sur la machine virtuelle) qui sera xvdb1 et 2. Le 'w' est pour indiquer qu'on est en écriture sur le disque.
Pour l'instant, la machine virtuelle voit les 2 partitions mais rien n'est monté dessus. Pour le /home c'est tout simple: il suffit de modifier le fichier /etc/fstab et ajouter :
# <file system> <mount point> <type> <options> <dump> <pass> /dev/xvdb2 /home ext4 defaults 0 3
Maintenant il suffit de taper
mount -a
Pour que le système monte le /home sur la partition xvdb2.
Pour le /var, c'est un peu plus compliqué car le /var n'est pas vide (contrairement au /home). Il faut donc pouvoir le copier sur la nouvelle partition (xvdb1) puis monter cette partition en tant que /var. Pour se faire il faut faire comme suit :
mount /dev/xvdb1 /mnt mv /var/* /mnt/ echo "/dev/xvdb1 /var ext4 defaults 0 2" >> /etc/fstab mount -a
Paramétrage du serveur DNS
Après avoir réservé notre nom de domaine sur gandi.net (malfivanghe.space) nous avons paramétré le serveur DNS Bind9. Ajout de la règle ACL dans le fichier /etc/bind/named.conf.options afin d'autoriser le transfert depuis le serveur DNS de Gandi vers notre serveur.
acl "allowed_to_transfer" { 217.70.177.40; };
Nous avons trouvé l'adresse IP du serveur ns6.gandi.net grâce au résultat de la commande:
host ns6.gandi.net
Ensuite ajout de la configuration du domaine dans /etc/bind/named.conf.default-zones
zone "malfivanghe.space" { type master; file "/etc/bind/db.malfivanghe.space"; };
Puis création du fichier /etc/bind/db.malfivanghe.space :
@ IN SOA deus.malfivanghe.space. admin.deus.malfivanghe.space. ( 3298267243 ; Version 7200 ; Refresh (2h) 3600 ; Retry (1h) 1209600 ; Expire (14j) 259200 ) ; Minimum TTL (3j) IN NS deus.malfivanghe.space. IN NS ns6.gandi.net. IN MX 100 deus.malfivanghe.space. deus IN A 193.48.57.166 IN MX 100 deus.malfivanghe.space.
Ensuite il faut créer le glue record sur Gandi correspondant a notre machine virtuelle. Ensuite, sur l'interface web de Gandi, nous avons changé les serveurs DNS en ajoutant en primaire le notre (deus.malfivanghe.space) puis le DNS secondaire de Gandi (ns6.gandi.net). Avec l'ajout de la règle ACL pour autoriser le transfert, le serveur DNS secondaire de Gandi va peupler notre DNS.
Installation du serveur mail
Pour obtenir le lien de confirmation de la demande de certificat SSL sur Gandi, il nous faut paramétrer un client mail afin de pouvoir recevoir le mail à l'adresse admin@malfivanghe.space. Pour ceci nous installons Postfix.
apt-get install postfix bsd-mailx
Une fois installé il faut créer l'alias root qui pointe vers admin en l'ajoutant dans /etc/aliases Il faut mettre à jour la base de données des alias :
newaliases
Une fois l'alias et le client mail installé, nous pouvons recevoir le mail de confirmation du certificat SSL.
Sécurisation du site web avec le certificat SSL
Après avoir récupéré notre certificat SSL, puis récupéré le certificat intermédiaire de Gandi, on active le module ssl sur apache2. Pour activer le module ssl il faut taper la commande suivante :
a2enmod ssl service apache2 restart
Une fois le module activé, il faut modifier le fichier de configuration dans /etc/apache2/sites-available/default-ssl.conf en ajoutant les lignes suivantes :
ServerName malfivanghe.space SSLEngine on SSLCertificateFile /etc/ssl/certs/malfivanghe.crt SSLCertificateKeyFile /etc/ssl/private/malfivanghe.key SSLCertificateChainFile /etc/ssl/certs/GandiStandardSSLCA2.pem
Puis, pour activer cette configuration il faut taper la commande :
a2ensite default-ssl service apache2 restart
Pour se connecter en HTTPS au site web, il faut absolument entrer l'URL https://www.malfivanghe.space qui correspond au CN de notre certificat. Le nom de machine deus n'est donc pas connu par l'autorité de certification.
Sécurisation du serveur DNS avec DNSSEC
Pour sécuriser le serveur DNS avec DNSSEC nous allons signer la zone correspondant à notre nom de domaine. Tout d'abord il faut ajouter l'option du dnssec pour l'activer dans /etc/bind/named.conf.options
dnssec-validation auto;
Ensuite, nous allons créer les clés KSK et ZSK dans un dossier créé dans /etc/bind/ qui a pour nom db.malfivanghe.space.dnssec. Pour créer les clés, on se déplace dans ce nouveau dossier et on génère les clés et on les renomme :
dnssec-keygen -a RSASHA1 -b 2048 -r /dev/urandom -f KSK -n ZONE malfivanghe.space mv Kmalfivanghe.space.+005+48301.key malfivanghe.space-ksk.key mv Kmalfivanghe.space.+005+48301.private malfivanghe.space-ksk.private dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE malfivanghe.space mv Kmalfivanghe.space.+005+15831.key malfivanghe.space-zsk.key mv Kmalfivanghe.space.+005+15831.private malfivanghe.space-zsk.private
Puis on ajoute les .key dans le fichier de zone /etc/bind/db.malfivanghe.space en ajoutant les lignes suivantes :
$include /etc/bind/db.malfivanghe.space.dnssec/malfivanghe.space-ksk.key $include /etc/bind/db.malfivanghe.space.dnssec/malfivanghe.space-zsk.key
Il faut également incrémenter le numéro de la version pour éviter une source d'erreur.
Ensuite il faut signer les enregistrements de la zone.
dnssec-signzone -o malfivanghe.space -k malfivanghe.space-ksk ../db.malfivanghe.space malfivanghe.space-zsk
Puis ajouter notre clé KSK sur la gestion du DNSSEC sur le site de Gandi.