TP sysres IMA2a5 2017/2018 G3
Sommaire
Introduction
Dans cette page, nous avons décrit toutes les manipulations nécessaires afin de mener à bien ce projet.
Vous trouverez en annexe tous les fichiers de configuration liés à ce projet (ceux de la machine virtuelle, de bind, d'apache, de postfix).
Création et configuration de la Machine virtuelle
Création de la machine virtuelle
La machine virtuelle est hébergée sur le serveur cordouan. Voici les différentes commandes nécessaires pour créer la machine virtuelle :
xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.
Voici les lignes de commandes permettant la création des partitions :
lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var
Le -L10G permet d'imposer une taille de 10 gigas.
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :
disk = [ 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w', 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w', 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w', 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w', ]
Configuration réseau de la MV
Lorsque notre machine virtuelle a été créée, nous avons mis en place une configuration réseau temporaire (adresse IP du réseau Insecure). Une fois que les collègues ont mis en place ce réseau, nous avons configuré notre réseau final. Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :
//The loopback network interface auto lo iface lo inet loopback
// The primary network interface auto eth0 iface eth0 inet static address 193.48.57.165 netmask 255.255.255.240 gateway 193.48.57.174
Création du DNS
Installation des paquets
- apache2 comme serveur web
- bind9 pour monter notre serveur DNS
apt-get install bind9, apache2
Configuration de bind9
Après avoir acheté un nom de domaine sur gandi.net (duvel.space), nous avons monté le serveur DNS via bind9. Nous avons en premier lieu modifier les fichiers :
- named.conf.local :
zone "duvel.space" { type master; file "/etc/bind/webmail.duvel.space"; // allow-transfer { };
dnssec-validation auto; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; };
$TTL 604800 @ IN SOA ns.duvel.space. root.duvel.space. ( 3298267243 ; Version 7200 ; Refresh (2h) 3600 ; Retry (1h) 1209600 ; Expire (14j) 259200 ) ; Minimum TTL (3j) IN NS ns.duvel.space. IN NS ns6.gandi.net. ns IN A 193.48.57.165 ns6 IN A 217.70.177.40
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi. Après quelques bonnes heures de propagation, le DNS fonctionne. On obtient la page par défaut d'apache sur un navigateur à l'adresse ns.duvel.space.
Configuration DNS sécurisé
- Le fichier duvel.crt contient le certificat.
- Le fichier duvel.key contient clef privée du serveur.
- Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).
- On commence par chercher le point d'accès:
IN MX 100 ns.duvel.space. //pour autoriser le serveur de mail. www IN CNAME ns
//pour pouvoir accéder au site web en tapant www.duvel.space
Nous avons ensuite généré les clefs asymétriques :
dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space
Voici les noms de ces clefs :
clef asym clef de zone : Kduvel.space.+005+15754 clef asym clef d'enregistrement : Kduvel.space.+005+43650
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :
$include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key
Enfin, il faut signer la zone via la commande :
dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk
Le DNSSEC est alors correctement configuré.
Sécurisation du site web par certificat
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :
a2ensite default-ssl.conf a2enmod ssl
Gandi propose un certificat gratuit lorsque l'on achète un domaine.
Nous ajountons donc 3 lignes de configuration dans le fichier default-ssl.conf :
SSLCertificateFile /root/duvel.crt SSLCertificateKeyFile /root/duvel.key SSLCertificateChainFile /root/GandiStandardSSLCA2.pem
Tâche spécifique: Création d'un serveur mail
L'idée est ici de créer un serveur mail sur notre machine virtuelle à partir de postfix, tout en utilisant des conteneurs pour gérer les utilisateurs. Il est donc nécessaire de créer un conteneur par utilisateur.
Tout d'abord, on installe docker.
apt-get install docker
Puis on récupère une image Debian de conteneur docker :
docker pull debian
On crée alors un docker sur notre MV avec
docker run -i -t debian /bin/bash"
Crack de la clef WEP
airodump-ng --encrypt wep wlan0mon
airodump-ng -w out -c 4 --essid ***** wlan0mon
aircrack-ng out-01.cap KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )