<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
		<id>https://wiki-ima.plil.fr/mediawiki//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Gdubois</id>
		<title>Wiki d'activités IMA - Contributions de l’utilisateur [fr]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki-ima.plil.fr/mediawiki//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Gdubois"/>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php/Sp%C3%A9cial:Contributions/Gdubois"/>
		<updated>2026-04-25T10:49:00Z</updated>
		<subtitle>Contributions de l’utilisateur</subtitle>
		<generator>MediaWiki 1.29.2</generator>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46588</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46588"/>
				<updated>2017-12-11T16:23:25Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Dans cette page, nous avons décrit toutes les manipulations nécessaires afin de mener à bien ce projet.&lt;br /&gt;
&lt;br /&gt;
Vous trouverez en annexe tous les fichiers de configuration liés à ce projet (ceux de la machine virtuelle, de bind, d'apache, de postfix).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création de la machine virtuelle&amp;lt;/h3&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
 &lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse http://ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Voici les noms de ces clefs :&lt;br /&gt;
 clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
 clef asym clef d'enregistrement : Kduvel.space.+005+43650&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sécurisation du site web par certificat&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl.conf&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Gandi propose un certificat gratuit lorsque l'on achète un domaine.&lt;br /&gt;
&lt;br /&gt;
Nous ajoutons donc 3 lignes de configuration dans le fichier default-ssl.conf :&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile	/root/duvel.crt&lt;br /&gt;
 SSLCertificateKeyFile /root/duvel.key&lt;br /&gt;
 SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.crt contient le certificat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.key contient la clef privée du serveur.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance apache :&lt;br /&gt;
&lt;br /&gt;
 service apache2 restart&lt;br /&gt;
&lt;br /&gt;
Et on tente un connexion sécurisée vers le site web de duvel:&lt;br /&gt;
&lt;br /&gt;
 https://www.duvel.space&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création d'un docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Il est donc nécessaire de créer un conteneur par utilisateur.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord, on installe docker.&lt;br /&gt;
&lt;br /&gt;
 apt-get install docker&lt;br /&gt;
&lt;br /&gt;
Puis on récupère une image Debian de conteneur docker :&lt;br /&gt;
&lt;br /&gt;
 docker pull debian&lt;br /&gt;
&lt;br /&gt;
On crée alors un docker sur notre MV avec &lt;br /&gt;
&lt;br /&gt;
 docker run -i --privileged -p 5000:5000 -t debian /bin/bash &lt;br /&gt;
&lt;br /&gt;
On peut alors lister les dockers existants à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker ps -a&lt;br /&gt;
&lt;br /&gt;
On obtient par exemple :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                  PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Exited (1) 2 days ago&lt;br /&gt;
&lt;br /&gt;
On peut démarrer ce docker à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker start caa067cd1a6a&lt;br /&gt;
&lt;br /&gt;
On vérifie le démarrage en listant uniquement les conteneurs actifs :&lt;br /&gt;
&lt;br /&gt;
 docker ps (sans le -a qui permet de visualiser les dockers éteints, en veille etc.)&lt;br /&gt;
&lt;br /&gt;
On obtient :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Up About a minute&lt;br /&gt;
&lt;br /&gt;
Nous avons donc un conteneur en fonctionnement.&lt;br /&gt;
&lt;br /&gt;
Nous avons appris par la suite que si nous voulons que notre docker redémarre automatiquement, (au cas où la MV a redémarré, ou suite à un plantage), il faut les créer avec l'option :&lt;br /&gt;
&lt;br /&gt;
 docker run -i -t debian /bin/bash --restart always&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau du docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On vérifie que la configuration réseau est conforme :&lt;br /&gt;
&lt;br /&gt;
Point de vue duvel :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 3: docker0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 56:84:7a:fe:97:99 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.17.42.1/16 scope global docker0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::5484:7aff:fefe:9799/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
Et point de vue conteneur :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 10: eth0: &amp;lt;BROADCAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 02:42:ac:11:00:04 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.1.0.1/16 scope global eth0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::42:acff:fe11:4/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
La configuration du bridge semble correcte. On remarque qu'une configuration ipv6 est automatiquement créée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de postfix sur la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
La première étape est de configurer postfix sur la MV :&lt;br /&gt;
&lt;br /&gt;
 dpkg-reconfigure postfix&lt;br /&gt;
&lt;br /&gt;
De la, on se laisse guider par l'outil de configuration. Les paramètres sélectionnés importants sont :&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Type de serveur de messagerie : Site internet&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Nom de domaine: duvel.space&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On insère ensuite dans /etc/aliases :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 admin: root #mail de l'administrateur smtp&lt;br /&gt;
&lt;br /&gt;
On réalise ensuite la même configuration postfix sur le conteneur.&lt;br /&gt;
&lt;br /&gt;
Toutefois, le /etc/aliases du docker contiendra :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 $nom_de_l'utilisateur: root&lt;br /&gt;
&lt;br /&gt;
Les configurations de postfix et des alias sont terminées. Il faut penser à relancer postfix et appliquer les nouveaux alias :&lt;br /&gt;
&lt;br /&gt;
 newaliases&lt;br /&gt;
 service postfix restart&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Redirection des mails vers le conteneur concerné&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce serveur de messagerie est de respecter cette démarche :&lt;br /&gt;
&lt;br /&gt;
Le serveur de messagerie principal (MV duvel) reçoit un mail destiné à jean@duvel.space&lt;br /&gt;
Le serveur redirige ce mail vers le docker de monsieur Jean.&lt;br /&gt;
Le postfix du docker doit alors le placer dans la boite de messagerie de Jean.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il nous faut créer un virtual alias maps dans la configuration de postfix :&lt;br /&gt;
&lt;br /&gt;
 #Dans /etc/postfix/main.cf&lt;br /&gt;
 virtual_alias_maps = hash:/etc/postfix/relai_duvel&lt;br /&gt;
&lt;br /&gt;
Ensuite, on édite relai_duvel :&lt;br /&gt;
&lt;br /&gt;
 jean    jean@[adresse_ip_du_docker_associé]&lt;br /&gt;
 michel  michel@[adresse_ip_du_docker_associé]&lt;br /&gt;
 etc...&lt;br /&gt;
&lt;br /&gt;
On peut alors envoyer un mail à jean@duvel.space, qui sera stocké dans le docker créé pour Jean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Automatisation de l'ajout d'un utilisateur&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le dernier objectif de ce projet est d'automatiser l'ajout d'un utilisateur.&lt;br /&gt;
Nous avons choisi d'utiliser un fichier script. Son rôle est de :&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Créer un docker à partir d'un Dockerfile&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Configurer le Docker (ouvrir le port 25, installer Postfix...)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ajouter l'utilisateur dans le relai virtuel Postfix de la MV&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici le fichier script :&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
	#creation et configuration d'un docker pour un nouvel utilisateur&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Entrez le nom de l'utilisateur:&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
	#nom de l'utilisateur nom@duvel.space&lt;br /&gt;
 read nom&lt;br /&gt;
 &lt;br /&gt;
	#creation du dockerfile&lt;br /&gt;
 echo &amp;quot;FROM debian&amp;quot; &amp;gt; Dockerfile&lt;br /&gt;
 echo &amp;quot;RUN apt update&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
	#on ouvre le port 25 pour les mails&lt;br /&gt;
 echo &amp;quot;EXPOSE 25&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 echo &amp;quot;EXPOSE 80&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
	#on installe postfix injecte la config de postfix&lt;br /&gt;
 echo &amp;quot;RUN apt-get install -y postfix mailutils&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 echo &amp;quot;COPY postfix.cf.docker /etc/postfix/main.cf&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
	#on genere le /etc/aliases&lt;br /&gt;
 echo &amp;quot;postmaster: root&amp;quot; &amp;gt; aliases.docker&lt;br /&gt;
 echo &amp;quot;$nom: root&amp;quot; &amp;gt;&amp;gt; aliases.docker&lt;br /&gt;
 &lt;br /&gt;
	#ongenere /etc/mailname&lt;br /&gt;
 echo &amp;quot;RUN echo \&amp;quot;duvel.space\&amp;quot; &amp;gt; /etc/mailname&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
	#on ajoute l'alias necessaire&lt;br /&gt;
 echo &amp;quot;COPY aliases.docker /etc/aliases&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
        #On redémarre postfix&lt;br /&gt;
 echo &amp;quot;RUN service postfix start&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
 chemin=`pwd`&lt;br /&gt;
 &lt;br /&gt;
 echo $pwd&lt;br /&gt;
 &lt;br /&gt;
	#on construit l'image du docker&lt;br /&gt;
 docker build -t serveur_mail .&lt;br /&gt;
 &lt;br /&gt;
	#on cree le conteneur&lt;br /&gt;
 id_conteneur=`docker run -tid --restart always --privileged -p 1345:1345 serveur_mail`&lt;br /&gt;
 &lt;br /&gt;
        #ça sert juste à indiquer l'id du conteneur&lt;br /&gt;
 echo &amp;quot;\n*****ID du docker : ${id_conteneur:0:12}*****\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
	#on recupere l'adresse ip du conteneur&lt;br /&gt;
 ip_conteneur=`docker inspect --format '{{ .NetworkSettings.IPAddress }}' ${id_conteneur:0:12}`&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;adresse IPV4 du docker : $ip_conteneur&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
	#on l'ajoute a la table de routage&lt;br /&gt;
 echo &amp;quot;$nom    $nom@[$ip_conteneur]&amp;quot; &amp;gt;&amp;gt; /etc/postfix/relai_duvel&lt;br /&gt;
 &lt;br /&gt;
	#on cree le nouveau fichier relai_duvel.db&lt;br /&gt;
 postmap /etc/postfix/relai_duvel&lt;br /&gt;
 &lt;br /&gt;
	#on redemarre postfix&lt;br /&gt;
 service postfix restart&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;\n*****Configuration docker de $nom terminee*****\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Enregistrement du nom du docker dans la BDD&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
	#on ajout une ligne qui contient le nom d'utilisateur, avec l'ID et l'IP du conteneur associé&lt;br /&gt;
 echo &amp;quot;$nom : ${id_conteneur:0:12} : $ip_conteneur&amp;quot; &amp;gt;&amp;gt; bdd_serveur_mail&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;\n*****FIN*****\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
Ce fichier script permet la création de docker préconfiguré. Toutefois, Pour que ça fonctionne, nous sommes obligé de nous attacher au conteneur et de démarrer manuellement postfix :&lt;br /&gt;
&lt;br /&gt;
 service postfix start&lt;br /&gt;
&lt;br /&gt;
Après, ça fonctionne très bien.&lt;br /&gt;
&lt;br /&gt;
Bon, il y a quelques warnings et erreurs lors de la génération du conteneur... un Dockerfile est simple à rédiger, mais il est difficile d'interpréter les erreurs de dénération de docker.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Crack de la clef WEP&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng -w out -c 4 --essid ***** wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tentatives de connexion (force brute). On obtient finalement :&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng out-01.cap &lt;br /&gt;
 KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Annexes&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;/etc/postfix/main.cf de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 # See /usr/share/postfix/main.cf.dist for a commented, more complete version&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # Debian specific:  Specifying a file name will cause the first&lt;br /&gt;
 # line of that file to be used as the name.  The Debian default&lt;br /&gt;
 # is /etc/mailname.&lt;br /&gt;
 #myorigin = /etc/mailname&lt;br /&gt;
 &lt;br /&gt;
 smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)&lt;br /&gt;
 biff = no&lt;br /&gt;
 &lt;br /&gt;
 # appending .domain is the MUA's job.&lt;br /&gt;
 append_dot_mydomain = no&lt;br /&gt;
 &lt;br /&gt;
 # Uncomment the next line to generate &amp;quot;delayed mail&amp;quot; warnings&lt;br /&gt;
 #delay_warning_time = 4h&lt;br /&gt;
 &lt;br /&gt;
 readme_directory = no&lt;br /&gt;
 &lt;br /&gt;
 # TLS parameters&lt;br /&gt;
 smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem&lt;br /&gt;
 smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key&lt;br /&gt;
 smtpd_use_tls=yes&lt;br /&gt;
 smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache&lt;br /&gt;
 smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache&lt;br /&gt;
 &lt;br /&gt;
 # See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for&lt;br /&gt;
 # information on enabling SSL in the smtp client.&lt;br /&gt;
 &lt;br /&gt;
 smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination&lt;br /&gt;
 myhostname = duvel&lt;br /&gt;
 alias_maps = hash:/etc/aliases&lt;br /&gt;
 alias_database = hash:/etc/aliases&lt;br /&gt;
 myorigin = /etc/mailname&lt;br /&gt;
 mydestination = duvel.space, duvel, localhost.localdomain, localhost&lt;br /&gt;
 relayhost = &lt;br /&gt;
 mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 172.17.0.0/24&lt;br /&gt;
 mailbox_size_limit = 0&lt;br /&gt;
 recipient_delimiter = +&lt;br /&gt;
 inet_interfaces = all&lt;br /&gt;
 inet_protocols = all&lt;br /&gt;
 local_recipient_maps =&lt;br /&gt;
 &lt;br /&gt;
 # pour g�rer les mails&lt;br /&gt;
 &lt;br /&gt;
 virtual_alias_maps = hash:/etc/postfix/relai_duvel&lt;br /&gt;
 &lt;br /&gt;
 # authentification&lt;br /&gt;
 &lt;br /&gt;
 smtp_sasl_auth_enable   = yes&lt;br /&gt;
 smtp_sasl_password_maps = hash:/etc/postfix/sasl_password&lt;br /&gt;
 smtp_sasl_security_options = noanonymous &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;/etc/aliases de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 # See man 5 aliases for format&lt;br /&gt;
 postmaster:    root&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;/etc/postfix/main.cf d'un docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)&lt;br /&gt;
 biff = no&lt;br /&gt;
 append_dot_mydomain = no&lt;br /&gt;
 readme_directory = no&lt;br /&gt;
 compatibility_level = 2&lt;br /&gt;
 smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem&lt;br /&gt;
 smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key&lt;br /&gt;
 smtpd_use_tls=yes&lt;br /&gt;
 smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache&lt;br /&gt;
 smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache&lt;br /&gt;
 smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination&lt;br /&gt;
 myhostname = 19e0c1cfc011.duvel.space&lt;br /&gt;
 alias_maps = hash:/etc/aliases&lt;br /&gt;
 alias_database = hash:/etc/aliases&lt;br /&gt;
 myorigin = /etc/mailname&lt;br /&gt;
 mydestination = $myhostname, duvel.space, 19e0c1cfc011, localhost.localdomain, localhost&lt;br /&gt;
 relayhost = &lt;br /&gt;
 mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128&lt;br /&gt;
 mailbox_size_limit = 0&lt;br /&gt;
 recipient_delimiter = +&lt;br /&gt;
 inet_interfaces = all&lt;br /&gt;
 inet_protocols = all&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;/etc/aliases d'un docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 postmaster: root&lt;br /&gt;
 jean: root&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;table de routage du postfix de la MV (/etc/postfix/relai_duvel&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 cle-guen     cle-guen@[172.17.0.14]&lt;br /&gt;
 gogole    gogole@[172.17.0.104]&lt;br /&gt;
 gogole2    gogole2@[172.17.0.108]&lt;br /&gt;
 jean    jean@[172.17.0.110]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46585</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46585"/>
				<updated>2017-12-06T22:07:15Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Dans cette page, nous avons décrit toutes les manipulations nécessaires afin de mener à bien ce projet.&lt;br /&gt;
&lt;br /&gt;
Vous trouverez en annexe tous les fichiers de configuration liés à ce projet (ceux de la machine virtuelle, de bind, d'apache, de postfix).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création de la machine virtuelle&amp;lt;/h3&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
 &lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse http://ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Voici les noms de ces clefs :&lt;br /&gt;
 clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
 clef asym clef d'enregistrement : Kduvel.space.+005+43650&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sécurisation du site web par certificat&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl.conf&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Gandi propose un certificat gratuit lorsque l'on achète un domaine.&lt;br /&gt;
&lt;br /&gt;
Nous ajoutons donc 3 lignes de configuration dans le fichier default-ssl.conf :&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile	/root/duvel.crt&lt;br /&gt;
 SSLCertificateKeyFile /root/duvel.key&lt;br /&gt;
 SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.crt contient le certificat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.key contient la clef privée du serveur.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance apache :&lt;br /&gt;
&lt;br /&gt;
 service apache2 restart&lt;br /&gt;
&lt;br /&gt;
Et on tente un connexion sécurisée vers le site web de duvel:&lt;br /&gt;
&lt;br /&gt;
 https://www.duvel.space&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création d'un docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Il est donc nécessaire de créer un conteneur par utilisateur.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord, on installe docker.&lt;br /&gt;
&lt;br /&gt;
 apt-get install docker&lt;br /&gt;
&lt;br /&gt;
Puis on récupère une image Debian de conteneur docker :&lt;br /&gt;
&lt;br /&gt;
 docker pull debian&lt;br /&gt;
&lt;br /&gt;
On crée alors un docker sur notre MV avec &lt;br /&gt;
&lt;br /&gt;
 docker run -i --privileged -p 5000:5000 -t debian /bin/bash &lt;br /&gt;
&lt;br /&gt;
On peut alors lister les dockers existants à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker ps -a&lt;br /&gt;
&lt;br /&gt;
On obtient par exemple :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                  PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Exited (1) 2 days ago&lt;br /&gt;
&lt;br /&gt;
On peut démarrer ce docker à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker start caa067cd1a6a&lt;br /&gt;
&lt;br /&gt;
On vérifie le démarrage en listant uniquement les conteneurs actifs :&lt;br /&gt;
&lt;br /&gt;
 docker ps (sans le -a qui permet de visualiser les dockers éteints, en veille etc.)&lt;br /&gt;
&lt;br /&gt;
On obtient :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Up About a minute&lt;br /&gt;
&lt;br /&gt;
Nous avons donc un conteneur en fonctionnement.&lt;br /&gt;
&lt;br /&gt;
Nous avons appris par la suite que si nous voulons que notre docker redémarre automatiquement, (au cas où la MV a redémarré, ou suite à un plantage), il faut les créer avec l'option :&lt;br /&gt;
&lt;br /&gt;
 docker run -i -t debian /bin/bash --restart always&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau du docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On vérifie que la configuration réseau est conforme :&lt;br /&gt;
&lt;br /&gt;
Point de vue duvel :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 3: docker0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 56:84:7a:fe:97:99 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.17.42.1/16 scope global docker0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::5484:7aff:fefe:9799/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
Et point de vue conteneur :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 10: eth0: &amp;lt;BROADCAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 02:42:ac:11:00:04 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.1.0.1/16 scope global eth0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::42:acff:fe11:4/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
La configuration du bridge semble correcte. On remarque qu'une configuration ipv6 est automatiquement créée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de postfix sur la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
La première étape est de configurer postfix sur la MV :&lt;br /&gt;
&lt;br /&gt;
 dpkg-reconfigure postfix&lt;br /&gt;
&lt;br /&gt;
De la, on se laisse guider par l'outil de configuration. Les paramètres sélectionnés importants sont :&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Type de serveur de messagerie : Site internet&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Nom de domaine: duvel.space&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On insère ensuite dans /etc/aliases :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 admin: root #mail de l'administrateur smtp&lt;br /&gt;
&lt;br /&gt;
On réalise ensuite la même configuration postfix sur le conteneur.&lt;br /&gt;
&lt;br /&gt;
Toutefois, le /etc/aliases du docker contiendra :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 $nom_de_l'utilisateur: root&lt;br /&gt;
&lt;br /&gt;
Les configurations de postfix et des alias sont terminées. Il faut penser à relancer postfix et appliquer les nouveaux alias :&lt;br /&gt;
&lt;br /&gt;
 newaliases&lt;br /&gt;
 service postfix restart&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Redirection des mails vers le conteneur concerné&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce serveur de messagerie est de respecter cette démarche :&lt;br /&gt;
&lt;br /&gt;
Le serveur de messagerie principal (MV duvel) reçoit un mail destiné à jean@duvel.space&lt;br /&gt;
Le serveur redirige ce mail vers le docker de monsieur Jean.&lt;br /&gt;
Le postfix du docker doit alors le placer dans la boite de messagerie de Jean.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il nous faut créer un virtual alias maps dans la configuration de postfix :&lt;br /&gt;
&lt;br /&gt;
 #Dans /etc/postfix/main.cf&lt;br /&gt;
 virtual_alias_maps = hash:/etc/postfix/relai_duvel&lt;br /&gt;
&lt;br /&gt;
Ensuite, on édite relai_duvel :&lt;br /&gt;
&lt;br /&gt;
 jean    jean@[adresse_ip_du_docker_associé]&lt;br /&gt;
 michel  michel@[adresse_ip_du_docker_associé]&lt;br /&gt;
 etc...&lt;br /&gt;
&lt;br /&gt;
On peut alors envoyer un mail à jean@duvel.space, qui sera stocké dans le docker créé pour Jean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Automatisation de l'ajout d'un utilisateur&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le dernier objectif de ce projet est d'automatiser l'ajout d'un utilisateur.&lt;br /&gt;
Nous avons choisi d'utiliser un fichier script. Son rôle est de :&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Créer un docker à partir d'un Dockerfile&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Configurer le Docker (ouvrir le port 25, installer Postfix...)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ajouter l'utilisateur dans le relai virtuel Postfix de la MV&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici le fichier script :&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
	#creation et configuration d'un docker pour un nouvel utilisateur&lt;br /&gt;
&lt;br /&gt;
	#on recupere le fichier de configuration postfix pour le docker (le meme pour tous les dockers)&lt;br /&gt;
 config=`cat postfix.cf.docker`&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Entrez le nom de l'utilisateur:&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
	#nom de l'utilisateur nom@duvel.space&lt;br /&gt;
 read nom&lt;br /&gt;
 &lt;br /&gt;
	#creation du dockerfile&lt;br /&gt;
 echo &amp;quot;FROM debian&amp;quot; &amp;gt; Dockerfile&lt;br /&gt;
 echo &amp;quot;RUN apt update&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
	#on ouvre le port 25 pour les mails&lt;br /&gt;
 echo &amp;quot;EXPOSE 25&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 echo &amp;quot;EXPOSE 80&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
	#on injecte la config de postfix&lt;br /&gt;
 echo &amp;quot;RUN apt-get install -y postfix mailutils&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
	#echo &amp;quot;RUN echo -e \&amp;quot;$config\&amp;quot; &amp;gt; /etc/postfix/main.cf&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 echo &amp;quot;COPY postfix.cf.docker /etc/postfix/main.cf&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
	#on genere le /etc/aliases&lt;br /&gt;
 echo &amp;quot;postmaster: root&amp;quot; &amp;gt; aliases.docker&lt;br /&gt;
 echo &amp;quot;$nom: root&amp;quot; &amp;gt;&amp;gt; aliases.docker&lt;br /&gt;
 &lt;br /&gt;
	#ongenere /etc/mailname&lt;br /&gt;
 echo &amp;quot;RUN echo \&amp;quot;duvel.space\&amp;quot; &amp;gt; /etc/mailname&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
	#on ajoute l'alias necessaire&lt;br /&gt;
 echo &amp;quot;COPY aliases.docker /etc/aliases&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;RUN service postfix start&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
 chemin=`pwd`&lt;br /&gt;
 &lt;br /&gt;
 echo $pwd&lt;br /&gt;
 &lt;br /&gt;
	#on construit l'image du docker&lt;br /&gt;
 docker build -t serveur_mail .&lt;br /&gt;
 &lt;br /&gt;
	#on cree le conteneur&lt;br /&gt;
 id_conteneur=`docker run -tid --restart always --privileged -p 1345:1345 serveur_mail`&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;\n*****ID du docker : ${id_conteneur:0:12}*****\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
	#on recupere l'adresse ip du conteneur&lt;br /&gt;
 ip_conteneur=`docker inspect --format '{{ .NetworkSettings.IPAddress }}' ${id_conteneur:0:12}`&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;adresse IPV4 du docker : $ip_conteneur&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
	#on l'ajoute a la table de routage&lt;br /&gt;
 echo &amp;quot;$nom    $nom@[$ip_conteneur]&amp;quot; &amp;gt;&amp;gt; /etc/postfix/relai_duvel&lt;br /&gt;
 &lt;br /&gt;
	#on cree le nouveau fichier relai_duvel.db&lt;br /&gt;
 postmap /etc/postfix/relai_duvel&lt;br /&gt;
 &lt;br /&gt;
	#on redemarre postfix&lt;br /&gt;
 service postfix restart&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;\n*****Configuration docker de $nom terminee*****\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Enregistrement du nom du docker dans la BDD&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
	#on ajout une ligne qui contient le nom d'utilisateur, avec l'ID et l'IP du conteneur associe&lt;br /&gt;
 echo &amp;quot;$nom : ${id_conteneur:0:12} : $ip_conteneur&amp;quot; &amp;gt;&amp;gt; bdd_serveur_mail&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;\n*****FIN*****\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
Ce fichier script permet la création de docker préconfiguré. Toutefois, Pour que ça fonctionne, nous sommes obligé de nous attacher au conteneur et de démarrer manuellement postfix :&lt;br /&gt;
&lt;br /&gt;
 service postfix start&lt;br /&gt;
&lt;br /&gt;
Après, ça fonctionne très bien.&lt;br /&gt;
&lt;br /&gt;
Bon, il y a quelques warnings et erreurs lors de la génération du conteneur... un Dockerfile est simple à rédiger, mais il est difficile d'interpréter les erreurs de dénération de docker.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Crack de la clef WEP&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng -w out -c 4 --essid ***** wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tentatives de connexion (force brute). On obtient finalement :&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng out-01.cap &lt;br /&gt;
 KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Annexes&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;/etc/postfix/main.cf de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 # See /usr/share/postfix/main.cf.dist for a commented, more complete version&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # Debian specific:  Specifying a file name will cause the first&lt;br /&gt;
 # line of that file to be used as the name.  The Debian default&lt;br /&gt;
 # is /etc/mailname.&lt;br /&gt;
 #myorigin = /etc/mailname&lt;br /&gt;
 &lt;br /&gt;
 smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)&lt;br /&gt;
 biff = no&lt;br /&gt;
 &lt;br /&gt;
 # appending .domain is the MUA's job.&lt;br /&gt;
 append_dot_mydomain = no&lt;br /&gt;
 &lt;br /&gt;
 # Uncomment the next line to generate &amp;quot;delayed mail&amp;quot; warnings&lt;br /&gt;
 #delay_warning_time = 4h&lt;br /&gt;
 &lt;br /&gt;
 readme_directory = no&lt;br /&gt;
 &lt;br /&gt;
 # TLS parameters&lt;br /&gt;
 smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem&lt;br /&gt;
 smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key&lt;br /&gt;
 smtpd_use_tls=yes&lt;br /&gt;
 smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache&lt;br /&gt;
 smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache&lt;br /&gt;
 &lt;br /&gt;
 # See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for&lt;br /&gt;
 # information on enabling SSL in the smtp client.&lt;br /&gt;
 &lt;br /&gt;
 smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination&lt;br /&gt;
 myhostname = duvel&lt;br /&gt;
 alias_maps = hash:/etc/aliases&lt;br /&gt;
 alias_database = hash:/etc/aliases&lt;br /&gt;
 myorigin = /etc/mailname&lt;br /&gt;
 mydestination = duvel.space, duvel, localhost.localdomain, localhost&lt;br /&gt;
 relayhost = &lt;br /&gt;
 mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 172.17.0.0/24&lt;br /&gt;
 mailbox_size_limit = 0&lt;br /&gt;
 recipient_delimiter = +&lt;br /&gt;
 inet_interfaces = all&lt;br /&gt;
 inet_protocols = all&lt;br /&gt;
 local_recipient_maps =&lt;br /&gt;
 &lt;br /&gt;
 # pour g�rer les mails&lt;br /&gt;
 &lt;br /&gt;
 virtual_alias_maps = hash:/etc/postfix/relai_duvel&lt;br /&gt;
 &lt;br /&gt;
 # authentification&lt;br /&gt;
 &lt;br /&gt;
 smtp_sasl_auth_enable   = yes&lt;br /&gt;
 smtp_sasl_password_maps = hash:/etc/postfix/sasl_password&lt;br /&gt;
 smtp_sasl_security_options = noanonymous &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;/etc/aliases de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 # See man 5 aliases for format&lt;br /&gt;
 postmaster:    root&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;/etc/postfix/main.cf d'un docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)&lt;br /&gt;
 biff = no&lt;br /&gt;
 append_dot_mydomain = no&lt;br /&gt;
 readme_directory = no&lt;br /&gt;
 compatibility_level = 2&lt;br /&gt;
 smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem&lt;br /&gt;
 smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key&lt;br /&gt;
 smtpd_use_tls=yes&lt;br /&gt;
 smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache&lt;br /&gt;
 smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache&lt;br /&gt;
 smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination&lt;br /&gt;
 myhostname = 19e0c1cfc011.duvel.space&lt;br /&gt;
 alias_maps = hash:/etc/aliases&lt;br /&gt;
 alias_database = hash:/etc/aliases&lt;br /&gt;
 myorigin = /etc/mailname&lt;br /&gt;
 mydestination = $myhostname, duvel.space, 19e0c1cfc011, localhost.localdomain, localhost&lt;br /&gt;
 relayhost = &lt;br /&gt;
 mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128&lt;br /&gt;
 mailbox_size_limit = 0&lt;br /&gt;
 recipient_delimiter = +&lt;br /&gt;
 inet_interfaces = all&lt;br /&gt;
 inet_protocols = all&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;/etc/aliases d'un docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 postmaster: root&lt;br /&gt;
 jean: root&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;table de routage du postfix de la MV (/etc/postfix/relai_duvel&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 cle-guen     cle-guen@[172.17.0.14]&lt;br /&gt;
 gogole    gogole@[172.17.0.104]&lt;br /&gt;
 gogole2    gogole2@[172.17.0.108]&lt;br /&gt;
 jean    jean@[172.17.0.110]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46584</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46584"/>
				<updated>2017-12-06T22:04:55Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Dans cette page, nous avons décrit toutes les manipulations nécessaires afin de mener à bien ce projet.&lt;br /&gt;
&lt;br /&gt;
Vous trouverez en annexe tous les fichiers de configuration liés à ce projet (ceux de la machine virtuelle, de bind, d'apache, de postfix).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création de la machine virtuelle&amp;lt;/h3&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
 &lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse http://ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Voici les noms de ces clefs :&lt;br /&gt;
 clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
 clef asym clef d'enregistrement : Kduvel.space.+005+43650&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sécurisation du site web par certificat&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl.conf&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Gandi propose un certificat gratuit lorsque l'on achète un domaine.&lt;br /&gt;
&lt;br /&gt;
Nous ajoutons donc 3 lignes de configuration dans le fichier default-ssl.conf :&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile	/root/duvel.crt&lt;br /&gt;
 SSLCertificateKeyFile /root/duvel.key&lt;br /&gt;
 SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.crt contient le certificat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.key contient la clef privée du serveur.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance apache :&lt;br /&gt;
&lt;br /&gt;
 service apache2 restart&lt;br /&gt;
&lt;br /&gt;
Et on tente un connexion sécurisée vers le site web de duvel:&lt;br /&gt;
&lt;br /&gt;
 https://www.duvel.space&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création d'un docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Il est donc nécessaire de créer un conteneur par utilisateur.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord, on installe docker.&lt;br /&gt;
&lt;br /&gt;
 apt-get install docker&lt;br /&gt;
&lt;br /&gt;
Puis on récupère une image Debian de conteneur docker :&lt;br /&gt;
&lt;br /&gt;
 docker pull debian&lt;br /&gt;
&lt;br /&gt;
On crée alors un docker sur notre MV avec &lt;br /&gt;
&lt;br /&gt;
 docker run -i --privileged -p 5000:5000 -t debian /bin/bash &lt;br /&gt;
&lt;br /&gt;
On peut alors lister les dockers existants à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker ps -a&lt;br /&gt;
&lt;br /&gt;
On obtient par exemple :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                  PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Exited (1) 2 days ago&lt;br /&gt;
&lt;br /&gt;
On peut démarrer ce docker à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker start caa067cd1a6a&lt;br /&gt;
&lt;br /&gt;
On vérifie le démarrage en listant uniquement les conteneurs actifs :&lt;br /&gt;
&lt;br /&gt;
 docker ps (sans le -a qui permet de visualiser les dockers éteints, en veille etc.)&lt;br /&gt;
&lt;br /&gt;
On obtient :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Up About a minute&lt;br /&gt;
&lt;br /&gt;
Nous avons donc un conteneur en fonctionnement.&lt;br /&gt;
&lt;br /&gt;
Nous avons appris par la suite que si nous voulons que notre docker redémarre automatiquement, (au cas où la MV a redémarré, ou suite à un plantage), il faut les créer avec l'option :&lt;br /&gt;
&lt;br /&gt;
 docker run -i -t debian /bin/bash --restart always&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau du docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On vérifie que la configuration réseau est conforme :&lt;br /&gt;
&lt;br /&gt;
Point de vue duvel :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 3: docker0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 56:84:7a:fe:97:99 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.17.42.1/16 scope global docker0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::5484:7aff:fefe:9799/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
Et point de vue conteneur :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 10: eth0: &amp;lt;BROADCAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 02:42:ac:11:00:04 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.1.0.1/16 scope global eth0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::42:acff:fe11:4/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
La configuration du bridge semble correcte. On remarque qu'une configuration ipv6 est automatiquement créée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de postfix sur la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
La première étape est de configurer postfix sur la MV :&lt;br /&gt;
&lt;br /&gt;
 dpkg-reconfigure postfix&lt;br /&gt;
&lt;br /&gt;
De la, on se laisse guider par l'outil de configuration. Les paramètres sélectionnés importants sont :&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Type de serveur de messagerie : Site internet&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Nom de domaine: duvel.space&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On insère ensuite dans /etc/aliases :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 admin: root #mail de l'administrateur smtp&lt;br /&gt;
&lt;br /&gt;
On réalise ensuite la même configuration postfix sur le conteneur.&lt;br /&gt;
&lt;br /&gt;
Toutefois, le /etc/aliases du docker contiendra :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 $nom_de_l'utilisateur: root&lt;br /&gt;
&lt;br /&gt;
Les configurations de postfix et des alias sont terminées. Il faut penser à relancer postfix et appliquer les nouveaux alias :&lt;br /&gt;
&lt;br /&gt;
 newaliases&lt;br /&gt;
 service postfix restart&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Redirection des mails vers le conteneur concerné&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce serveur de messagerie est de respecter cette démarche :&lt;br /&gt;
&lt;br /&gt;
Le serveur de messagerie principal (MV duvel) reçoit un mail destiné à jean@duvel.space&lt;br /&gt;
Le serveur redirige ce mail vers le docker de monsieur Jean.&lt;br /&gt;
Le postfix du docker doit alors le placer dans la boite de messagerie de Jean.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il nous faut créer un virtual alias maps dans la configuration de postfix :&lt;br /&gt;
&lt;br /&gt;
 #Dans /etc/postfix/main.cf&lt;br /&gt;
 virtual_alias_maps = hash:/etc/postfix/relai_duvel&lt;br /&gt;
&lt;br /&gt;
Ensuite, on édite relai_duvel :&lt;br /&gt;
&lt;br /&gt;
 jean    jean@[adresse_ip_du_docker_associé]&lt;br /&gt;
 michel  michel@[adresse_ip_du_docker_associé]&lt;br /&gt;
 etc...&lt;br /&gt;
&lt;br /&gt;
On peut alors envoyer un mail à jean@duvel.space, qui sera stocké dans le docker créé pour Jean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Automatisation de l'ajout d'un utilisateur&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le dernier objectif de ce projet est d'automatiser l'ajout d'un utilisateur.&lt;br /&gt;
Nous avons choisi d'utiliser un fichier script. Son rôle est de :&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Créer un docker à partir d'un Dockerfile&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Configurer le Docker (ouvrir le port 25, installer Postfix...)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ajouter l'utilisateur dans le relai virtuel Postfix de la MV&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici le fichier script :&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
	#creation et configuration d'un docker pour un nouvel utilisateur&lt;br /&gt;
&lt;br /&gt;
	#on recupere le fichier de configuration postfix pour le docker (le meme pour tous les dockers)&lt;br /&gt;
 config=`cat postfix.cf.docker`&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Entrez le nom de l'utilisateur:&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
	#nom de l'utilisateur nom@duvel.space&lt;br /&gt;
 read nom&lt;br /&gt;
 &lt;br /&gt;
	#creation du dockerfile&lt;br /&gt;
 echo &amp;quot;FROM debian&amp;quot; &amp;gt; Dockerfile&lt;br /&gt;
 echo &amp;quot;RUN apt update&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
	#on ouvre le port 25 pour les mails&lt;br /&gt;
 echo &amp;quot;EXPOSE 25&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 echo &amp;quot;EXPOSE 80&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
	#on injecte la config de postfix&lt;br /&gt;
 echo &amp;quot;RUN apt-get install -y postfix mailutils&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
	#echo &amp;quot;RUN echo -e \&amp;quot;$config\&amp;quot; &amp;gt; /etc/postfix/main.cf&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 echo &amp;quot;COPY postfix.cf.docker /etc/postfix/main.cf&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
	#on genere le /etc/aliases&lt;br /&gt;
 echo &amp;quot;postmaster: root&amp;quot; &amp;gt; aliases.docker&lt;br /&gt;
 echo &amp;quot;$nom: root&amp;quot; &amp;gt;&amp;gt; aliases.docker&lt;br /&gt;
 &lt;br /&gt;
	#ongenere /etc/mailname&lt;br /&gt;
 echo &amp;quot;RUN echo \&amp;quot;duvel.space\&amp;quot; &amp;gt; /etc/mailname&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
	#on ajoute l'alias necessaire&lt;br /&gt;
 echo &amp;quot;COPY aliases.docker /etc/aliases&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;RUN service postfix start&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
 chemin=`pwd`&lt;br /&gt;
 &lt;br /&gt;
 echo $pwd&lt;br /&gt;
 &lt;br /&gt;
	#on construit l'image du docker&lt;br /&gt;
 docker build -t serveur_mail .&lt;br /&gt;
 &lt;br /&gt;
	#on cree le conteneur&lt;br /&gt;
 id_conteneur=`docker run -tid --restart always --privileged -p 1345:1345 serveur_mail`&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;\n*****ID du docker : ${id_conteneur:0:12}*****\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
	#on recupere l'adresse ip du conteneur&lt;br /&gt;
 ip_conteneur=`docker inspect --format '{{ .NetworkSettings.IPAddress }}' ${id_conteneur:0:12}`&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;adresse IPV4 du docker : $ip_conteneur&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
	#on l'ajoute a la table de routage&lt;br /&gt;
 echo &amp;quot;$nom    $nom@[$ip_conteneur]&amp;quot; &amp;gt;&amp;gt; /etc/postfix/relai_duvel&lt;br /&gt;
 &lt;br /&gt;
	#on cree le nouveau fichier relai_duvel.db&lt;br /&gt;
 postmap /etc/postfix/relai_duvel&lt;br /&gt;
 &lt;br /&gt;
	#on redemarre postfix&lt;br /&gt;
 service postfix restart&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;\n*****Configuration docker de $nom terminee*****\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Enregistrement du nom du docker dans la BDD&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
	#on ajout une ligne qui contient le nom d'utilisateur, avec l'ID et l'IP du conteneur associe&lt;br /&gt;
 echo &amp;quot;$nom : ${id_conteneur:0:12} : $ip_conteneur&amp;quot; &amp;gt;&amp;gt; bdd_serveur_mail&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;\n*****FIN*****\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
Ce fichier script permet la création de docker préconfiguré. Toutefois, Pour que ça fonctionne, nous sommes obligé de nous attacher au conteneur et de démarrer manuellement postfix :&lt;br /&gt;
&lt;br /&gt;
 service postfix start&lt;br /&gt;
&lt;br /&gt;
Après, ça fonctionne très bien.&lt;br /&gt;
&lt;br /&gt;
Bon, il y a quelques warnings et erreurs lors de la génération du conteneur... un Dockerfile est simple à rédiger, mais il est difficile d'interpréter les erreurs de dénération de docker.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Crack de la clef WEP&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng -w out -c 4 --essid ***** wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tentatives de connexion (force brute). On obtient finalement :&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng out-01.cap &lt;br /&gt;
 KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Annexes&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;/etc/postfix/main.cf de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 # See /usr/share/postfix/main.cf.dist for a commented, more complete version&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # Debian specific:  Specifying a file name will cause the first&lt;br /&gt;
 # line of that file to be used as the name.  The Debian default&lt;br /&gt;
 # is /etc/mailname.&lt;br /&gt;
 #myorigin = /etc/mailname&lt;br /&gt;
 &lt;br /&gt;
 smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)&lt;br /&gt;
 biff = no&lt;br /&gt;
 &lt;br /&gt;
 # appending .domain is the MUA's job.&lt;br /&gt;
 append_dot_mydomain = no&lt;br /&gt;
 &lt;br /&gt;
 # Uncomment the next line to generate &amp;quot;delayed mail&amp;quot; warnings&lt;br /&gt;
 #delay_warning_time = 4h&lt;br /&gt;
 &lt;br /&gt;
 readme_directory = no&lt;br /&gt;
 &lt;br /&gt;
 # TLS parameters&lt;br /&gt;
 smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem&lt;br /&gt;
 smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key&lt;br /&gt;
 smtpd_use_tls=yes&lt;br /&gt;
 smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache&lt;br /&gt;
 smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache&lt;br /&gt;
 &lt;br /&gt;
 # See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for&lt;br /&gt;
 # information on enabling SSL in the smtp client.&lt;br /&gt;
 &lt;br /&gt;
 smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination&lt;br /&gt;
 myhostname = duvel&lt;br /&gt;
 alias_maps = hash:/etc/aliases&lt;br /&gt;
 alias_database = hash:/etc/aliases&lt;br /&gt;
 myorigin = /etc/mailname&lt;br /&gt;
 mydestination = duvel.space, duvel, localhost.localdomain, localhost&lt;br /&gt;
 relayhost = &lt;br /&gt;
 mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 172.17.0.0/24&lt;br /&gt;
 mailbox_size_limit = 0&lt;br /&gt;
 recipient_delimiter = +&lt;br /&gt;
 inet_interfaces = all&lt;br /&gt;
 inet_protocols = all&lt;br /&gt;
 local_recipient_maps =&lt;br /&gt;
 &lt;br /&gt;
 # pour g�rer les mails&lt;br /&gt;
 &lt;br /&gt;
 virtual_alias_maps = hash:/etc/postfix/relai_duvel&lt;br /&gt;
 &lt;br /&gt;
 # authentification&lt;br /&gt;
 &lt;br /&gt;
 smtp_sasl_auth_enable   = yes&lt;br /&gt;
 smtp_sasl_password_maps = hash:/etc/postfix/sasl_password&lt;br /&gt;
 smtp_sasl_security_options = noanonymous &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;/etc/aliases de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 # See man 5 aliases for format&lt;br /&gt;
 postmaster:    root&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;/etc/postfix/main.cf d'un docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)&lt;br /&gt;
 biff = no&lt;br /&gt;
 append_dot_mydomain = no&lt;br /&gt;
 readme_directory = no&lt;br /&gt;
 compatibility_level = 2&lt;br /&gt;
 smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem&lt;br /&gt;
 smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key&lt;br /&gt;
 smtpd_use_tls=yes&lt;br /&gt;
 smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache&lt;br /&gt;
 smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache&lt;br /&gt;
 smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination&lt;br /&gt;
 myhostname = 19e0c1cfc011.duvel.space&lt;br /&gt;
 alias_maps = hash:/etc/aliases&lt;br /&gt;
 alias_database = hash:/etc/aliases&lt;br /&gt;
 myorigin = /etc/mailname&lt;br /&gt;
 mydestination = $myhostname, duvel.space, 19e0c1cfc011, localhost.localdomain, localhost&lt;br /&gt;
 relayhost = &lt;br /&gt;
 mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128&lt;br /&gt;
 mailbox_size_limit = 0&lt;br /&gt;
 recipient_delimiter = +&lt;br /&gt;
 inet_interfaces = all&lt;br /&gt;
 inet_protocols = all&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;/etc/aliases&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 postmaster: root&lt;br /&gt;
 jean: root&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;table de routage du postfix de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 cle-guen     cle-guen@[172.17.0.14]&lt;br /&gt;
 gogole    gogole@[172.17.0.104]&lt;br /&gt;
 gogole2    gogole2@[172.17.0.108]&lt;br /&gt;
 jean    jean@[172.17.0.110]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46583</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46583"/>
				<updated>2017-12-06T21:36:52Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Dans cette page, nous avons décrit toutes les manipulations nécessaires afin de mener à bien ce projet.&lt;br /&gt;
&lt;br /&gt;
Vous trouverez en annexe tous les fichiers de configuration liés à ce projet (ceux de la machine virtuelle, de bind, d'apache, de postfix).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création de la machine virtuelle&amp;lt;/h3&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
 &lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse http://ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Voici les noms de ces clefs :&lt;br /&gt;
 clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
 clef asym clef d'enregistrement : Kduvel.space.+005+43650&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sécurisation du site web par certificat&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl.conf&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Gandi propose un certificat gratuit lorsque l'on achète un domaine.&lt;br /&gt;
&lt;br /&gt;
Nous ajoutons donc 3 lignes de configuration dans le fichier default-ssl.conf :&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile	/root/duvel.crt&lt;br /&gt;
 SSLCertificateKeyFile /root/duvel.key&lt;br /&gt;
 SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.crt contient le certificat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.key contient la clef privée du serveur.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance apache :&lt;br /&gt;
&lt;br /&gt;
 service apache2 restart&lt;br /&gt;
&lt;br /&gt;
Et on tente un connexion sécurisée vers le site web de duvel:&lt;br /&gt;
&lt;br /&gt;
 https://www.duvel.space&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création d'un docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Il est donc nécessaire de créer un conteneur par utilisateur.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord, on installe docker.&lt;br /&gt;
&lt;br /&gt;
 apt-get install docker&lt;br /&gt;
&lt;br /&gt;
Puis on récupère une image Debian de conteneur docker :&lt;br /&gt;
&lt;br /&gt;
 docker pull debian&lt;br /&gt;
&lt;br /&gt;
On crée alors un docker sur notre MV avec &lt;br /&gt;
&lt;br /&gt;
 docker run -i --privileged -p 5000:5000 -t debian /bin/bash &lt;br /&gt;
&lt;br /&gt;
On peut alors lister les dockers existants à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker ps -a&lt;br /&gt;
&lt;br /&gt;
On obtient par exemple :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                  PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Exited (1) 2 days ago&lt;br /&gt;
&lt;br /&gt;
On peut démarrer ce docker à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker start caa067cd1a6a&lt;br /&gt;
&lt;br /&gt;
On vérifie le démarrage en listant uniquement les conteneurs actifs :&lt;br /&gt;
&lt;br /&gt;
 docker ps (sans le -a qui permet de visualiser les dockers éteints, en veille etc.)&lt;br /&gt;
&lt;br /&gt;
On obtient :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Up About a minute&lt;br /&gt;
&lt;br /&gt;
Nous avons donc un conteneur en fonctionnement.&lt;br /&gt;
&lt;br /&gt;
Nous avons appris par la suite que si nous voulons que notre docker redémarre automatiquement, (au cas où la MV a redémarré, ou suite à un plantage), il faut les créer avec l'option :&lt;br /&gt;
&lt;br /&gt;
 docker run -i -t debian /bin/bash --restart always&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau du docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On vérifie que la configuration réseau est conforme :&lt;br /&gt;
&lt;br /&gt;
Point de vue duvel :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 3: docker0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 56:84:7a:fe:97:99 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.17.42.1/16 scope global docker0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::5484:7aff:fefe:9799/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
Et point de vue conteneur :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 10: eth0: &amp;lt;BROADCAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 02:42:ac:11:00:04 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.1.0.1/16 scope global eth0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::42:acff:fe11:4/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
La configuration du bridge semble correcte. On remarque qu'une configuration ipv6 est automatiquement créée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de postfix sur la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
La première étape est de configurer postfix sur la MV :&lt;br /&gt;
&lt;br /&gt;
 dpkg-reconfigure postfix&lt;br /&gt;
&lt;br /&gt;
De la, on se laisse guider par l'outil de configuration. Les paramètres sélectionnés importants sont :&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Type de serveur de messagerie : Site internet&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Nom de domaine: duvel.space&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On insère ensuite dans /etc/aliases :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 admin: root #mail de l'administrateur smtp&lt;br /&gt;
&lt;br /&gt;
On réalise ensuite la même configuration postfix sur le conteneur.&lt;br /&gt;
&lt;br /&gt;
Toutefois, le /etc/aliases du docker contiendra :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 $nom_de_l'utilisateur: root&lt;br /&gt;
&lt;br /&gt;
Les configurations de postfix et des alias sont terminées. Il faut penser à relancer postfix et appliquer les nouveaux alias :&lt;br /&gt;
&lt;br /&gt;
 newaliases&lt;br /&gt;
 service postfix restart&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Redirection des mails vers le conteneur concerné&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce serveur de messagerie est de respecter cette démarche :&lt;br /&gt;
&lt;br /&gt;
Le serveur de messagerie principal (MV duvel) reçoit un mail destiné à jean@duvel.space&lt;br /&gt;
Le serveur redirige ce mail vers le docker de monsieur Jean.&lt;br /&gt;
Le postfix du docker doit alors le placer dans la boite de messagerie de Jean.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il nous faut créer un virtual alias maps dans la configuration de postfix :&lt;br /&gt;
&lt;br /&gt;
 #Dans /etc/postfix/main.cf&lt;br /&gt;
 virtual_alias_maps = hash:/etc/postfix/relai_duvel&lt;br /&gt;
&lt;br /&gt;
Ensuite, on édite relai_duvel :&lt;br /&gt;
&lt;br /&gt;
 jean    jean@[adresse_ip_du_docker_associé]&lt;br /&gt;
 michel  michel@[adresse_ip_du_docker_associé]&lt;br /&gt;
 etc...&lt;br /&gt;
&lt;br /&gt;
On peut alors envoyer un mail à jean@duvel.space, qui sera stocké dans le docker créé pour Jean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Automatisation de l'ajout d'un utilisateur&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le dernier objectif de ce projet est d'automatiser l'ajout d'un utilisateur.&lt;br /&gt;
Nous avons choisi d'utiliser un fichier script. Son rôle est de :&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Créer un docker à partir d'un Dockerfile&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Configurer le Docker (ouvrir le port 25, installer Postfix...)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ajouter l'utilisateur dans le relai virtuel Postfix de la MV&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici le fichier script :&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
	#creation et configuration d'un docker pour un nouvel utilisateur&lt;br /&gt;
&lt;br /&gt;
	#on recupere le fichier de configuration postfix pour le docker (le meme pour tous les dockers)&lt;br /&gt;
 config=`cat postfix.cf.docker`&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Entrez le nom de l'utilisateur:&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
	#nom de l'utilisateur nom@duvel.space&lt;br /&gt;
 read nom&lt;br /&gt;
 &lt;br /&gt;
	#creation du dockerfile&lt;br /&gt;
 echo &amp;quot;FROM debian&amp;quot; &amp;gt; Dockerfile&lt;br /&gt;
 echo &amp;quot;RUN apt update&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
	#on ouvre le port 25 pour les mails&lt;br /&gt;
 echo &amp;quot;EXPOSE 25&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 echo &amp;quot;EXPOSE 80&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
	#on injecte la config de postfix&lt;br /&gt;
 echo &amp;quot;RUN apt-get install -y postfix mailutils&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
	#echo &amp;quot;RUN echo -e \&amp;quot;$config\&amp;quot; &amp;gt; /etc/postfix/main.cf&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 echo &amp;quot;COPY postfix.cf.docker /etc/postfix/main.cf&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
	#on genere le /etc/aliases&lt;br /&gt;
 echo &amp;quot;postmaster: root&amp;quot; &amp;gt; aliases.docker&lt;br /&gt;
 echo &amp;quot;$nom: root&amp;quot; &amp;gt;&amp;gt; aliases.docker&lt;br /&gt;
 &lt;br /&gt;
	#ongenere /etc/mailname&lt;br /&gt;
 echo &amp;quot;RUN echo \&amp;quot;duvel.space\&amp;quot; &amp;gt; /etc/mailname&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
	#on ajoute l'alias necessaire&lt;br /&gt;
 echo &amp;quot;COPY aliases.docker /etc/aliases&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;RUN service postfix start&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
 chemin=`pwd`&lt;br /&gt;
 &lt;br /&gt;
 echo $pwd&lt;br /&gt;
 &lt;br /&gt;
	#on construit l'image du docker&lt;br /&gt;
 docker build -t serveur_mail .&lt;br /&gt;
 &lt;br /&gt;
	#on cree le conteneur&lt;br /&gt;
 id_conteneur=`docker run -tid --restart always --privileged -p 1345:1345 serveur_mail`&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;\n*****ID du docker : ${id_conteneur:0:12}*****\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
	#on recupere l'adresse ip du conteneur&lt;br /&gt;
 ip_conteneur=`docker inspect --format '{{ .NetworkSettings.IPAddress }}' ${id_conteneur:0:12}`&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;adresse IPV4 du docker : $ip_conteneur&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
	#on l'ajoute a la table de routage&lt;br /&gt;
 echo &amp;quot;$nom    $nom@[$ip_conteneur]&amp;quot; &amp;gt;&amp;gt; /etc/postfix/relai_duvel&lt;br /&gt;
 &lt;br /&gt;
	#on cree le nouveau fichier relai_duvel.db&lt;br /&gt;
 postmap /etc/postfix/relai_duvel&lt;br /&gt;
 &lt;br /&gt;
	#on redemarre postfix&lt;br /&gt;
 service postfix restart&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;\n*****Configuration docker de $nom terminee*****\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Enregistrement du nom du docker dans la BDD&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
	#on ajout une ligne qui contient le nom d'utilisateur, avec l'ID et l'IP du conteneur associe&lt;br /&gt;
 echo &amp;quot;$nom : ${id_conteneur:0:12} : $ip_conteneur&amp;quot; &amp;gt;&amp;gt; bdd_serveur_mail&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;\n*****FIN*****\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
Ce fichier script permet la création de docker préconfiguré. Toutefois, Pour que ça fonctionne, nous sommes obligé de nous attacher au conteneur et de démarrer manuellement postfix :&lt;br /&gt;
&lt;br /&gt;
 service postfix start&lt;br /&gt;
&lt;br /&gt;
Après, ça fonctionne très bien.&lt;br /&gt;
&lt;br /&gt;
Bon, il y a quelques warnings et erreurs lors de la génération du conteneur... un Dockerfile est simple à rédiger, mais il est difficile d'interpréter les erreurs de dénération de docker.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Crack de la clef WEP&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng -w out -c 4 --essid ***** wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tentatives de connexion (force brute). On obtient finalement :&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng out-01.cap &lt;br /&gt;
 KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46582</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46582"/>
				<updated>2017-12-06T21:20:47Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Dans cette page, nous avons décrit toutes les manipulations nécessaires afin de mener à bien ce projet.&lt;br /&gt;
&lt;br /&gt;
Vous trouverez en annexe tous les fichiers de configuration liés à ce projet (ceux de la machine virtuelle, de bind, d'apache, de postfix).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création de la machine virtuelle&amp;lt;/h3&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
 &lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse http://ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Voici les noms de ces clefs :&lt;br /&gt;
 clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
 clef asym clef d'enregistrement : Kduvel.space.+005+43650&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sécurisation du site web par certificat&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl.conf&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Gandi propose un certificat gratuit lorsque l'on achète un domaine.&lt;br /&gt;
&lt;br /&gt;
Nous ajoutons donc 3 lignes de configuration dans le fichier default-ssl.conf :&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile	/root/duvel.crt&lt;br /&gt;
 SSLCertificateKeyFile /root/duvel.key&lt;br /&gt;
 SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.crt contient le certificat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.key contient la clef privée du serveur.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance apache :&lt;br /&gt;
&lt;br /&gt;
 service apache2 restart&lt;br /&gt;
&lt;br /&gt;
Et on tente un connexion sécurisée vers le site web de duvel:&lt;br /&gt;
&lt;br /&gt;
 https://www.duvel.space&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création d'un docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Il est donc nécessaire de créer un conteneur par utilisateur.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord, on installe docker.&lt;br /&gt;
&lt;br /&gt;
 apt-get install docker&lt;br /&gt;
&lt;br /&gt;
Puis on récupère une image Debian de conteneur docker :&lt;br /&gt;
&lt;br /&gt;
 docker pull debian&lt;br /&gt;
&lt;br /&gt;
On crée alors un docker sur notre MV avec &lt;br /&gt;
&lt;br /&gt;
 docker run -i --privileged -p 5000:5000 -t debian /bin/bash &lt;br /&gt;
&lt;br /&gt;
On peut alors lister les dockers existants à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker ps -a&lt;br /&gt;
&lt;br /&gt;
On obtient par exemple :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                  PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Exited (1) 2 days ago&lt;br /&gt;
&lt;br /&gt;
On peut démarrer ce docker à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker start caa067cd1a6a&lt;br /&gt;
&lt;br /&gt;
On vérifie le démarrage en listant uniquement les conteneurs actifs :&lt;br /&gt;
&lt;br /&gt;
 docker ps (sans le -a qui permet de visualiser les dockers éteints, en veille etc.)&lt;br /&gt;
&lt;br /&gt;
On obtient :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Up About a minute&lt;br /&gt;
&lt;br /&gt;
Nous avons donc un conteneur en fonctionnement.&lt;br /&gt;
&lt;br /&gt;
Nous avons appris par la suite que si nous voulons que notre docker redémarre automatiquement, (au cas où la MV a redémarré, ou suite à un plantage), il faut les créer avec l'option :&lt;br /&gt;
&lt;br /&gt;
 docker run -i -t debian /bin/bash --restart always&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau du docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On vérifie que la configuration réseau est conforme :&lt;br /&gt;
&lt;br /&gt;
Point de vue duvel :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 3: docker0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 56:84:7a:fe:97:99 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.17.42.1/16 scope global docker0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::5484:7aff:fefe:9799/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
Et point de vue conteneur :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 10: eth0: &amp;lt;BROADCAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 02:42:ac:11:00:04 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.1.0.1/16 scope global eth0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::42:acff:fe11:4/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
La configuration du bridge semble correcte. On remarque qu'une configuration ipv6 est automatiquement créée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de postfix sur la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
La première étape est de configurer postfix sur la MV :&lt;br /&gt;
&lt;br /&gt;
 dpkg-reconfigure postfix&lt;br /&gt;
&lt;br /&gt;
De la, on se laisse guider par l'outil de configuration. Les paramètres sélectionnés importants sont :&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Type de serveur de messagerie : Site internet&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Nom de domaine: duvel.space&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On insère ensuite dans /etc/aliases :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 admin: root #mail de l'administrateur smtp&lt;br /&gt;
&lt;br /&gt;
On réalise ensuite la même configuration postfix sur le conteneur.&lt;br /&gt;
&lt;br /&gt;
Toutefois, le /etc/aliases du docker contiendra :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 $nom_de_l'utilisateur: root&lt;br /&gt;
&lt;br /&gt;
Les configurations de postfix et des alias sont terminées. Il faut penser à relancer postfix et appliquer les nouveaux alias :&lt;br /&gt;
&lt;br /&gt;
 newaliases&lt;br /&gt;
 service postfix restart&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Redirection des mails vers le conteneur concerné&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce serveur de messagerie est de respecter cette démarche :&lt;br /&gt;
&lt;br /&gt;
Le serveur de messagerie principal (MV duvel) reçoit un mail destiné à jean@duvel.space&lt;br /&gt;
Le serveur redirige ce mail vers le docker de monsieur Jean.&lt;br /&gt;
Le postfix du docker doit alors le placer dans la boite de messagerie de Jean.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il nous faut créer un virtual alias maps dans la configuration de postfix :&lt;br /&gt;
&lt;br /&gt;
 #Dans /etc/postfix/main.cf&lt;br /&gt;
 virtual_alias_maps = hash:/etc/postfix/relai_duvel&lt;br /&gt;
&lt;br /&gt;
Ensuite, on édite relai_duvel :&lt;br /&gt;
&lt;br /&gt;
 jean    jean@[adresse_ip_du_docker_associé]&lt;br /&gt;
 michel  michel@[adresse_ip_du_docker_associé]&lt;br /&gt;
 etc...&lt;br /&gt;
&lt;br /&gt;
On peut alors envoyer un mail à jean@duvel.space, qui sera stocké dans le docker créé pour Jean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Automatisation de l'ajout d'un utilisateur&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le dernier objectif de ce projet est d'automatiser l'ajout d'un utilisateur.&lt;br /&gt;
Nous avons choisi d'utiliser un fichier script. Son rôle est de :&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Créer un docker à partir d'un Dockerfile&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Configurer le Docker (ouvrir le port 25, installer Postfix...)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ajouter l'utilisateur dans le relai virtuel Postfix de la MV&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici le fichier script :&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
	#creation et configuration d'un docker pour un nouvel utilisateur&lt;br /&gt;
&lt;br /&gt;
	#on recupere le fichier de configuration postfix pour le docker (le meme pour tous les dockers)&lt;br /&gt;
 config=`cat postfix.cf.docker`&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Entrez le nom de l'utilisateur:&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
	#nom de l'utilisateur nom@duvel.space&lt;br /&gt;
 read nom&lt;br /&gt;
 &lt;br /&gt;
	#creation du dockerfile&lt;br /&gt;
 echo &amp;quot;FROM debian&amp;quot; &amp;gt; Dockerfile&lt;br /&gt;
 echo &amp;quot;RUN apt update&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
	#on ouvre le port 25 pour les mails&lt;br /&gt;
 echo &amp;quot;EXPOSE 25&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 echo &amp;quot;EXPOSE 80&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
	#on injecte la config de postfix&lt;br /&gt;
 echo &amp;quot;RUN apt-get install -y postfix mailutils&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
	#echo &amp;quot;RUN echo -e \&amp;quot;$config\&amp;quot; &amp;gt; /etc/postfix/main.cf&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 echo &amp;quot;COPY postfix.cf.docker /etc/postfix/main.cf&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
	#on genere le /etc/aliases&lt;br /&gt;
 echo &amp;quot;postmaster: root&amp;quot; &amp;gt; aliases.docker&lt;br /&gt;
 echo &amp;quot;$nom: root&amp;quot; &amp;gt;&amp;gt; aliases.docker&lt;br /&gt;
 &lt;br /&gt;
	#ongenere /etc/mailname&lt;br /&gt;
 echo &amp;quot;RUN echo \&amp;quot;duvel.space\&amp;quot; &amp;gt; /etc/mailname&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
	#on ajoute l'alias necessaire&lt;br /&gt;
 echo &amp;quot;COPY aliases.docker /etc/aliases&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;RUN service postfix start&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
 chemin=`pwd`&lt;br /&gt;
 &lt;br /&gt;
 echo $pwd&lt;br /&gt;
 &lt;br /&gt;
	#on construit l'image du docker&lt;br /&gt;
 docker build -t serveur_mail .&lt;br /&gt;
 &lt;br /&gt;
	#on cree le conteneur&lt;br /&gt;
 id_conteneur=`docker run -tid --restart always --privileged -p 1345:1345 serveur_mail`&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;\n*****ID du docker : ${id_conteneur:0:12}*****\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
	#on recupere l'adresse ip du conteneur&lt;br /&gt;
 ip_conteneur=`docker inspect --format '{{ .NetworkSettings.IPAddress }}' ${id_conteneur:0:12}`&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;adresse IPV4 du docker : $ip_conteneur&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
	#on l'ajoute a la table de routage&lt;br /&gt;
 echo &amp;quot;$nom    $nom@[$ip_conteneur]&amp;quot; &amp;gt;&amp;gt; /etc/postfix/relai_duvel&lt;br /&gt;
 &lt;br /&gt;
	#on cree le nouveau fichier relai_duvel.db&lt;br /&gt;
 postmap /etc/postfix/relai_duvel&lt;br /&gt;
 &lt;br /&gt;
	#on redemarre postfix&lt;br /&gt;
 service postfix restart&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;\n*****Configuration docker de $nom terminee*****\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Enregistrement du nom du docker dans la BDD&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
	#on ajout une ligne qui contient le nom d'utilisateur, avec l'ID et l'IP du conteneur associe&lt;br /&gt;
 echo &amp;quot;$nom : ${id_conteneur:0:12} : $ip_conteneur&amp;quot; &amp;gt;&amp;gt; bdd_serveur_mail&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;\n*****FIN*****\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Crack de la clef WEP&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng -w out -c 4 --essid ***** wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tentatives de connexion (force brute). On obtient finalement :&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng out-01.cap &lt;br /&gt;
 KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46581</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46581"/>
				<updated>2017-12-06T21:18:31Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Dans cette page, nous avons décrit toutes les manipulations nécessaires afin de mener à bien ce projet.&lt;br /&gt;
&lt;br /&gt;
Vous trouverez en annexe tous les fichiers de configuration liés à ce projet (ceux de la machine virtuelle, de bind, d'apache, de postfix).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création de la machine virtuelle&amp;lt;/h3&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
 &lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse http://ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Voici les noms de ces clefs :&lt;br /&gt;
 clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
 clef asym clef d'enregistrement : Kduvel.space.+005+43650&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sécurisation du site web par certificat&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl.conf&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Gandi propose un certificat gratuit lorsque l'on achète un domaine.&lt;br /&gt;
&lt;br /&gt;
Nous ajoutons donc 3 lignes de configuration dans le fichier default-ssl.conf :&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile	/root/duvel.crt&lt;br /&gt;
 SSLCertificateKeyFile /root/duvel.key&lt;br /&gt;
 SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.crt contient le certificat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.key contient la clef privée du serveur.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance apache :&lt;br /&gt;
&lt;br /&gt;
 service apache2 restart&lt;br /&gt;
&lt;br /&gt;
Et on tente un connexion sécurisée vers le site web de duvel:&lt;br /&gt;
&lt;br /&gt;
 https://www.duvel.space&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création d'un docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Il est donc nécessaire de créer un conteneur par utilisateur.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord, on installe docker.&lt;br /&gt;
&lt;br /&gt;
 apt-get install docker&lt;br /&gt;
&lt;br /&gt;
Puis on récupère une image Debian de conteneur docker :&lt;br /&gt;
&lt;br /&gt;
 docker pull debian&lt;br /&gt;
&lt;br /&gt;
On crée alors un docker sur notre MV avec &lt;br /&gt;
&lt;br /&gt;
 docker run -i --privileged -p 5000:5000 -t debian /bin/bash &lt;br /&gt;
&lt;br /&gt;
On peut alors lister les dockers existants à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker ps -a&lt;br /&gt;
&lt;br /&gt;
On obtient par exemple :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                  PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Exited (1) 2 days ago&lt;br /&gt;
&lt;br /&gt;
On peut démarrer ce docker à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker start caa067cd1a6a&lt;br /&gt;
&lt;br /&gt;
On vérifie le démarrage en listant uniquement les conteneurs actifs :&lt;br /&gt;
&lt;br /&gt;
 docker ps (sans le -a qui permet de visualiser les dockers éteints, en veille etc.)&lt;br /&gt;
&lt;br /&gt;
On obtient :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Up About a minute&lt;br /&gt;
&lt;br /&gt;
Nous avons donc un conteneur en fonctionnement.&lt;br /&gt;
&lt;br /&gt;
Nous avons appris par la suite que si nous voulons que notre docker redémarre automatiquement, (au cas où la MV a redémarré, ou suite à un plantage), il faut les créer avec l'option :&lt;br /&gt;
&lt;br /&gt;
 docker run -i -t debian /bin/bash --restart always&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau du docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On vérifie que la configuration réseau est conforme :&lt;br /&gt;
&lt;br /&gt;
Point de vue duvel :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 3: docker0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 56:84:7a:fe:97:99 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.17.42.1/16 scope global docker0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::5484:7aff:fefe:9799/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
Et point de vue conteneur :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 10: eth0: &amp;lt;BROADCAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 02:42:ac:11:00:04 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.1.0.1/16 scope global eth0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::42:acff:fe11:4/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
La configuration du bridge semble correcte. On remarque qu'une configuration ipv6 est automatiquement créée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de postfix sur la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
La première étape est de configurer postfix sur la MV :&lt;br /&gt;
&lt;br /&gt;
 dpkg-reconfigure postfix&lt;br /&gt;
&lt;br /&gt;
De la, on se laisse guider par l'outil de configuration. Les paramètres sélectionnés importants sont :&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Type de serveur de messagerie : Site internet&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Nom de domaine: duvel.space&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On insère ensuite dans /etc/aliases :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 admin: root #mail de l'administrateur smtp&lt;br /&gt;
&lt;br /&gt;
On réalise ensuite la même configuration postfix sur le conteneur.&lt;br /&gt;
&lt;br /&gt;
Toutefois, le /etc/aliases du docker contiendra :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 $nom_de_l'utilisateur: root&lt;br /&gt;
&lt;br /&gt;
Les configurations de postfix et des alias sont terminées. Il faut penser à relancer postfix et appliquer les nouveaux alias :&lt;br /&gt;
&lt;br /&gt;
 newaliases&lt;br /&gt;
 service postfix restart&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Redirection des mails vers le conteneur concerné&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce serveur de messagerie est de respecter cette démarche :&lt;br /&gt;
&lt;br /&gt;
Le serveur de messagerie principal (MV duvel) reçoit un mail destiné à jean@duvel.space&lt;br /&gt;
Le serveur redirige ce mail vers le docker de monsieur Jean.&lt;br /&gt;
Le postfix du docker doit alors le placer dans la boite de messagerie de Jean.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il nous faut créer un virtual alias maps dans la configuration de postfix :&lt;br /&gt;
&lt;br /&gt;
 #Dans /etc/postfix/main.cf&lt;br /&gt;
 virtual_alias_maps = hash:/etc/postfix/relai_duvel&lt;br /&gt;
&lt;br /&gt;
Ensuite, on édite relai_duvel :&lt;br /&gt;
&lt;br /&gt;
 jean    jean@[adresse_ip_du_docker_associé]&lt;br /&gt;
 michel  michel@[adresse_ip_du_docker_associé]&lt;br /&gt;
 etc...&lt;br /&gt;
&lt;br /&gt;
On peut alors envoyer un mail à jean@duvel.space, qui sera stocké dans le docker créé pour Jean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Automatisation de l'ajout d'un utilisateur&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le dernier objectif de ce projet est d'automatiser l'ajout d'un utilisateur.&lt;br /&gt;
Nous avons choisi d'utiliser un fichier script. Son rôle est de :&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Créer un docker à partir d'un Dockerfile&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Configurer le Docker (ouvrir le port 25, installer Postfix...)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ajouter l'utilisateur dans le relai virtuel Postfix de la MV&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici le fichier script :&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
         #creation et configuration d'un docker pour un nouvel utilisateur&lt;br /&gt;
&lt;br /&gt;
         #on recupere le fichier de configuration postfix pour le docker (le meme pour tous les dockers)&lt;br /&gt;
 config=`cat postfix.cf.docker`&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Entrez le nom de l'utilisateur:&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 	#nom de l'utilisateur nom@duvel.space&lt;br /&gt;
 read nom&lt;br /&gt;
 &lt;br /&gt;
 	#creation du dockerfile&lt;br /&gt;
 echo &amp;quot;FROM debian&amp;quot; &amp;gt; Dockerfile&lt;br /&gt;
 echo &amp;quot;RUN apt update&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
 	#on ouvre le port 25 pour les mails&lt;br /&gt;
 echo &amp;quot;EXPOSE 25&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 echo &amp;quot;EXPOSE 80&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
 	#on injecte la config de postfix&lt;br /&gt;
 echo &amp;quot;RUN apt-get install -y postfix mailutils&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 	#echo &amp;quot;RUN echo -e \&amp;quot;$config\&amp;quot; &amp;gt; /etc/postfix/main.cf&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 echo &amp;quot;COPY postfix.cf.docker /etc/postfix/main.cf&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
 	#on genere le /etc/aliases&lt;br /&gt;
 echo &amp;quot;postmaster: root&amp;quot; &amp;gt; aliases.docker&lt;br /&gt;
 echo &amp;quot;$nom: root&amp;quot; &amp;gt;&amp;gt; aliases.docker&lt;br /&gt;
 &lt;br /&gt;
 	#ongenere /etc/mailname&lt;br /&gt;
 echo &amp;quot;RUN echo \&amp;quot;duvel.space\&amp;quot; &amp;gt; /etc/mailname&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
 	#on ajoute l'alias necessaire&lt;br /&gt;
 echo &amp;quot;COPY aliases.docker /etc/aliases&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;RUN service postfix start&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
 chemin=`pwd`&lt;br /&gt;
 &lt;br /&gt;
 echo $pwd&lt;br /&gt;
 &lt;br /&gt;
 	#on construit l'image du docker&lt;br /&gt;
 docker build -t serveur_mail .&lt;br /&gt;
 &lt;br /&gt;
	#on cree le conteneur&lt;br /&gt;
 id_conteneur=`docker run -tid -p 1345:1345 serveur_mail`&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;\n*****ID du docker : ${id_conteneur:0:12}*****\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
	#on recupere l'adresse ip du conteneur&lt;br /&gt;
 ip_conteneur=`docker inspect --format '{{ .NetworkSettings.IPAddress }}' ${id_conteneur:0:12}`&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;adresse IPV4 du docker : $ip_conteneur&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
	#on l'ajoute a la table de routage&lt;br /&gt;
 echo &amp;quot;$nom    $nom@[$ip_conteneur]&amp;quot; &amp;gt;&amp;gt; /etc/postfix/relai_duvel&lt;br /&gt;
 &lt;br /&gt;
	#on cree le nouveau fichier relai_duvel.db&lt;br /&gt;
 postmap /etc/postfix/relai_duvel&lt;br /&gt;
 &lt;br /&gt;
	#on redemarre postfix&lt;br /&gt;
 service postfix restart&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;\n*****Configuration docker de $nom terminee*****\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Enregistrement du nom du docker dans la BDD&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
	#on ajout une ligne qui contient le nom d'utilisateur, avec l'ID et l'IP du conteneur associe&lt;br /&gt;
 echo &amp;quot;$nom : ${id_conteneur:0:12} : $ip_conteneur&amp;quot; &amp;gt;&amp;gt; bdd_serveur_mail&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;\n*****FIN*****\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Crack de la clef WEP&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng -w out -c 4 --essid ***** wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tentatives de connexion (force brute). On obtient finalement :&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng out-01.cap &lt;br /&gt;
 KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46546</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46546"/>
				<updated>2017-12-04T14:29:18Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Dans cette page, nous avons décrit toutes les manipulations nécessaires afin de mener à bien ce projet.&lt;br /&gt;
&lt;br /&gt;
Vous trouverez en annexe tous les fichiers de configuration liés à ce projet (ceux de la machine virtuelle, de bind, d'apache, de postfix).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création de la machine virtuelle&amp;lt;/h3&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
 &lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse http://ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Voici les noms de ces clefs :&lt;br /&gt;
 clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
 clef asym clef d'enregistrement : Kduvel.space.+005+43650&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sécurisation du site web par certificat&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl.conf&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Gandi propose un certificat gratuit lorsque l'on achète un domaine.&lt;br /&gt;
&lt;br /&gt;
Nous ajoutons donc 3 lignes de configuration dans le fichier default-ssl.conf :&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile	/root/duvel.crt&lt;br /&gt;
 SSLCertificateKeyFile /root/duvel.key&lt;br /&gt;
 SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.crt contient le certificat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.key contient la clef privée du serveur.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance apache :&lt;br /&gt;
&lt;br /&gt;
 service apache2 restart&lt;br /&gt;
&lt;br /&gt;
Et on tente un connexion sécurisée vers le site web de duvel:&lt;br /&gt;
&lt;br /&gt;
 https://www.duvel.space&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création d'un docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Il est donc nécessaire de créer un conteneur par utilisateur.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord, on installe docker.&lt;br /&gt;
&lt;br /&gt;
 apt-get install docker&lt;br /&gt;
&lt;br /&gt;
Puis on récupère une image Debian de conteneur docker :&lt;br /&gt;
&lt;br /&gt;
 docker pull debian&lt;br /&gt;
&lt;br /&gt;
On crée alors un docker sur notre MV avec &lt;br /&gt;
&lt;br /&gt;
 docker run -i --privileged -p 5000:5000 -t debian /bin/bash &lt;br /&gt;
&lt;br /&gt;
On peut alors lister les dockers existants à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker ps -a&lt;br /&gt;
&lt;br /&gt;
On obtient par exemple :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                  PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Exited (1) 2 days ago&lt;br /&gt;
&lt;br /&gt;
On peut démarrer ce docker à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker start caa067cd1a6a&lt;br /&gt;
&lt;br /&gt;
On vérifie le démarrage en listant uniquement les conteneurs actifs :&lt;br /&gt;
&lt;br /&gt;
 docker ps (sans le -a qui permet de visualiser les dockers éteints, en veille etc.)&lt;br /&gt;
&lt;br /&gt;
On obtient :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Up About a minute&lt;br /&gt;
&lt;br /&gt;
Nous avons donc un conteneur en fonctionnement.&lt;br /&gt;
&lt;br /&gt;
Nous avons appris par la suite que si nous voulons que notre docker redémarre automatiquement, (au cas où la MV a redémarré, ou suite à un plantage), il faut les créer avec l'option :&lt;br /&gt;
&lt;br /&gt;
 docker run -i -t debian /bin/bash --restart always&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau du docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On vérifie que la configuration réseau est conforme :&lt;br /&gt;
&lt;br /&gt;
Point de vue duvel :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 3: docker0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 56:84:7a:fe:97:99 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.17.42.1/16 scope global docker0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::5484:7aff:fefe:9799/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
Et point de vue conteneur :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 10: eth0: &amp;lt;BROADCAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 02:42:ac:11:00:04 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.1.0.1/16 scope global eth0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::42:acff:fe11:4/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
La configuration du bridge semble correcte. On remarque qu'une configuration ipv6 est automatiquement créée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de postfix sur la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
La première étape est de configurer postfix sur la MV :&lt;br /&gt;
&lt;br /&gt;
 dpkg-reconfigure postfix&lt;br /&gt;
&lt;br /&gt;
De la, on se laisse guider par l'outil de configuration. Les paramètres sélectionnés importants sont :&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Type de serveur de messagerie : Site internet&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Nom de domaine: duvel.space&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On insère ensuite dans /etc/aliases :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 admin: root #mail de l'administrateur smtp&lt;br /&gt;
&lt;br /&gt;
On réalise ensuite la même configuration postfix sur le conteneur.&lt;br /&gt;
&lt;br /&gt;
Toutefois, le /etc/aliases du docker contiendra :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 $nom_de_l'utilisateur: root&lt;br /&gt;
&lt;br /&gt;
Les configurations de postfix et des alias sont terminées. Il faut penser à relancer postfix et appliquer les nouveaux alias :&lt;br /&gt;
&lt;br /&gt;
 newaliases&lt;br /&gt;
 service postfix restart&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Redirection des mails vers le conteneur concerné&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce serveur de messagerie est de respecter cette démarche :&lt;br /&gt;
&lt;br /&gt;
Le serveur de messagerie principal (MV duvel) reçoit un mail destiné à jean@duvel.space&lt;br /&gt;
Le serveur redirige ce mail vers le docker de monsieur Jean.&lt;br /&gt;
Le postfix du docker doit alors le placer dans la boite de messagerie de Jean.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il nous faut créer un virtual alias maps dans la configuration de postfix :&lt;br /&gt;
&lt;br /&gt;
 #Dans /etc/postfix/main.cf&lt;br /&gt;
 virtual_alias_maps = hash:/etc/postfix/relai_duvel&lt;br /&gt;
&lt;br /&gt;
Ensuite, on édite relai_duvel :&lt;br /&gt;
&lt;br /&gt;
 jean    jean@[adresse_ip_du_docker_associé]&lt;br /&gt;
 michel  michel@[adresse_ip_du_docker_associé]&lt;br /&gt;
 etc...&lt;br /&gt;
&lt;br /&gt;
On peut alors envoyer un mail à jean@duvel.space, qui sera stocké dans le docker créé pour Jean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Automatisation de l'ajout d'un utilisateur&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le dernier objectif de ce projet est d'automatiser l'ajout d'un utilisateur.&lt;br /&gt;
Nous avons choisi d'utiliser un fichier script. Son rôle est de :&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Créer un docker à partir d'un Dockerfile&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Configurer le Docker (ouvrir le port 25, installer Postfix...)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ajouter l'utilisateur dans le relai virtuel Postfix de la MV&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici le fichier script :&lt;br /&gt;
&lt;br /&gt;
$$$$$$(encore en phase de test)$$$$$$&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 #creation et configuration d'un docker pour un nouvel utilisateur&lt;br /&gt;
 &lt;br /&gt;
 #on recupere le fichier de configuration postfix pour le docker (le meme pour tous les dockers)&lt;br /&gt;
 config=`cat postfix.cf.docker`&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Entrez le nom de l'utilisateur:&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #nom de l'utilisateur nom@duvel.space&lt;br /&gt;
 read nom&lt;br /&gt;
 &lt;br /&gt;
 #creation du dockerfile&lt;br /&gt;
 echo &amp;quot;FROM debian&amp;quot; &amp;gt; Dockerfile&lt;br /&gt;
 echo &amp;quot;RUN apt update&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
 #on ouvre le port 25 pour les mails&lt;br /&gt;
 echo &amp;quot;EXPOSE 25&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
 #on ajoute l'alias necessaire&lt;br /&gt;
 echo &amp;quot;RUN echo \&amp;quot;$nom: root\&amp;quot; &amp;gt;&amp;gt; /etc/aliases&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 echo &amp;quot;RUN newaliases&amp;quot;  &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 echo &amp;quot;RUN apt install postfix mailutils&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
 #on injecte la config de postfix&lt;br /&gt;
 echo &amp;quot;RUN echo $config&amp;quot; &amp;gt; /etc/postfix/main.cf &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 echo &amp;quot;CMD service postfix start&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
 chemin=`pwd`&lt;br /&gt;
 &lt;br /&gt;
 #on construit l'image du docker&lt;br /&gt;
 docker image build -t $chemin&lt;br /&gt;
 &lt;br /&gt;
 #on cree le conteneur&lt;br /&gt;
 id_conteneur=`docker run -ti --privileged --restart always -p 25:25 $chemin`&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;\n*****ID du docker : $id_conteneur*****\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #on recupere l'adresse ip du conteneur&lt;br /&gt;
 ip_conteneur=`docker inspect -f &amp;quot;{{ .NetworkSettings.Networks.nat.IPAddress }}&amp;quot; $id_conteneur`&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;adresse IPV4 du docker : $ip_conteneur&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #on l'ajoute a la table de routage&lt;br /&gt;
 echo &amp;quot;$nom    $nom@[$ip_conteneur]&amp;quot; &amp;gt;&amp;gt; /etc/postfix/relai_duvel&lt;br /&gt;
 &lt;br /&gt;
 #on cree le nouveau fichier relai_duvel.db&lt;br /&gt;
 postmap /etc/postfix/relai_duvel&lt;br /&gt;
 &lt;br /&gt;
 #on redemarre postfix&lt;br /&gt;
 service postfix restart&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;\n*****Configuration docker de $nom terminee*****\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Enregistrement du nom du docker dans la BDD&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #on ajout une ligne qui contient le nom d'utilisateur, avec l'ID et l'IP du conteneur associe&lt;br /&gt;
 echo &amp;quot;$nom : $id_conteneur : $ip_conteneur&amp;quot; &amp;gt;&amp;gt; bdd_serveur_mail&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;\n*****FIN*****\n&amp;quot;&lt;br /&gt;
&lt;br /&gt;
$$$$$$(encore en phase de test)$$$$$$&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Crack de la clef WEP&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng -w out -c 4 --essid ***** wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tentatives de connexion (force brute). On obtient finalement :&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng out-01.cap &lt;br /&gt;
 KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46545</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46545"/>
				<updated>2017-12-04T14:28:25Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Dans cette page, nous avons décrit toutes les manipulations nécessaires afin de mener à bien ce projet.&lt;br /&gt;
&lt;br /&gt;
Vous trouverez en annexe tous les fichiers de configuration liés à ce projet (ceux de la machine virtuelle, de bind, d'apache, de postfix).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création de la machine virtuelle&amp;lt;/h3&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
 &lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse http://ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Voici les noms de ces clefs :&lt;br /&gt;
 clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
 clef asym clef d'enregistrement : Kduvel.space.+005+43650&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sécurisation du site web par certificat&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl.conf&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Gandi propose un certificat gratuit lorsque l'on achète un domaine.&lt;br /&gt;
&lt;br /&gt;
Nous ajoutons donc 3 lignes de configuration dans le fichier default-ssl.conf :&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile	/root/duvel.crt&lt;br /&gt;
 SSLCertificateKeyFile /root/duvel.key&lt;br /&gt;
 SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.crt contient le certificat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.key contient la clef privée du serveur.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance apache :&lt;br /&gt;
&lt;br /&gt;
 service apache2 restart&lt;br /&gt;
&lt;br /&gt;
Et on tente un connexion sécurisée vers le site web de duvel:&lt;br /&gt;
&lt;br /&gt;
 https://www.duvel.space&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création d'un docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Il est donc nécessaire de créer un conteneur par utilisateur.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord, on installe docker.&lt;br /&gt;
&lt;br /&gt;
 apt-get install docker&lt;br /&gt;
&lt;br /&gt;
Puis on récupère une image Debian de conteneur docker :&lt;br /&gt;
&lt;br /&gt;
 docker pull debian&lt;br /&gt;
&lt;br /&gt;
On crée alors un docker sur notre MV avec &lt;br /&gt;
&lt;br /&gt;
 docker run -i --privileged -p 5000:5000 -t debian /bin/bash &lt;br /&gt;
&lt;br /&gt;
On peut alors lister les dockers existants à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker ps -a&lt;br /&gt;
&lt;br /&gt;
On obtient par exemple :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                  PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Exited (1) 2 days ago&lt;br /&gt;
&lt;br /&gt;
On peut démarrer ce docker à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker start caa067cd1a6a&lt;br /&gt;
&lt;br /&gt;
On vérifie le démarrage en listant uniquement les conteneurs actifs :&lt;br /&gt;
&lt;br /&gt;
 docker ps (sans le -a qui permet de visualiser les dockers éteints, en veille etc.)&lt;br /&gt;
&lt;br /&gt;
On obtient :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Up About a minute&lt;br /&gt;
&lt;br /&gt;
Nous avons donc un conteneur en fonctionnement.&lt;br /&gt;
&lt;br /&gt;
Nous avons appris par la suite que si nous voulons que notre docker redémarre automatiquement, (au cas où la MV a redémarré, ou suite à un plantage), il faut les créer avec l'option :&lt;br /&gt;
&lt;br /&gt;
 docker run -i -t debian /bin/bash --restart always&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau du docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On vérifie que la configuration réseau est conforme :&lt;br /&gt;
&lt;br /&gt;
Point de vue duvel :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 3: docker0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 56:84:7a:fe:97:99 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.17.42.1/16 scope global docker0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::5484:7aff:fefe:9799/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
Et point de vue conteneur :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 10: eth0: &amp;lt;BROADCAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 02:42:ac:11:00:04 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.1.0.1/16 scope global eth0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::42:acff:fe11:4/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
La configuration du bridge semble correcte. On remarque qu'une configuration ipv6 est automatiquement créée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de postfix sur la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
La première étape est de configurer postfix sur la MV :&lt;br /&gt;
&lt;br /&gt;
 dpkg-reconfigure postfix&lt;br /&gt;
&lt;br /&gt;
De la, on se laisse guider par l'outil de configuration. Les paramètres sélectionnés importants sont :&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Type de serveur de messagerie : Site internet&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Nom de domaine: duvel.space&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On insère ensuite dans /etc/aliases :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 admin: root #mail de l'administrateur smtp&lt;br /&gt;
&lt;br /&gt;
On réalise ensuite la même configuration postfix sur le conteneur.&lt;br /&gt;
&lt;br /&gt;
Toutefois, le /etc/aliases du docker contiendra :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 $nom_de_l'utilisateur: root&lt;br /&gt;
&lt;br /&gt;
Les configurations de postfix et des alias sont terminées. Il faut penser à relancer postfix et appliquer les nouveaux alias :&lt;br /&gt;
&lt;br /&gt;
 newaliases&lt;br /&gt;
 service postfix restart&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Redirection des mails vers le conteneur concerné&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce serveur de messagerie est de respecter cette démarche :&lt;br /&gt;
&lt;br /&gt;
Le serveur de messagerie principal (MV duvel) reçoit un mail destiné à jean@duvel.space&lt;br /&gt;
Le serveur redirige ce mail vers le docker de monsieur Jean.&lt;br /&gt;
Le postfix du docker doit alors le placer dans la boite de messagerie de Jean.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il nous faut créer un virtual alias maps dans la configuration de postfix :&lt;br /&gt;
&lt;br /&gt;
 #Dans /etc/postfix/main.cf&lt;br /&gt;
 virtual_alias_maps = hash:/etc/postfix/relai_duvel&lt;br /&gt;
&lt;br /&gt;
Ensuite, on édite relai_duvel :&lt;br /&gt;
&lt;br /&gt;
 jean    jean@[adresse_ip_du_docker_associé]&lt;br /&gt;
 michel  michel@[adresse_ip_du_docker_associé]&lt;br /&gt;
 etc...&lt;br /&gt;
&lt;br /&gt;
On peut alors envoyer un mail à jean@duvel.space, qui sera stocké dans le docker créé pour Jean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Automatisation de l'ajout d'un utilisateur&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le dernier objectif de ce projet est d'automatiser l'ajout d'un utilisateur.&lt;br /&gt;
Nous avons choisi d'utiliser un fichier script. Son rôle est de :&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Créer un docker à partir d'un Dockerfile&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Configurer le Docker (ouvrir le port 25, installer Postfix...)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ajouter l'utilisateur dans le relai virtuel Postfix de la MV&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici le fichier script :&lt;br /&gt;
&lt;br /&gt;
########(encore en phase de test)########&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 #creation et configuration d'un docker pour un nouvel utilisateur&lt;br /&gt;
 &lt;br /&gt;
 #on recupere le fichier de configuration postfix pour le docker (le meme pour tous les dockers)&lt;br /&gt;
 config=`cat postfix.cf.docker`&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Entrez le nom de l'utilisateur:&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #nom de l'utilisateur nom@duvel.space&lt;br /&gt;
 read nom&lt;br /&gt;
 &lt;br /&gt;
 #creation du dockerfile&lt;br /&gt;
 echo &amp;quot;FROM debian&amp;quot; &amp;gt; Dockerfile&lt;br /&gt;
 echo &amp;quot;RUN apt update&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
 #on ouvre le port 25 pour les mails&lt;br /&gt;
 echo &amp;quot;EXPOSE 25&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
 #on ajoute l'alias necessaire&lt;br /&gt;
 echo &amp;quot;RUN echo \&amp;quot;$nom: root\&amp;quot; &amp;gt;&amp;gt; /etc/aliases&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 echo &amp;quot;RUN newaliases&amp;quot;  &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 echo &amp;quot;RUN apt install postfix mailutils&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
 #on injecte la config de postfix&lt;br /&gt;
 echo &amp;quot;RUN echo $config&amp;quot; &amp;gt; /etc/postfix/main.cf &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 echo &amp;quot;CMD service postfix start&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
 chemin=`pwd`&lt;br /&gt;
 &lt;br /&gt;
 #on construit l'image du docker&lt;br /&gt;
 docker image build -t $chemin&lt;br /&gt;
 &lt;br /&gt;
 #on cree le conteneur&lt;br /&gt;
 id_conteneur=`docker run -ti --privileged --restart always -p 25:25 $chemin`&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;\n*****ID du docker : $id_conteneur*****\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #on recupere l'adresse ip du conteneur&lt;br /&gt;
 ip_conteneur=`docker inspect -f &amp;quot;{{ .NetworkSettings.Networks.nat.IPAddress }}&amp;quot; $id_conteneur`&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;adresse IPV4 du docker : $ip_conteneur&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #on l'ajoute a la table de routage&lt;br /&gt;
 echo &amp;quot;$nom    $nom@[$ip_conteneur]&amp;quot; &amp;gt;&amp;gt; /etc/postfix/relai_duvel&lt;br /&gt;
 &lt;br /&gt;
 #on cree le nouveau fichier relai_duvel.db&lt;br /&gt;
 postmap /etc/postfix/relai_duvel&lt;br /&gt;
 &lt;br /&gt;
 #on redemarre postfix&lt;br /&gt;
 service postfix restart&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;\n*****Configuration docker de $nom terminee*****\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Enregistrement du nom du docker dans la BDD&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #on ajout une ligne qui contient le nom d'utilisateur, avec l'ID et l'IP du conteneur associe&lt;br /&gt;
 echo &amp;quot;$nom : $id_conteneur : $ip_conteneur&amp;quot; &amp;gt;&amp;gt; bdd_serveur_mail&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;\n*****FIN*****\n&amp;quot;&lt;br /&gt;
&lt;br /&gt;
########(encore en phase de test)########&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Crack de la clef WEP&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng -w out -c 4 --essid ***** wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tentatives de connexion (force brute). On obtient finalement :&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng out-01.cap &lt;br /&gt;
 KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46544</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46544"/>
				<updated>2017-12-04T14:27:38Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Dans cette page, nous avons décrit toutes les manipulations nécessaires afin de mener à bien ce projet.&lt;br /&gt;
&lt;br /&gt;
Vous trouverez en annexe tous les fichiers de configuration liés à ce projet (ceux de la machine virtuelle, de bind, d'apache, de postfix).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création de la machine virtuelle&amp;lt;/h3&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
 &lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse http://ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Voici les noms de ces clefs :&lt;br /&gt;
 clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
 clef asym clef d'enregistrement : Kduvel.space.+005+43650&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sécurisation du site web par certificat&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl.conf&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Gandi propose un certificat gratuit lorsque l'on achète un domaine.&lt;br /&gt;
&lt;br /&gt;
Nous ajoutons donc 3 lignes de configuration dans le fichier default-ssl.conf :&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile	/root/duvel.crt&lt;br /&gt;
 SSLCertificateKeyFile /root/duvel.key&lt;br /&gt;
 SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.crt contient le certificat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.key contient la clef privée du serveur.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance apache :&lt;br /&gt;
&lt;br /&gt;
 service apache2 restart&lt;br /&gt;
&lt;br /&gt;
Et on tente un connexion sécurisée vers le site web de duvel:&lt;br /&gt;
&lt;br /&gt;
 https://www.duvel.space&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création d'un docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Il est donc nécessaire de créer un conteneur par utilisateur.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord, on installe docker.&lt;br /&gt;
&lt;br /&gt;
 apt-get install docker&lt;br /&gt;
&lt;br /&gt;
Puis on récupère une image Debian de conteneur docker :&lt;br /&gt;
&lt;br /&gt;
 docker pull debian&lt;br /&gt;
&lt;br /&gt;
On crée alors un docker sur notre MV avec &lt;br /&gt;
&lt;br /&gt;
 docker run -i --privileged -p 5000:5000 -t debian /bin/bash &lt;br /&gt;
&lt;br /&gt;
On peut alors lister les dockers existants à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker ps -a&lt;br /&gt;
&lt;br /&gt;
On obtient par exemple :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                  PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Exited (1) 2 days ago&lt;br /&gt;
&lt;br /&gt;
On peut démarrer ce docker à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker start caa067cd1a6a&lt;br /&gt;
&lt;br /&gt;
On vérifie le démarrage en listant uniquement les conteneurs actifs :&lt;br /&gt;
&lt;br /&gt;
 docker ps (sans le -a qui permet de visualiser les dockers éteints, en veille etc.)&lt;br /&gt;
&lt;br /&gt;
On obtient :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Up About a minute&lt;br /&gt;
&lt;br /&gt;
Nous avons donc un conteneur en fonctionnement.&lt;br /&gt;
&lt;br /&gt;
Nous avons appris par la suite que si nous voulons que notre docker redémarre automatiquement, (au cas où la MV a redémarré, ou suite à un plantage), il faut les créer avec l'option :&lt;br /&gt;
&lt;br /&gt;
 docker run -i -t debian /bin/bash --restart always&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau du docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On vérifie que la configuration réseau est conforme :&lt;br /&gt;
&lt;br /&gt;
Point de vue duvel :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 3: docker0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 56:84:7a:fe:97:99 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.17.42.1/16 scope global docker0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::5484:7aff:fefe:9799/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
Et point de vue conteneur :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 10: eth0: &amp;lt;BROADCAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 02:42:ac:11:00:04 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.1.0.1/16 scope global eth0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::42:acff:fe11:4/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
La configuration du bridge semble correcte. On remarque qu'une configuration ipv6 est automatiquement créée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de postfix sur la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
La première étape est de configurer postfix sur la MV :&lt;br /&gt;
&lt;br /&gt;
 dpkg-reconfigure postfix&lt;br /&gt;
&lt;br /&gt;
De la, on se laisse guider par l'outil de configuration. Les paramètres sélectionnés importants sont :&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Type de serveur de messagerie : Site internet&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Nom de domaine: duvel.space&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On insère ensuite dans /etc/aliases :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 admin: root #mail de l'administrateur smtp&lt;br /&gt;
&lt;br /&gt;
On réalise ensuite la même configuration postfix sur le conteneur.&lt;br /&gt;
&lt;br /&gt;
Toutefois, le /etc/aliases du docker contiendra :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 $nom_de_l'utilisateur: root&lt;br /&gt;
&lt;br /&gt;
Les configurations de postfix et des alias sont terminées. Il faut penser à relancer postfix et appliquer les nouveaux alias :&lt;br /&gt;
&lt;br /&gt;
 newaliases&lt;br /&gt;
 service postfix restart&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Redirection des mails vers le conteneur concerné&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce serveur de messagerie est de respecter cette démarche :&lt;br /&gt;
&lt;br /&gt;
Le serveur de messagerie principal (MV duvel) reçoit un mail destiné à jean@duvel.space&lt;br /&gt;
Le serveur redirige ce mail vers le docker de monsieur Jean.&lt;br /&gt;
Le postfix du docker doit alors le placer dans la boite de messagerie de Jean.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il nous faut créer un virtual alias maps dans la configuration de postfix :&lt;br /&gt;
&lt;br /&gt;
 #Dans /etc/postfix/main.cf&lt;br /&gt;
 virtual_alias_maps = hash:/etc/postfix/relai_duvel&lt;br /&gt;
&lt;br /&gt;
Ensuite, on édite relai_duvel :&lt;br /&gt;
&lt;br /&gt;
 jean    jean@[adresse_ip_du_docker_associé]&lt;br /&gt;
 michel  michel@[adresse_ip_du_docker_associé]&lt;br /&gt;
 etc...&lt;br /&gt;
&lt;br /&gt;
On peut alors envoyer un mail à jean@duvel.space, qui sera stocké dans le docker créé pour Jean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Automatisation de l'ajout d'un utilisateur&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le dernier objectif de ce projet est d'automatiser l'ajout d'un utilisateur.&lt;br /&gt;
Nous avons choisi d'utiliser un fichier script. Son rôle est de :&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Créer un docker à partir d'un Dockerfile&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Configurer le Docker (ouvrir le port 25, installer Postfix...)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ajouter l'utilisateur dans le relai virtuel Postfix de la MV&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici le fichier script :&lt;br /&gt;
&lt;br /&gt;
--------(encore en phase de test)--------&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 #creation et configuration d'un docker pour un nouvel utilisateur&lt;br /&gt;
 &lt;br /&gt;
 #on recupere le fichier de configuration postfix pour le docker (le meme pour tous les dockers)&lt;br /&gt;
 config=`cat postfix.cf.docker`&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Entrez le nom de l'utilisateur:&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #nom de l'utilisateur nom@duvel.space&lt;br /&gt;
 read nom&lt;br /&gt;
 &lt;br /&gt;
 #creation du dockerfile&lt;br /&gt;
 echo &amp;quot;FROM debian&amp;quot; &amp;gt; Dockerfile&lt;br /&gt;
 echo &amp;quot;RUN apt update&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
 #on ouvre le port 25 pour les mails&lt;br /&gt;
 echo &amp;quot;EXPOSE 25&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
 #on ajoute l'alias necessaire&lt;br /&gt;
 echo &amp;quot;RUN echo \&amp;quot;$nom: root\&amp;quot; &amp;gt;&amp;gt; /etc/aliases&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 echo &amp;quot;RUN newaliases&amp;quot;  &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 echo &amp;quot;RUN apt install postfix mailutils&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
 #on injecte la config de postfix&lt;br /&gt;
 echo &amp;quot;RUN echo $config&amp;quot; &amp;gt; /etc/postfix/main.cf &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 echo &amp;quot;CMD service postfix start&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
 chemin=`pwd`&lt;br /&gt;
 &lt;br /&gt;
 #on construit l'image du docker&lt;br /&gt;
 docker image build -t $chemin&lt;br /&gt;
 &lt;br /&gt;
 #on cree le conteneur&lt;br /&gt;
 id_conteneur=`docker run -ti --privileged --restart always -p 25:25 $chemin`&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;\n*****ID du docker : $id_conteneur*****\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #on recupere l'adresse ip du conteneur&lt;br /&gt;
 ip_conteneur=`docker inspect -f &amp;quot;{{ .NetworkSettings.Networks.nat.IPAddress }}&amp;quot; $id_conteneur`&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;adresse IPV4 du docker : $ip_conteneur&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #on l'ajoute a la table de routage&lt;br /&gt;
 echo &amp;quot;$nom    $nom@[$ip_conteneur]&amp;quot; &amp;gt;&amp;gt; /etc/postfix/relai_duvel&lt;br /&gt;
 &lt;br /&gt;
 #on cree le nouveau fichier relai_duvel.db&lt;br /&gt;
 postmap /etc/postfix/relai_duvel&lt;br /&gt;
 &lt;br /&gt;
 #on redemarre postfix&lt;br /&gt;
 service postfix restart&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;\n*****Configuration docker de $nom terminee*****\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Enregistrement du nom du docker dans la BDD&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #on ajout une ligne qui contient le nom d'utilisateur, avec l'ID et l'IP du conteneur associe&lt;br /&gt;
 echo &amp;quot;$nom : $id_conteneur : $ip_conteneur&amp;quot; &amp;gt;&amp;gt; bdd_serveur_mail&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;\n*****FIN*****\n&amp;quot;&lt;br /&gt;
&lt;br /&gt;
--------(encore en phase de test)--------&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Crack de la clef WEP&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng -w out -c 4 --essid ***** wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tentatives de connexion (force brute). On obtient finalement :&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng out-01.cap &lt;br /&gt;
 KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46543</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46543"/>
				<updated>2017-12-04T14:26:03Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Dans cette page, nous avons décrit toutes les manipulations nécessaires afin de mener à bien ce projet.&lt;br /&gt;
&lt;br /&gt;
Vous trouverez en annexe tous les fichiers de configuration liés à ce projet (ceux de la machine virtuelle, de bind, d'apache, de postfix).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création de la machine virtuelle&amp;lt;/h3&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
 &lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse http://ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Voici les noms de ces clefs :&lt;br /&gt;
 clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
 clef asym clef d'enregistrement : Kduvel.space.+005+43650&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sécurisation du site web par certificat&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl.conf&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Gandi propose un certificat gratuit lorsque l'on achète un domaine.&lt;br /&gt;
&lt;br /&gt;
Nous ajoutons donc 3 lignes de configuration dans le fichier default-ssl.conf :&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile	/root/duvel.crt&lt;br /&gt;
 SSLCertificateKeyFile /root/duvel.key&lt;br /&gt;
 SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.crt contient le certificat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.key contient la clef privée du serveur.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance apache :&lt;br /&gt;
&lt;br /&gt;
 service apache2 restart&lt;br /&gt;
&lt;br /&gt;
Et on tente un connexion sécurisée vers le site web de duvel:&lt;br /&gt;
&lt;br /&gt;
 https://www.duvel.space&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création d'un docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Il est donc nécessaire de créer un conteneur par utilisateur.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord, on installe docker.&lt;br /&gt;
&lt;br /&gt;
 apt-get install docker&lt;br /&gt;
&lt;br /&gt;
Puis on récupère une image Debian de conteneur docker :&lt;br /&gt;
&lt;br /&gt;
 docker pull debian&lt;br /&gt;
&lt;br /&gt;
On crée alors un docker sur notre MV avec &lt;br /&gt;
&lt;br /&gt;
 docker run -i --privileged -p 5000:5000 -t debian /bin/bash &lt;br /&gt;
&lt;br /&gt;
On peut alors lister les dockers existants à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker ps -a&lt;br /&gt;
&lt;br /&gt;
On obtient par exemple :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                  PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Exited (1) 2 days ago&lt;br /&gt;
&lt;br /&gt;
On peut démarrer ce docker à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker start caa067cd1a6a&lt;br /&gt;
&lt;br /&gt;
On vérifie le démarrage en listant uniquement les conteneurs actifs :&lt;br /&gt;
&lt;br /&gt;
 docker ps (sans le -a qui permet de visualiser les dockers éteints, en veille etc.)&lt;br /&gt;
&lt;br /&gt;
On obtient :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Up About a minute&lt;br /&gt;
&lt;br /&gt;
Nous avons donc un conteneur en fonctionnement.&lt;br /&gt;
&lt;br /&gt;
Nous avons appris par la suite que si nous voulons que notre docker redémarre automatiquement, (au cas où la MV a redémarré, ou suite à un plantage), il faut les créer avec l'option :&lt;br /&gt;
&lt;br /&gt;
 docker run -i -t debian /bin/bash --restart always&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau du docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On vérifie que la configuration réseau est conforme :&lt;br /&gt;
&lt;br /&gt;
Point de vue duvel :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 3: docker0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 56:84:7a:fe:97:99 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.17.42.1/16 scope global docker0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::5484:7aff:fefe:9799/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
Et point de vue conteneur :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 10: eth0: &amp;lt;BROADCAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 02:42:ac:11:00:04 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.1.0.1/16 scope global eth0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::42:acff:fe11:4/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
La configuration du bridge semble correcte. On remarque qu'une configuration ipv6 est automatiquement créée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de postfix sur la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
La première étape est de configurer postfix sur la MV :&lt;br /&gt;
&lt;br /&gt;
 dpkg-reconfigure postfix&lt;br /&gt;
&lt;br /&gt;
De la, on se laisse guider par l'outil de configuration. Les paramètres sélectionnés importants sont :&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Type de serveur de messagerie : Site internet&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Nom de domaine: duvel.space&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On insère ensuite dans /etc/aliases :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 admin: root #mail de l'administrateur smtp&lt;br /&gt;
&lt;br /&gt;
On réalise ensuite la même configuration postfix sur le conteneur.&lt;br /&gt;
&lt;br /&gt;
Toutefois, le /etc/aliases du docker contiendra :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 $nom_de_l'utilisateur: root&lt;br /&gt;
&lt;br /&gt;
Les configurations de postfix et des alias sont terminées. Il faut penser à relancer postfix et appliquer les nouveaux alias :&lt;br /&gt;
&lt;br /&gt;
 newaliases&lt;br /&gt;
 service postfix restart&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Redirection des mails vers le conteneur concerné&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce serveur de messagerie est de respecter cette démarche :&lt;br /&gt;
&lt;br /&gt;
Le serveur de messagerie principal (MV duvel) reçoit un mail destiné à jean@duvel.space&lt;br /&gt;
Le serveur redirige ce mail vers le docker de monsieur Jean.&lt;br /&gt;
Le postfix du docker doit alors le placer dans la boite de messagerie de Jean.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il nous faut créer un virtual alias maps dans la configuration de postfix :&lt;br /&gt;
&lt;br /&gt;
 #Dans /etc/postfix/main.cf&lt;br /&gt;
 virtual_alias_maps = hash:/etc/postfix/relai_duvel&lt;br /&gt;
&lt;br /&gt;
Ensuite, on édite relai_duvel :&lt;br /&gt;
&lt;br /&gt;
 jean    jean@[adresse_ip_du_docker_associé]&lt;br /&gt;
 michel  michel@[adresse_ip_du_docker_associé]&lt;br /&gt;
 etc...&lt;br /&gt;
&lt;br /&gt;
On peut alors envoyer un mail à jean@duvel.space, qui sera stocké dans le docker créé pour Jean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Automatisation de l'ajout d'un utilisateur&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le dernier objectif de ce projet est d'automatiser l'ajout d'un utilisateur.&lt;br /&gt;
Nous avons choisi d'utiliser un fichier script. Son rôle est de :&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Créer un docker à partir d'un Dockerfile&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Configurer le Docker (ouvrir le port 25, installer Postfix...)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ajouter l'utilisateur dans le relai virtuel Postfix de la MV&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici le fichier script :&lt;br /&gt;
&lt;br /&gt;
********(encore en phase de test)********&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 #creation et configuration d'un docker pour un nouvel utilisateur&lt;br /&gt;
 &lt;br /&gt;
 #on recupere le fichier de configuration postfix pour le docker (le meme pour tous les dockers)&lt;br /&gt;
 config=`cat postfix.cf.docker`&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Entrez le nom de l'utilisateur:&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #nom de l'utilisateur nom@duvel.space&lt;br /&gt;
 read nom&lt;br /&gt;
 &lt;br /&gt;
 #creation du dockerfile&lt;br /&gt;
 echo &amp;quot;FROM debian&amp;quot; &amp;gt; Dockerfile&lt;br /&gt;
 echo &amp;quot;RUN apt update&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
 #on ouvre le port 25 pour les mails&lt;br /&gt;
 echo &amp;quot;EXPOSE 25&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
 #on ajoute l'alias necessaire&lt;br /&gt;
 echo &amp;quot;RUN echo \&amp;quot;$nom: root\&amp;quot; &amp;gt;&amp;gt; /etc/aliases&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 echo &amp;quot;RUN newaliases&amp;quot;  &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 echo &amp;quot;RUN apt install postfix mailutils&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
 #on injecte la config de postfix&lt;br /&gt;
 echo &amp;quot;RUN echo $config&amp;quot; &amp;gt; /etc/postfix/main.cf &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 echo &amp;quot;CMD service postfix start&amp;quot; &amp;gt;&amp;gt; Dockerfile&lt;br /&gt;
 &lt;br /&gt;
 chemin=`pwd`&lt;br /&gt;
 &lt;br /&gt;
 #on construit l'image du docker&lt;br /&gt;
 docker image build -t $chemin&lt;br /&gt;
 &lt;br /&gt;
 #on cree le conteneur&lt;br /&gt;
 id_conteneur=`docker run -ti --privileged --restart always -p 25:25 $chemin`&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;\n*****ID du docker : $id_conteneur*****\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #on recupere l'adresse ip du conteneur&lt;br /&gt;
 ip_conteneur=`docker inspect -f &amp;quot;{{ .NetworkSettings.Networks.nat.IPAddress }}&amp;quot; $id_conteneur`&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;adresse IPV4 du docker : $ip_conteneur&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #on l'ajoute a la table de routage&lt;br /&gt;
 echo &amp;quot;$nom    $nom@[$ip_conteneur]&amp;quot; &amp;gt;&amp;gt; /etc/postfix/relai_duvel&lt;br /&gt;
 &lt;br /&gt;
 #on cree le nouveau fichier relai_duvel.db&lt;br /&gt;
 postmap /etc/postfix/relai_duvel&lt;br /&gt;
 &lt;br /&gt;
 #on redemarre postfix&lt;br /&gt;
 service postfix restart&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;\n*****Configuration docker de $nom terminee*****\n&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;Enregistrement du nom du docker dans la BDD&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #on ajout une ligne qui contient le nom d'utilisateur, avec l'ID et l'IP du conteneur associe&lt;br /&gt;
 echo &amp;quot;$nom : $id_conteneur : $ip_conteneur&amp;quot; &amp;gt;&amp;gt; bdd_serveur_mail&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;\n*****FIN*****\n&amp;quot;&lt;br /&gt;
&lt;br /&gt;
********(encore en phase de test)********&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Crack de la clef WEP&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng -w out -c 4 --essid ***** wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tentatives de connexion (force brute). On obtient finalement :&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng out-01.cap &lt;br /&gt;
 KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46542</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46542"/>
				<updated>2017-12-04T14:23:37Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Dans cette page, nous avons décrit toutes les manipulations nécessaires afin de mener à bien ce projet.&lt;br /&gt;
&lt;br /&gt;
Vous trouverez en annexe tous les fichiers de configuration liés à ce projet (ceux de la machine virtuelle, de bind, d'apache, de postfix).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création de la machine virtuelle&amp;lt;/h3&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
 &lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse http://ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Voici les noms de ces clefs :&lt;br /&gt;
 clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
 clef asym clef d'enregistrement : Kduvel.space.+005+43650&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sécurisation du site web par certificat&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl.conf&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Gandi propose un certificat gratuit lorsque l'on achète un domaine.&lt;br /&gt;
&lt;br /&gt;
Nous ajoutons donc 3 lignes de configuration dans le fichier default-ssl.conf :&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile	/root/duvel.crt&lt;br /&gt;
 SSLCertificateKeyFile /root/duvel.key&lt;br /&gt;
 SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.crt contient le certificat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.key contient la clef privée du serveur.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance apache :&lt;br /&gt;
&lt;br /&gt;
 service apache2 restart&lt;br /&gt;
&lt;br /&gt;
Et on tente un connexion sécurisée vers le site web de duvel:&lt;br /&gt;
&lt;br /&gt;
 https://www.duvel.space&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création d'un docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Il est donc nécessaire de créer un conteneur par utilisateur.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord, on installe docker.&lt;br /&gt;
&lt;br /&gt;
 apt-get install docker&lt;br /&gt;
&lt;br /&gt;
Puis on récupère une image Debian de conteneur docker :&lt;br /&gt;
&lt;br /&gt;
 docker pull debian&lt;br /&gt;
&lt;br /&gt;
On crée alors un docker sur notre MV avec &lt;br /&gt;
&lt;br /&gt;
 docker run -i --privileged -p 5000:5000 -t debian /bin/bash &lt;br /&gt;
&lt;br /&gt;
On peut alors lister les dockers existants à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker ps -a&lt;br /&gt;
&lt;br /&gt;
On obtient par exemple :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                  PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Exited (1) 2 days ago&lt;br /&gt;
&lt;br /&gt;
On peut démarrer ce docker à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker start caa067cd1a6a&lt;br /&gt;
&lt;br /&gt;
On vérifie le démarrage en listant uniquement les conteneurs actifs :&lt;br /&gt;
&lt;br /&gt;
 docker ps (sans le -a qui permet de visualiser les dockers éteints, en veille etc.)&lt;br /&gt;
&lt;br /&gt;
On obtient :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Up About a minute&lt;br /&gt;
&lt;br /&gt;
Nous avons donc un conteneur en fonctionnement.&lt;br /&gt;
&lt;br /&gt;
Nous avons appris par la suite que si nous voulons que notre docker redémarre automatiquement, (au cas où la MV a redémarré, ou suite à un plantage), il faut les créer avec l'option :&lt;br /&gt;
&lt;br /&gt;
 docker run -i -t debian /bin/bash --restart always&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau du docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On vérifie que la configuration réseau est conforme :&lt;br /&gt;
&lt;br /&gt;
Point de vue duvel :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 3: docker0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 56:84:7a:fe:97:99 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.17.42.1/16 scope global docker0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::5484:7aff:fefe:9799/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
Et point de vue conteneur :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 10: eth0: &amp;lt;BROADCAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 02:42:ac:11:00:04 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.1.0.1/16 scope global eth0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::42:acff:fe11:4/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
La configuration du bridge semble correcte. On remarque qu'une configuration ipv6 est automatiquement créée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de postfix sur la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
La première étape est de configurer postfix sur la MV :&lt;br /&gt;
&lt;br /&gt;
 dpkg-reconfigure postfix&lt;br /&gt;
&lt;br /&gt;
De la, on se laisse guider par l'outil de configuration. Les paramètres sélectionnés importants sont :&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Type de serveur de messagerie : Site internet&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Nom de domaine: duvel.space&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On insère ensuite dans /etc/aliases :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 admin: root #mail de l'administrateur smtp&lt;br /&gt;
&lt;br /&gt;
On réalise ensuite la même configuration postfix sur le conteneur.&lt;br /&gt;
&lt;br /&gt;
Toutefois, le /etc/aliases du docker contiendra :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 $nom_de_l'utilisateur: root&lt;br /&gt;
&lt;br /&gt;
Les configurations de postfix et des alias sont terminées. Il faut penser à relancer postfix et appliquer les nouveaux alias :&lt;br /&gt;
&lt;br /&gt;
 newaliases&lt;br /&gt;
 service postfix restart&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Redirection des mails vers le conteneur concerné&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce serveur de messagerie est de respecter cette démarche :&lt;br /&gt;
&lt;br /&gt;
Le serveur de messagerie principal (MV duvel) reçoit un mail destiné à jean@duvel.space&lt;br /&gt;
Le serveur redirige ce mail vers le docker de monsieur Jean.&lt;br /&gt;
Le postfix du docker doit alors le placer dans la boite de messagerie de Jean.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il nous faut créer un virtual alias maps dans la configuration de postfix :&lt;br /&gt;
&lt;br /&gt;
 #Dans /etc/postfix/main.cf&lt;br /&gt;
 virtual_alias_maps = hash:/etc/postfix/relai_duvel&lt;br /&gt;
&lt;br /&gt;
Ensuite, on édite relai_duvel :&lt;br /&gt;
&lt;br /&gt;
 jean    jean@[adresse_ip_du_docker_associé]&lt;br /&gt;
 michel  michel@[adresse_ip_du_docker_associé]&lt;br /&gt;
 etc...&lt;br /&gt;
&lt;br /&gt;
On peut alors envoyer un mail à jean@duvel.space, qui sera stocké dans le docker créé pour Jean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Automatisation de l'ajout d'un utilisateur&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le dernier objectif de ce projet est d'automatiser l'ajout d'un utilisateur.&lt;br /&gt;
Nous avons choisi d'utiliser un fichier script. Son rôle est de :&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Créer un docker à partir d'un Dockerfile&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Configurer le Docker (ouvrir le port 25, installer Postfix...)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ajouter l'utilisateur dans le relai virtuelle Postfix de la MV&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Crack de la clef WEP&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng -w out -c 4 --essid ***** wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tentatives de connexion (force brute). On obtient finalement :&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng out-01.cap &lt;br /&gt;
 KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46541</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46541"/>
				<updated>2017-12-04T14:12:57Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Dans cette page, nous avons décrit toutes les manipulations nécessaires afin de mener à bien ce projet.&lt;br /&gt;
&lt;br /&gt;
Vous trouverez en annexe tous les fichiers de configuration liés à ce projet (ceux de la machine virtuelle, de bind, d'apache, de postfix).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création de la machine virtuelle&amp;lt;/h3&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
 &lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse http://ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Voici les noms de ces clefs :&lt;br /&gt;
 clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
 clef asym clef d'enregistrement : Kduvel.space.+005+43650&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sécurisation du site web par certificat&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl.conf&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Gandi propose un certificat gratuit lorsque l'on achète un domaine.&lt;br /&gt;
&lt;br /&gt;
Nous ajoutons donc 3 lignes de configuration dans le fichier default-ssl.conf :&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile	/root/duvel.crt&lt;br /&gt;
 SSLCertificateKeyFile /root/duvel.key&lt;br /&gt;
 SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.crt contient le certificat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.key contient la clef privée du serveur.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance apache :&lt;br /&gt;
&lt;br /&gt;
 service apache2 restart&lt;br /&gt;
&lt;br /&gt;
Et on tente un connexion sécurisée vers le site web de duvel:&lt;br /&gt;
&lt;br /&gt;
 https://www.duvel.space&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création d'un docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Il est donc nécessaire de créer un conteneur par utilisateur.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord, on installe docker.&lt;br /&gt;
&lt;br /&gt;
 apt-get install docker&lt;br /&gt;
&lt;br /&gt;
Puis on récupère une image Debian de conteneur docker :&lt;br /&gt;
&lt;br /&gt;
 docker pull debian&lt;br /&gt;
&lt;br /&gt;
On crée alors un docker sur notre MV avec &lt;br /&gt;
&lt;br /&gt;
 docker run -i --privileged -p 5000:5000 -t debian /bin/bash &lt;br /&gt;
&lt;br /&gt;
On peut alors lister les dockers existants à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker ps -a&lt;br /&gt;
&lt;br /&gt;
On obtient par exemple :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                  PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Exited (1) 2 days ago&lt;br /&gt;
&lt;br /&gt;
On peut démarrer ce docker à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker start caa067cd1a6a&lt;br /&gt;
&lt;br /&gt;
On vérifie le démarrage en listant uniquement les conteneurs actifs :&lt;br /&gt;
&lt;br /&gt;
 docker ps (sans le -a qui permet de visualiser les dockers éteints, en veille etc.)&lt;br /&gt;
&lt;br /&gt;
On obtient :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Up About a minute&lt;br /&gt;
&lt;br /&gt;
Nous avons donc un conteneur en fonctionnement.&lt;br /&gt;
&lt;br /&gt;
Nous avons appris par la suite que si nous voulons que notre docker redémarre automatiquement, (au cas où la MV a redémarré, ou suite à un plantage), il faut les créer avec l'option :&lt;br /&gt;
&lt;br /&gt;
 docker run -i -t debian /bin/bash --restart always&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau du docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On vérifie que la configuration réseau est conforme :&lt;br /&gt;
&lt;br /&gt;
Point de vue duvel :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 3: docker0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 56:84:7a:fe:97:99 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.17.42.1/16 scope global docker0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::5484:7aff:fefe:9799/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
Et point de vue conteneur :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 10: eth0: &amp;lt;BROADCAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 02:42:ac:11:00:04 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.1.0.1/16 scope global eth0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::42:acff:fe11:4/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
La configuration du bridge semble correcte. On remarque qu'une configuration ipv6 est automatiquement créée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de postfix sur la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
La première étape est de configurer postfix sur la MV :&lt;br /&gt;
&lt;br /&gt;
 dpkg-reconfigure postfix&lt;br /&gt;
&lt;br /&gt;
De la, on se laisse guider par l'outil de configuration. Les paramètres sélectionnés importants sont :&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Type de serveur de messagerie : Site internet&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Nom de domaine: duvel.space&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On insère ensuite dans /etc/aliases :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 admin: root #mail de l'administrateur smtp&lt;br /&gt;
&lt;br /&gt;
On réalise ensuite la même configuration postfix sur le conteneur.&lt;br /&gt;
&lt;br /&gt;
Toutefois, le /etc/aliases du docker contiendra :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 $nom_de_l'utilisateur: root&lt;br /&gt;
&lt;br /&gt;
Les configurations de postfix et des alias sont terminées. Il faut penser à relancer postfix et appliquer les nouveaux alias :&lt;br /&gt;
&lt;br /&gt;
 newaliases&lt;br /&gt;
 service postfix restart&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Redirection des mails vers le conteneur concerné&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce serveur de messagerie est de respecter cette démarche :&lt;br /&gt;
&lt;br /&gt;
Le serveur de messagerie principal (MV duvel) reçoit un mail destiné à jean@duvel.space&lt;br /&gt;
Le serveur redirige ce mail vers le docker de monsieur Jean.&lt;br /&gt;
Le postfix du docker doit alors le placer dans la boite de messagerie de Jean.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il nous faut créer un virtual alias maps dans la configuration de postfix :&lt;br /&gt;
&lt;br /&gt;
 #Dans /etc/postfix/main.cf&lt;br /&gt;
 virtual_alias_maps = hash:/etc/postfix/relai_duvel&lt;br /&gt;
&lt;br /&gt;
Ensuite, on édite relai_duvel :&lt;br /&gt;
&lt;br /&gt;
 jean    jean@[adresse_ip_du_docker_associé]&lt;br /&gt;
 michel  michel@[adresse_ip_du_docker_associé]&lt;br /&gt;
 etc...&lt;br /&gt;
&lt;br /&gt;
On peut alors envoyer un mail à jean@duvel.space, qui sera stocké dans le docker créé pour Jean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Crack de la clef WEP&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng -w out -c 4 --essid ***** wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tentatives de connexion (force brute). On obtient finalement :&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng out-01.cap &lt;br /&gt;
 KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46536</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46536"/>
				<updated>2017-12-04T11:26:54Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Dans cette page, nous avons décrit toutes les manipulations nécessaires afin de mener à bien ce projet.&lt;br /&gt;
&lt;br /&gt;
Vous trouverez en annexe tous les fichiers de configuration liés à ce projet (ceux de la machine virtuelle, de bind, d'apache, de postfix).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création de la machine virtuelle&amp;lt;/h3&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse http://ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Voici les noms de ces clefs :&lt;br /&gt;
 clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
 clef asym clef d'enregistrement : Kduvel.space.+005+43650&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sécurisation du site web par certificat&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl.conf&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Gandi propose un certificat gratuit lorsque l'on achète un domaine.&lt;br /&gt;
&lt;br /&gt;
Nous ajountons donc 3 lignes de configuration dans le fichier default-ssl.conf :&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile	/root/duvel.crt&lt;br /&gt;
 SSLCertificateKeyFile /root/duvel.key&lt;br /&gt;
 SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.crt contient le certificat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.key contient clef privée du serveur.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance apache :&lt;br /&gt;
&lt;br /&gt;
 service apache2 restart&lt;br /&gt;
&lt;br /&gt;
Et on tente un connexion sécurisée vers le site web de duvel:&lt;br /&gt;
&lt;br /&gt;
 https://www.duvel.space&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création d'un docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Il est donc nécessaire de créer un conteneur par utilisateur.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord, on installe docker.&lt;br /&gt;
&lt;br /&gt;
 apt-get install docker&lt;br /&gt;
&lt;br /&gt;
Puis on récupère une image Debian de conteneur docker :&lt;br /&gt;
&lt;br /&gt;
 docker pull debian&lt;br /&gt;
&lt;br /&gt;
On crée alors un docker sur notre MV avec &lt;br /&gt;
&lt;br /&gt;
 docker run -i --privileged -p 5000:5000 -t debian /bin/bash &lt;br /&gt;
&lt;br /&gt;
On peut alors lister les dockers existants à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker ps -a&lt;br /&gt;
&lt;br /&gt;
On obtient par exemple :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                  PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Exited (1) 2 days ago&lt;br /&gt;
&lt;br /&gt;
On peut démarrer ce docker à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker start caa067cd1a6a&lt;br /&gt;
&lt;br /&gt;
On vérifie le démarrage en listant uniquement les conteneurs actifs :&lt;br /&gt;
&lt;br /&gt;
 docker ps (sans le -a qui permet de visualiser les dockers éteints, en veille etc.)&lt;br /&gt;
&lt;br /&gt;
On obtient :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Up About a minute&lt;br /&gt;
&lt;br /&gt;
Nous avons donc un conteneur en fonctionnement.&lt;br /&gt;
&lt;br /&gt;
Nous avons appris par la suite que si nous voulons que notre docker redémarre automatiquement, (au cas où la MV a redémarré, ou suite à un plantage), il faut les créer avec l'option :&lt;br /&gt;
&lt;br /&gt;
 docker run -i -t debian /bin/bash --restart always&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau du docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On vérifie que la configuration réseau est conforme :&lt;br /&gt;
&lt;br /&gt;
Point de vue duvel :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 3: docker0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 56:84:7a:fe:97:99 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.17.42.1/16 scope global docker0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::5484:7aff:fefe:9799/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
Et point de vue conteneur :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 10: eth0: &amp;lt;BROADCAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 02:42:ac:11:00:04 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.1.0.1/16 scope global eth0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::42:acff:fe11:4/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
La configuration du bridge semble correcte. On remarque qu'une configuration ipv6 est automatiquement créée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de postfix sur la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
La première étape est de configurer postfix sur la MV :&lt;br /&gt;
&lt;br /&gt;
 dpkg-reconfigure postfix&lt;br /&gt;
&lt;br /&gt;
De la, on se laisse guider par l'outil de configuration. Les paramètres sélectionnés importants sont :&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Type de serveur de messagerie : Site internet&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Nom de domaine: duvel.space&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On insère ensuite dans /etc/aliases :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 admin: root #mail de l'administrateur smtp&lt;br /&gt;
&lt;br /&gt;
On réalise ensuite la même configuration postfix sur le conteneur.&lt;br /&gt;
&lt;br /&gt;
Toutefois, le /etc/aliases du docker contiendra :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 $nom_de_l'utilisateur: root&lt;br /&gt;
&lt;br /&gt;
Les configurations de postfix et des alias sont terminées. Il faut penser à relancer postfix et appliquer les nouveaux alias :&lt;br /&gt;
&lt;br /&gt;
 newaliases&lt;br /&gt;
 service postfix restart&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Redirection des mails vers le conteneur concerné&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce serveur de messagerie est de respecter cette démarche :&lt;br /&gt;
&lt;br /&gt;
Le serveur de messagerie principal (MV duvel) reçoit un mail destiné à jean@duvel.space&lt;br /&gt;
Le serveur redirige ce mail vers le docker de monsieur Jean.&lt;br /&gt;
Le postfix du docker doit alors le placer dans la boite de messagerie de Jean.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il nous faut créer un virtual alias maps dans la configuration de postfix :&lt;br /&gt;
&lt;br /&gt;
 #Dans /etc/postfix/main.cf&lt;br /&gt;
 virtual_alias_maps = hash:/etc/postfix/relai_duvel&lt;br /&gt;
&lt;br /&gt;
Ensuite, on édite relai_duvel :&lt;br /&gt;
&lt;br /&gt;
 jean    jean@[adresse_ip_du_docker_associé]&lt;br /&gt;
 michel  michel@[adresse_ip_du_docker_associé]&lt;br /&gt;
 etc...&lt;br /&gt;
&lt;br /&gt;
On peut alors envoyer un mail à jean@duvel.space, qui sera stocké dans le docker créé pour Jean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Crack de la clef WEP&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng -w out -c 4 --essid ***** wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tentatives de connexion (force brute). On obtient finalement :&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng out-01.cap &lt;br /&gt;
 KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46529</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46529"/>
				<updated>2017-12-04T09:45:47Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h1&amp;gt;En cours de modification le 04/12&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Dans cette page, nous avons décrit toutes les manipulations nécessaires afin de mener à bien ce projet.&lt;br /&gt;
&lt;br /&gt;
Vous trouverez en annexe tous les fichiers de configuration liés à ce projet (ceux de la machine virtuelle, de bind, d'apache, de postfix).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création de la machine virtuelle&amp;lt;/h3&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse http://ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Voici les noms de ces clefs :&lt;br /&gt;
 clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
 clef asym clef d'enregistrement : Kduvel.space.+005+43650&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sécurisation du site web par certificat&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl.conf&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Gandi propose un certificat gratuit lorsque l'on achète un domaine.&lt;br /&gt;
&lt;br /&gt;
Nous ajountons donc 3 lignes de configuration dans le fichier default-ssl.conf :&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile	/root/duvel.crt&lt;br /&gt;
 SSLCertificateKeyFile /root/duvel.key&lt;br /&gt;
 SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.crt contient le certificat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.key contient clef privée du serveur.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance apache :&lt;br /&gt;
&lt;br /&gt;
 service apache2 restart&lt;br /&gt;
&lt;br /&gt;
Et on tente un connexion sécurisée vers le site web de duvel:&lt;br /&gt;
&lt;br /&gt;
 https://www.duvel.space&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création d'un docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Il est donc nécessaire de créer un conteneur par utilisateur.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord, on installe docker.&lt;br /&gt;
&lt;br /&gt;
 apt-get install docker&lt;br /&gt;
&lt;br /&gt;
Puis on récupère une image Debian de conteneur docker :&lt;br /&gt;
&lt;br /&gt;
 docker pull debian&lt;br /&gt;
&lt;br /&gt;
On crée alors un docker sur notre MV avec &lt;br /&gt;
&lt;br /&gt;
 docker run -i --privileged -p 5000:5000 -t debian /bin/bash &lt;br /&gt;
&lt;br /&gt;
On peut alors lister les dockers existants à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker ps -a&lt;br /&gt;
&lt;br /&gt;
On obtient par exemple :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                  PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Exited (1) 2 days ago&lt;br /&gt;
&lt;br /&gt;
On peut démarrer ce docker à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker start caa067cd1a6a&lt;br /&gt;
&lt;br /&gt;
On vérifie le démarrage en listant uniquement les conteneurs actifs :&lt;br /&gt;
&lt;br /&gt;
 docker ps (sans le -a qui permet de visualiser les dockers éteints, en veille etc.)&lt;br /&gt;
&lt;br /&gt;
On obtient :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Up About a minute&lt;br /&gt;
&lt;br /&gt;
Nous avons donc un conteneur en fonctionnement.&lt;br /&gt;
&lt;br /&gt;
Nous avons appris par la suite que si nous voulons que notre docker redémarre automatiquement, (au cas où la MV a redémarré, ou suite à un plantage), il faut les créer avec l'option :&lt;br /&gt;
&lt;br /&gt;
 docker run -i -t debian /bin/bash --restart always&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau du docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On vérifie que la configuration réseau est conforme :&lt;br /&gt;
&lt;br /&gt;
Point de vue duvel :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 3: docker0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 56:84:7a:fe:97:99 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.17.42.1/16 scope global docker0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::5484:7aff:fefe:9799/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
Et point de vue conteneur :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 10: eth0: &amp;lt;BROADCAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 02:42:ac:11:00:04 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.1.0.1/16 scope global eth0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::42:acff:fe11:4/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
La configuration du bridge semble correcte. On remarque qu'une configuration ipv6 est automatiquement créée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de postfix sur la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
La première étape est de configurer postfix sur la MV :&lt;br /&gt;
&lt;br /&gt;
 dpkg-reconfigure postfix&lt;br /&gt;
&lt;br /&gt;
De la, on se laisse guider par l'outil de configuration. Les paramètres sélectionnés importants sont :&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Type de serveur de messagerie : Site internet&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Nom de domaine: duvel.space&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On insère ensuite dans /etc/aliases :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 admin: root #mail de l'administrateur smtp&lt;br /&gt;
&lt;br /&gt;
On réalise ensuite la même configuration postfix sur le conteneur.&lt;br /&gt;
&lt;br /&gt;
Toutefois, le /etc/aliases du docker contiendra :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 $nom_de_l'utilisateur: root&lt;br /&gt;
&lt;br /&gt;
Les configurations de postfix et des alias sont terminées. Il faut penser à relancer postfix et appliquer les nouveaux alias :&lt;br /&gt;
&lt;br /&gt;
 newaliases&lt;br /&gt;
 service postfix restart&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Redirection des mails vers le conteneur concerné&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce serveur de messagerie est de respecter cette démarche :&lt;br /&gt;
&lt;br /&gt;
Le serveur de messagerie principal (MV duvel) reçoit un mail destiné à jean@duvel.space&lt;br /&gt;
Le serveur redirige ce mail vers le docker de monsieur Jean.&lt;br /&gt;
Le postfix du docker doit alors le placer dans la boite de messagerie de Jean.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il nous faut créer un virtual alias maps dans la configuration de postfix :&lt;br /&gt;
&lt;br /&gt;
 #Dans /etc/postfix/main.cf&lt;br /&gt;
 virtual_alias_maps = hash:/etc/postfix/relai_duvel&lt;br /&gt;
&lt;br /&gt;
Ensuite, on édite relai_duvel :&lt;br /&gt;
&lt;br /&gt;
 jean    jean@[adresse_ip_du_docker_associé]&lt;br /&gt;
 michel  michel@[adresse_ip_du_docker_associé]&lt;br /&gt;
 etc...&lt;br /&gt;
&lt;br /&gt;
On peut alors envoyer un mail à jean@duvel.space, qui sera stocké dans le docker créé pour Jean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Crack de la clef WEP&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng -w out -c 4 --essid ***** wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tentatives de connexion (force brute). On obtient finalement :&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng out-01.cap &lt;br /&gt;
 KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46528</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46528"/>
				<updated>2017-12-04T09:41:27Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h1&amp;gt;En cours de modification le 04/12&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Dans cette page, nous avons décrit toutes les manipulations nécessaires afin de mener à bien ce projet.&lt;br /&gt;
&lt;br /&gt;
Vous trouverez en annexe tous les fichiers de configuration liés à ce projet (ceux de la machine virtuelle, de bind, d'apache, de postfix).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création de la machine virtuelle&amp;lt;/h3&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Voici les noms de ces clefs :&lt;br /&gt;
 clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
 clef asym clef d'enregistrement : Kduvel.space.+005+43650&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sécurisation du site web par certificat&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl.conf&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Gandi propose un certificat gratuit lorsque l'on achète un domaine.&lt;br /&gt;
&lt;br /&gt;
Nous ajountons donc 3 lignes de configuration dans le fichier default-ssl.conf :&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile	/root/duvel.crt&lt;br /&gt;
 SSLCertificateKeyFile /root/duvel.key&lt;br /&gt;
 SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.crt contient le certificat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.key contient clef privée du serveur.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance apache :&lt;br /&gt;
&lt;br /&gt;
 service apache2 restart&lt;br /&gt;
&lt;br /&gt;
Et on tente un connexion sécurisée vers le site web de duvel:&lt;br /&gt;
&lt;br /&gt;
 https://www.duvel.space&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création d'un docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Il est donc nécessaire de créer un conteneur par utilisateur.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord, on installe docker.&lt;br /&gt;
&lt;br /&gt;
 apt-get install docker&lt;br /&gt;
&lt;br /&gt;
Puis on récupère une image Debian de conteneur docker :&lt;br /&gt;
&lt;br /&gt;
 docker pull debian&lt;br /&gt;
&lt;br /&gt;
On crée alors un docker sur notre MV avec &lt;br /&gt;
&lt;br /&gt;
 docker run -i --privileged -p 5000:5000 -t debian /bin/bash &lt;br /&gt;
&lt;br /&gt;
On peut alors lister les dockers existants à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker ps -a&lt;br /&gt;
&lt;br /&gt;
On obtient par exemple :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                  PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Exited (1) 2 days ago&lt;br /&gt;
&lt;br /&gt;
On peut démarrer ce docker à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker start caa067cd1a6a&lt;br /&gt;
&lt;br /&gt;
On vérifie le démarrage en listant uniquement les conteneurs actifs :&lt;br /&gt;
&lt;br /&gt;
 docker ps (sans le -a qui permet de visualiser les dockers éteints, en veille etc.)&lt;br /&gt;
&lt;br /&gt;
On obtient :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Up About a minute&lt;br /&gt;
&lt;br /&gt;
Nous avons donc un conteneur en fonctionnement.&lt;br /&gt;
&lt;br /&gt;
Nous avons appris par la suite que si nous voulons que notre docker redémarre automatiquement, (au cas où la MV a redémarré, ou suite à un plantage), il faut les créer avec l'option :&lt;br /&gt;
&lt;br /&gt;
 docker run -i -t debian /bin/bash --restart always&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau du docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On vérifie que la configuration réseau est conforme :&lt;br /&gt;
&lt;br /&gt;
Point de vue duvel :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 3: docker0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 56:84:7a:fe:97:99 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.17.42.1/16 scope global docker0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::5484:7aff:fefe:9799/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
Et point de vue conteneur :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 10: eth0: &amp;lt;BROADCAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 02:42:ac:11:00:04 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.1.0.1/16 scope global eth0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::42:acff:fe11:4/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
La configuration du bridge semble correcte. On remarque qu'une configuration ipv6 est automatiquement créée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de postfix sur la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
La première étape est de configurer postfix sur la MV :&lt;br /&gt;
&lt;br /&gt;
 dpkg-reconfigure postfix&lt;br /&gt;
&lt;br /&gt;
De la, on se laisse guider par l'outil de configuration. Les paramètres sélectionnés importants sont :&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Type de serveur de messagerie : Site internet&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Nom de domaine: duvel.space&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On insère ensuite dans /etc/aliases :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 admin: root #mail de l'administrateur smtp&lt;br /&gt;
&lt;br /&gt;
On réalise ensuite la même configuration postfix sur le conteneur.&lt;br /&gt;
&lt;br /&gt;
Toutefois, le /etc/aliases du docker contiendra :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 $nom_de_l'utilisateur: root&lt;br /&gt;
&lt;br /&gt;
Les configurations de postfix et des alias sont terminées. Il faut penser à relancer postfix et appliquer les nouveaux alias :&lt;br /&gt;
&lt;br /&gt;
 newaliases&lt;br /&gt;
 service postfix restart&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Redirection des mails vers le conteneur concerné&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce serveur de messagerie est de respecter cette démarche :&lt;br /&gt;
&lt;br /&gt;
Le serveur de messagerie principal (MV duvel) reçoit un mail destiné à jean@duvel.space&lt;br /&gt;
Le serveur redirige ce mail vers le docker de monsieur Jean.&lt;br /&gt;
Le postfix du docker doit alors le placer dans la boite de messagerie de Jean.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il nous faut créer un virtual alias maps dans la configuration de postfix :&lt;br /&gt;
&lt;br /&gt;
 #Dans /etc/postfix/main.cf&lt;br /&gt;
 virtual_alias_maps = hash:/etc/postfix/relai_duvel&lt;br /&gt;
&lt;br /&gt;
Ensuite, on édite relai_duvel :&lt;br /&gt;
&lt;br /&gt;
 jean    jean@[adresse_ip_du_docker_associé]&lt;br /&gt;
 michel  michel@[adresse_ip_du_docker_associé]&lt;br /&gt;
 etc...&lt;br /&gt;
&lt;br /&gt;
On peut alors envoyer un mail à jean@duvel.space, qui sera stocké dans le docker créé pour Jean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Crack de la clef WEP&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng -w out -c 4 --essid ***** wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tentatives de connexion (force brute). On obtient finalement :&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng out-01.cap &lt;br /&gt;
 KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46527</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46527"/>
				<updated>2017-12-04T09:38:25Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h1&amp;gt;En cours de modification le 04/12&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Dans cette page, nous avons décrit toutes les manipulations nécessaires afin de mener à bien ce projet.&lt;br /&gt;
&lt;br /&gt;
Vous trouverez en annexe tous les fichiers de configuration liés à ce projet (ceux de la machine virtuelle, de bind, d'apache, de postfix).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création de la machine virtuelle&amp;lt;/h3&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Voici les noms de ces clefs :&lt;br /&gt;
 clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
 clef asym clef d'enregistrement : Kduvel.space.+005+43650&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sécurisation du site web par certificat&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl.conf&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Gandi propose un certificat gratuit lorsque l'on achète un domaine.&lt;br /&gt;
&lt;br /&gt;
Nous ajountons donc 3 lignes de configuration dans le fichier default-ssl.conf :&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile	/root/duvel.crt&lt;br /&gt;
 SSLCertificateKeyFile /root/duvel.key&lt;br /&gt;
 SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.crt contient le certificat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.key contient clef privée du serveur.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance apache :&lt;br /&gt;
&lt;br /&gt;
 service apache2 restart&lt;br /&gt;
&lt;br /&gt;
Et on tente un connexion sécurisée vers le site web de duvel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;https://www.duvel.space&amp;quot;&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création d'un docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Il est donc nécessaire de créer un conteneur par utilisateur.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord, on installe docker.&lt;br /&gt;
&lt;br /&gt;
 apt-get install docker&lt;br /&gt;
&lt;br /&gt;
Puis on récupère une image Debian de conteneur docker :&lt;br /&gt;
&lt;br /&gt;
 docker pull debian&lt;br /&gt;
&lt;br /&gt;
On crée alors un docker sur notre MV avec &lt;br /&gt;
&lt;br /&gt;
 docker run -i --privileged -p 5000:5000 -t debian /bin/bash &lt;br /&gt;
&lt;br /&gt;
On peut alors lister les dockers existants à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker ps -a&lt;br /&gt;
&lt;br /&gt;
On obtient par exemple :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                  PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Exited (1) 2 days ago&lt;br /&gt;
&lt;br /&gt;
On peut démarrer ce docker à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker start caa067cd1a6a&lt;br /&gt;
&lt;br /&gt;
On vérifie le démarrage en listant uniquement les conteneurs actifs :&lt;br /&gt;
&lt;br /&gt;
 docker ps (sans le -a qui permet de visualiser les dockers éteints, en veille etc.)&lt;br /&gt;
&lt;br /&gt;
On obtient :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Up About a minute&lt;br /&gt;
&lt;br /&gt;
Nous avons donc un conteneur en fonctionnement.&lt;br /&gt;
&lt;br /&gt;
Nous avons appris par la suite que si nous voulons que notre docker redémarre automatiquement, (au cas où la MV a redémarré, ou suite à un plantage), il faut les créer avec l'option :&lt;br /&gt;
&lt;br /&gt;
 docker run -i -t debian /bin/bash --restart always&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau du docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On vérifie que la configuration réseau est conforme :&lt;br /&gt;
&lt;br /&gt;
Point de vue duvel :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 3: docker0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 56:84:7a:fe:97:99 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.17.42.1/16 scope global docker0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::5484:7aff:fefe:9799/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
Et point de vue conteneur :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 10: eth0: &amp;lt;BROADCAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 02:42:ac:11:00:04 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.1.0.1/16 scope global eth0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::42:acff:fe11:4/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
La configuration du bridge semble correcte. On remarque qu'une configuration ipv6 est automatiquement créée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de postfix sur la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
La première étape est de configurer postfix sur la MV :&lt;br /&gt;
&lt;br /&gt;
 dpkg-reconfigure postfix&lt;br /&gt;
&lt;br /&gt;
De la, on se laisse guider par l'outil de configuration. Les paramètres sélectionnés importants sont :&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Type de serveur de messagerie : Site internet&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Nom de domaine: duvel.space&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On insère ensuite dans /etc/aliases :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 admin: root #mail de l'administrateur smtp&lt;br /&gt;
&lt;br /&gt;
On réalise ensuite la même configuration postfix sur le conteneur.&lt;br /&gt;
&lt;br /&gt;
Toutefois, le /etc/aliases du docker contiendra :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 $nom_de_l'utilisateur: root&lt;br /&gt;
&lt;br /&gt;
Les configurations de postfix et des alias sont terminées. Il faut penser à relancer postfix et appliquer les nouveaux alias :&lt;br /&gt;
&lt;br /&gt;
 newaliases&lt;br /&gt;
 service postfix restart&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Redirection des mails vers le conteneur concerné&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce serveur de messagerie est de respecter cette démarche :&lt;br /&gt;
&lt;br /&gt;
Le serveur de messagerie principal (MV duvel) reçoit un mail destiné à jean@duvel.space&lt;br /&gt;
Le serveur redirige ce mail vers le docker de monsieur Jean.&lt;br /&gt;
Le postfix du docker doit alors le placer dans la boite de messagerie de Jean.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il nous faut créer un virtual alias maps dans la configuration de postfix :&lt;br /&gt;
&lt;br /&gt;
 #Dans /etc/postfix/main.cf&lt;br /&gt;
 virtual_alias_maps = hash:/etc/postfix/relai_duvel&lt;br /&gt;
&lt;br /&gt;
Ensuite, on édite relai_duvel :&lt;br /&gt;
&lt;br /&gt;
 jean    jean@[adresse_ip_du_docker_associé]&lt;br /&gt;
 michel  michel@[adresse_ip_du_docker_associé]&lt;br /&gt;
 etc...&lt;br /&gt;
&lt;br /&gt;
On peut alors envoyer un mail à jean@duvel.space, qui sera stocké dans le docker créé pour Jean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Crack de la clef WEP&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng -w out -c 4 --essid ***** wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tentatives de connexion (force brute). On obtient finalement :&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng out-01.cap &lt;br /&gt;
 KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46526</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46526"/>
				<updated>2017-12-04T01:23:53Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h1&amp;gt;En cours de modification le 04/12&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Dans cette page, nous avons décrit toutes les manipulations nécessaires afin de mener à bien ce projet.&lt;br /&gt;
&lt;br /&gt;
Vous trouverez en annexe tous les fichiers de configuration liés à ce projet (ceux de la machine virtuelle, de bind, d'apache, de postfix).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création de la machine virtuelle&amp;lt;/h3&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Voici les noms de ces clefs :&lt;br /&gt;
 clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
 clef asym clef d'enregistrement : Kduvel.space.+005+43650&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sécurisation du site web par certificat&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl.conf&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Gandi propose un certificat gratuit lorsque l'on achète un domaine.&lt;br /&gt;
&lt;br /&gt;
Nous ajountons donc 3 lignes de configuration dans le fichier default-ssl.conf :&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile	/root/duvel.crt&lt;br /&gt;
 SSLCertificateKeyFile /root/duvel.key&lt;br /&gt;
 SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.crt contient le certificat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.key contient clef privée du serveur.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création d'un docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Il est donc nécessaire de créer un conteneur par utilisateur.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord, on installe docker.&lt;br /&gt;
&lt;br /&gt;
 apt-get install docker&lt;br /&gt;
&lt;br /&gt;
Puis on récupère une image Debian de conteneur docker :&lt;br /&gt;
&lt;br /&gt;
 docker pull debian&lt;br /&gt;
&lt;br /&gt;
On crée alors un docker sur notre MV avec &lt;br /&gt;
&lt;br /&gt;
 docker run -i --privileged -p 5000:5000 -t debian /bin/bash &lt;br /&gt;
&lt;br /&gt;
On peut alors lister les dockers existants à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker ps -a&lt;br /&gt;
&lt;br /&gt;
On obtient par exemple :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                  PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Exited (1) 2 days ago&lt;br /&gt;
&lt;br /&gt;
On peut démarrer ce docker à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker start caa067cd1a6a&lt;br /&gt;
&lt;br /&gt;
On vérifie le démarrage en listant uniquement les conteneurs actifs :&lt;br /&gt;
&lt;br /&gt;
 docker ps (sans le -a qui permet de visualiser les dockers éteints, en veille etc.)&lt;br /&gt;
&lt;br /&gt;
On obtient :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Up About a minute&lt;br /&gt;
&lt;br /&gt;
Nous avons donc un conteneur en fonctionnement.&lt;br /&gt;
&lt;br /&gt;
Nous avons appris par la suite que si nous voulons que notre docker redémarre automatiquement, (au cas où la MV a redémarré, ou suite à un plantage), il faut les créer avec l'option :&lt;br /&gt;
&lt;br /&gt;
 docker run -i -t debian /bin/bash --restart always&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau du docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On vérifie que la configuration réseau est conforme :&lt;br /&gt;
&lt;br /&gt;
Point de vue duvel :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 3: docker0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 56:84:7a:fe:97:99 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.17.42.1/16 scope global docker0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::5484:7aff:fefe:9799/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
Et point de vue conteneur :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 10: eth0: &amp;lt;BROADCAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 02:42:ac:11:00:04 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.1.0.1/16 scope global eth0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::42:acff:fe11:4/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
La configuration du bridge semble correcte. On remarque qu'une configuration ipv6 est automatiquement créée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de postfix sur la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
La première étape est de configurer postfix sur la MV :&lt;br /&gt;
&lt;br /&gt;
 dpkg-reconfigure postfix&lt;br /&gt;
&lt;br /&gt;
De la, on se laisse guider par l'outil de configuration. Les paramètres sélectionnés importants sont :&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Type de serveur de messagerie : Site internet&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Nom de domaine: duvel.space&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On insère ensuite dans /etc/aliases :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 admin: root #mail de l'administrateur smtp&lt;br /&gt;
&lt;br /&gt;
On réalise ensuite la même configuration postfix sur le conteneur.&lt;br /&gt;
&lt;br /&gt;
Toutefois, le /etc/aliases du docker contiendra :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 $nom_de_l'utilisateur: root&lt;br /&gt;
&lt;br /&gt;
Les configurations de postfix et des alias sont terminées. Il faut penser à relancer postfix et appliquer les nouveaux alias :&lt;br /&gt;
&lt;br /&gt;
 newaliases&lt;br /&gt;
 service postfix restart&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Redirection des mails vers le conteneur concerné&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce serveur de messagerie est de respecter cette démarche :&lt;br /&gt;
&lt;br /&gt;
Le serveur de messagerie principal (MV duvel) reçoit un mail destiné à jean@duvel.space&lt;br /&gt;
Le serveur redirige ce mail vers le docker de monsieur Jean.&lt;br /&gt;
Le postfix du docker doit alors le placer dans la boite de messagerie de Jean.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il nous faut créer un virtual alias maps dans la configuration de postfix :&lt;br /&gt;
&lt;br /&gt;
 #Dans /etc/postfix/main.cf&lt;br /&gt;
 virtual_alias_maps = hash:/etc/postfix/relai_duvel&lt;br /&gt;
&lt;br /&gt;
Ensuite, on édite relai_duvel :&lt;br /&gt;
&lt;br /&gt;
 jean    jean@[adresse_ip_du_docker_associé]&lt;br /&gt;
 michel  michel@[adresse_ip_du_docker_associé]&lt;br /&gt;
 etc...&lt;br /&gt;
&lt;br /&gt;
On peut alors envoyer un mail à jean@duvel.space, qui sera stocké dans le docker créé pour Jean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Crack de la clef WEP&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng -w out -c 4 --essid ***** wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tentatives de connexion (force brute). On obtient finalement :&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng out-01.cap &lt;br /&gt;
 KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46525</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46525"/>
				<updated>2017-12-04T01:20:56Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Dans cette page, nous avons décrit toutes les manipulations nécessaires afin de mener à bien ce projet.&lt;br /&gt;
&lt;br /&gt;
Vous trouverez en annexe tous les fichiers de configuration liés à ce projet (ceux de la machine virtuelle, de bind, d'apache, de postfix).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création de la machine virtuelle&amp;lt;/h3&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Voici les noms de ces clefs :&lt;br /&gt;
 clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
 clef asym clef d'enregistrement : Kduvel.space.+005+43650&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sécurisation du site web par certificat&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl.conf&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Gandi propose un certificat gratuit lorsque l'on achète un domaine.&lt;br /&gt;
&lt;br /&gt;
Nous ajountons donc 3 lignes de configuration dans le fichier default-ssl.conf :&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile	/root/duvel.crt&lt;br /&gt;
 SSLCertificateKeyFile /root/duvel.key&lt;br /&gt;
 SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.crt contient le certificat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.key contient clef privée du serveur.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création d'un docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Il est donc nécessaire de créer un conteneur par utilisateur.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord, on installe docker.&lt;br /&gt;
&lt;br /&gt;
 apt-get install docker&lt;br /&gt;
&lt;br /&gt;
Puis on récupère une image Debian de conteneur docker :&lt;br /&gt;
&lt;br /&gt;
 docker pull debian&lt;br /&gt;
&lt;br /&gt;
On crée alors un docker sur notre MV avec &lt;br /&gt;
&lt;br /&gt;
 docker run -i --privileged -p 5000:5000 -t debian /bin/bash &lt;br /&gt;
&lt;br /&gt;
On peut alors lister les dockers existants à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker ps -a&lt;br /&gt;
&lt;br /&gt;
On obtient par exemple :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                  PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Exited (1) 2 days ago&lt;br /&gt;
&lt;br /&gt;
On peut démarrer ce docker à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker start caa067cd1a6a&lt;br /&gt;
&lt;br /&gt;
On vérifie le démarrage en listant uniquement les conteneurs actifs :&lt;br /&gt;
&lt;br /&gt;
 docker ps (sans le -a qui permet de visualiser les dockers éteints, en veille etc.)&lt;br /&gt;
&lt;br /&gt;
On obtient :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Up About a minute&lt;br /&gt;
&lt;br /&gt;
Nous avons donc un conteneur en fonctionnement.&lt;br /&gt;
&lt;br /&gt;
Nous avons appris par la suite que si nous voulons que notre docker redémarre automatiquement, (au cas où la MV a redémarré, ou suite à un plantage), il faut les créer avec l'option :&lt;br /&gt;
&lt;br /&gt;
 docker run -i -t debian /bin/bash --restart always&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau du docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On vérifie que la configuration réseau est conforme :&lt;br /&gt;
&lt;br /&gt;
Point de vue duvel :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 3: docker0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 56:84:7a:fe:97:99 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.17.42.1/16 scope global docker0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::5484:7aff:fefe:9799/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
Et point de vue conteneur :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 10: eth0: &amp;lt;BROADCAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 02:42:ac:11:00:04 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.1.0.1/16 scope global eth0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::42:acff:fe11:4/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
La configuration du bridge semble correcte. On remarque qu'une configuration ipv6 est automatiquement créée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de postfix sur la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
La première étape est de configurer postfix sur la MV :&lt;br /&gt;
&lt;br /&gt;
 dpkg-reconfigure postfix&lt;br /&gt;
&lt;br /&gt;
De la, on se laisse guider par l'outil de configuration. Les paramètres sélectionnés importants sont :&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Type de serveur de messagerie : Site internet&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Nom de domaine: duvel.space&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On insère ensuite dans /etc/aliases :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 admin: root #mail de l'administrateur smtp&lt;br /&gt;
&lt;br /&gt;
On réalise ensuite la même configuration postfix sur le conteneur.&lt;br /&gt;
&lt;br /&gt;
Toutefois, le /etc/aliases du docker contiendra :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 $nom_de_l'utilisateur: root&lt;br /&gt;
&lt;br /&gt;
Les configurations de postfix et des alias sont terminées. Il faut penser à relancer postfix et appliquer les nouveaux alias :&lt;br /&gt;
&lt;br /&gt;
 newaliases&lt;br /&gt;
 service postfix restart&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Redirection des mails vers le conteneur concerné&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce serveur de messagerie est de respecter cette démarche :&lt;br /&gt;
&lt;br /&gt;
Le serveur de messagerie principal (MV duvel) reçoit un mail destiné à jean@duvel.space&lt;br /&gt;
Le serveur redirige ce mail vers le docker de monsieur Jean.&lt;br /&gt;
Le postfix du docker doit alors le placer dans la boite de messagerie de Jean.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il nous faut créer un virtual alias maps dans la configuration de postfix :&lt;br /&gt;
&lt;br /&gt;
 #Dans /etc/postfix/main.cf&lt;br /&gt;
 virtual_alias_maps = hash:/etc/postfix/relai_duvel&lt;br /&gt;
&lt;br /&gt;
Ensuite, on édite relai_duvel :&lt;br /&gt;
&lt;br /&gt;
 jean    jean@[adresse_ip_du_docker_associé]&lt;br /&gt;
 michel  michel@[adresse_ip_du_docker_associé]&lt;br /&gt;
 etc...&lt;br /&gt;
&lt;br /&gt;
On peut alors envoyer un mail à jean@duvel.space, qui sera stocké dans le docker créé pour Jean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Crack de la clef WEP&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng -w out -c 4 --essid ***** wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tentatives de connexion (force brute). On obtient finalement :&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng out-01.cap &lt;br /&gt;
 KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46524</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46524"/>
				<updated>2017-12-04T01:14:25Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Dans cette page, nous avons décrit toutes les manipulations nécessaires afin de mener à bien ce projet.&lt;br /&gt;
&lt;br /&gt;
Vous trouverez en annexe tous les fichiers de configuration liés à ce projet (ceux de la machine virtuelle, de bind, d'apache, de postfix).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création de la machine virtuelle&amp;lt;/h3&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Voici les noms de ces clefs :&lt;br /&gt;
 clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
 clef asym clef d'enregistrement : Kduvel.space.+005+43650&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sécurisation du site web par certificat&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl.conf&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Gandi propose un certificat gratuit lorsque l'on achète un domaine.&lt;br /&gt;
&lt;br /&gt;
Nous ajountons donc 3 lignes de configuration dans le fichier default-ssl.conf :&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile	/root/duvel.crt&lt;br /&gt;
 SSLCertificateKeyFile /root/duvel.key&lt;br /&gt;
 SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.crt contient le certificat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.key contient clef privée du serveur.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création d'un docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Il est donc nécessaire de créer un conteneur par utilisateur.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord, on installe docker.&lt;br /&gt;
&lt;br /&gt;
 apt-get install docker&lt;br /&gt;
&lt;br /&gt;
Puis on récupère une image Debian de conteneur docker :&lt;br /&gt;
&lt;br /&gt;
 docker pull debian&lt;br /&gt;
&lt;br /&gt;
On crée alors un docker sur notre MV avec &lt;br /&gt;
&lt;br /&gt;
 docker run -i --privileged -p 5000:5000 -t debian /bin/bash &lt;br /&gt;
&lt;br /&gt;
On peut alors lister les dockers existants à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker ps -a&lt;br /&gt;
&lt;br /&gt;
On obtient par exemple :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                  PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Exited (1) 2 days ago&lt;br /&gt;
&lt;br /&gt;
On peut démarrer ce docker à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker start caa067cd1a6a&lt;br /&gt;
&lt;br /&gt;
On vérifie le démarrage en listant uniquement les conteneurs actifs :&lt;br /&gt;
&lt;br /&gt;
 docker ps (sans le -a qui permet de visualiser les dockers éteints, en veille etc.)&lt;br /&gt;
&lt;br /&gt;
On obtient :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Up About a minute&lt;br /&gt;
&lt;br /&gt;
Nous avons donc un conteneur en fonctionnement.&lt;br /&gt;
&lt;br /&gt;
Nous avons appris par la suite que si nous voulons que notre docker redémarre automatiquement, (au cas où la MV a redémarré, ou suite à un plantage), il faut les créer avec l'option :&lt;br /&gt;
&lt;br /&gt;
 docker run -i -t debian /bin/bash --restart always&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau du docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On vérifie que la configuration réseau est conforme :&lt;br /&gt;
&lt;br /&gt;
Point de vue duvel :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 3: docker0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 56:84:7a:fe:97:99 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.17.42.1/16 scope global docker0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::5484:7aff:fefe:9799/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
Et point de vue conteneur :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 10: eth0: &amp;lt;BROADCAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 02:42:ac:11:00:04 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.1.0.1/16 scope global eth0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::42:acff:fe11:4/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
La configuration du bridge semble correcte. On remarque qu'une configuration ipv6 est automatiquement créée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de postfix sur la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
La première étape est de configurer postfix sur la MV :&lt;br /&gt;
&lt;br /&gt;
 dpkg-reconfigure postfix&lt;br /&gt;
&lt;br /&gt;
De la, on se laisse guider par l'outil de configuration. Les paramètres sélectionnés importants sont :&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Type de serveur de messagerie : Site internet&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Nom de domaine: duvel.space&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On insère ensuite dans /etc/aliases :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 admin: root #mail de l'administrateur smtp&lt;br /&gt;
&lt;br /&gt;
On réalise ensuite la même configuration postfix sur le conteneur.&lt;br /&gt;
&lt;br /&gt;
Toutefois, le /etc/aliases du docker contiendra :&lt;br /&gt;
&lt;br /&gt;
 root: postmaster&lt;br /&gt;
 jean: root&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Redirection des mails vers le conteneur concerné&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'objectif de ce serveur de messagerie est de respecter cette démarche :&lt;br /&gt;
&lt;br /&gt;
Le serveur de messagerie principal (MV duvel) reçoit un mail destiné à jean@duvel.space&lt;br /&gt;
Le serveur redirige ce mail vers le docker de monsieur Jean.&lt;br /&gt;
Le postfix du docker doit alors le placer dans la boite de messagerie de Jean.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il nous faut créer&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Crack de la clef WEP&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng -w out -c 4 --essid ***** wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tentatives de connexion (force brute). On obtient finalement :&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng out-01.cap &lt;br /&gt;
 KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46523</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46523"/>
				<updated>2017-12-04T00:43:22Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Dans cette page, nous avons décrit toutes les manipulations nécessaires afin de mener à bien ce projet.&lt;br /&gt;
&lt;br /&gt;
Vous trouverez en annexe tous les fichiers de configuration liés à ce projet (ceux de la machine virtuelle, de bind, d'apache, de postfix).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création de la machine virtuelle&amp;lt;/h3&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Voici les noms de ces clefs :&lt;br /&gt;
 clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
 clef asym clef d'enregistrement : Kduvel.space.+005+43650&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sécurisation du site web par certificat&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl.conf&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Gandi propose un certificat gratuit lorsque l'on achète un domaine.&lt;br /&gt;
&lt;br /&gt;
Nous ajountons donc 3 lignes de configuration dans le fichier default-ssl.conf :&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile	/root/duvel.crt&lt;br /&gt;
 SSLCertificateKeyFile /root/duvel.key&lt;br /&gt;
 SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.crt contient le certificat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.key contient clef privée du serveur.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création d'un docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Il est donc nécessaire de créer un conteneur par utilisateur.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord, on installe docker.&lt;br /&gt;
&lt;br /&gt;
 apt-get install docker&lt;br /&gt;
&lt;br /&gt;
Puis on récupère une image Debian de conteneur docker :&lt;br /&gt;
&lt;br /&gt;
 docker pull debian&lt;br /&gt;
&lt;br /&gt;
On crée alors un docker sur notre MV avec &lt;br /&gt;
&lt;br /&gt;
 docker run -i -t debian /bin/bash&lt;br /&gt;
&lt;br /&gt;
On peut alors lister les dockers existants à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker ps -a&lt;br /&gt;
&lt;br /&gt;
On obtient par exemple :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                  PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Exited (1) 2 days ago&lt;br /&gt;
&lt;br /&gt;
On peut démarrer ce docker à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker start caa067cd1a6a&lt;br /&gt;
&lt;br /&gt;
On vérifie le démarrage en listant uniquement les conteneurs actifs :&lt;br /&gt;
&lt;br /&gt;
 docker ps (sans le -a qui permet de visualiser les dockers éteints, en veille etc.)&lt;br /&gt;
&lt;br /&gt;
On obtient :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Up About a minute&lt;br /&gt;
&lt;br /&gt;
Nous avons donc un conteneur en fonctionnement.&lt;br /&gt;
&lt;br /&gt;
Nous avons appris par la suite que si nous voulons que notre docker redémarre automatiquement, (au cas où la MV a redémarré, ou suite à un plantage), il faut les créer avec l'option :&lt;br /&gt;
&lt;br /&gt;
 docker run -i -t debian /bin/bash --restart always&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau du docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On vérifie que la configuration réseau est conforme :&lt;br /&gt;
&lt;br /&gt;
Point de vue duvel :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 3: docker0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 56:84:7a:fe:97:99 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.17.42.1/16 scope global docker0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::5484:7aff:fefe:9799/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
Et point de vue conteneur :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 10: eth0: &amp;lt;BROADCAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 02:42:ac:11:00:04 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.1.0.1/16 scope global eth0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::42:acff:fe11:4/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
La configuration du bridge semble correcte. On remarque qu'une configuration ipv6 est automatiquement créée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Crack de la clef WEP&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng -w out -c 4 --essid ***** wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tentatives de connexion (force brute). On obtient finalement :&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng out-01.cap &lt;br /&gt;
 KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46522</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46522"/>
				<updated>2017-12-03T23:49:41Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Dans cette page, nous avons décrit toutes les manipulations nécessaires afin de mener à bien ce projet.&lt;br /&gt;
&lt;br /&gt;
Vous trouverez en annexe tous les fichiers de configuration liés à ce projet (ceux de la machine virtuelle, de bind, d'apache, de postfix).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création de la machine virtuelle&amp;lt;/h3&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Voici les noms de ces clefs :&lt;br /&gt;
 clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
 clef asym clef d'enregistrement : Kduvel.space.+005+43650&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sécurisation du site web par certificat&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl.conf&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Gandi propose un certificat gratuit lorsque l'on achète un domaine.&lt;br /&gt;
&lt;br /&gt;
Nous ajountons donc 3 lignes de configuration dans le fichier default-ssl.conf :&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile	/root/duvel.crt&lt;br /&gt;
 SSLCertificateKeyFile /root/duvel.key&lt;br /&gt;
 SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.crt contient le certificat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.key contient clef privée du serveur.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création d'un docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Il est donc nécessaire de créer un conteneur par utilisateur.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord, on installe docker.&lt;br /&gt;
&lt;br /&gt;
 apt-get install docker&lt;br /&gt;
&lt;br /&gt;
Puis on récupère une image Debian de conteneur docker :&lt;br /&gt;
&lt;br /&gt;
 docker pull debian&lt;br /&gt;
&lt;br /&gt;
On crée alors un docker sur notre MV avec &lt;br /&gt;
&lt;br /&gt;
 docker run -i -t debian /bin/bash&lt;br /&gt;
&lt;br /&gt;
On peut alors lister les dockers existants à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker ps -a&lt;br /&gt;
&lt;br /&gt;
On obtient par exemple :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                  PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Exited (1) 2 days ago&lt;br /&gt;
&lt;br /&gt;
On peut démarrer ce docker à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker start caa067cd1a6a&lt;br /&gt;
&lt;br /&gt;
On vérifie le démarrage en listant uniquement les conteneurs actifs :&lt;br /&gt;
&lt;br /&gt;
 docker ps (sans le -a qui permet de visualiser les dockers éteints, en veille etc.)&lt;br /&gt;
&lt;br /&gt;
On obtient :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Up About a minute&lt;br /&gt;
&lt;br /&gt;
Nous avons donc un conteneur en fonctionnement.&lt;br /&gt;
&lt;br /&gt;
Nous avons appris par la suite que si nous voulons que notre docker redémarre automatiquement, (au cas où la MV a redémarré, ou suite à un plantage), il faut les créer avec l'option :&lt;br /&gt;
&lt;br /&gt;
 docker run -i -t debian /bin/bash --restart always&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau du docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On vérifie que la configuration réseau est conforme :&lt;br /&gt;
&lt;br /&gt;
Point de vue duvel :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 3: docker0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 56:84:7a:fe:97:99 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.17.42.1/16 scope global docker0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::5484:7aff:fefe:9799/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
Et point de vue conteneur :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 10: eth0: &amp;lt;BROADCAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 02:42:ac:11:00:04 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.1.0.1/16 scope global eth0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::42:acff:fe11:4/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
La configuration du bridge semble fonctionner correctement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Crack de la clef WEP&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng -w out -c 4 --essid ***** wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tentatives de connexion (force brute). On obtient finalement :&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng out-01.cap &lt;br /&gt;
 KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46521</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46521"/>
				<updated>2017-12-03T23:03:00Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Dans cette page, nous avons décrit toutes les manipulations nécessaires afin de mener à bien ce projet.&lt;br /&gt;
&lt;br /&gt;
Vous trouverez en annexe tous les fichiers de configuration liés à ce projet (ceux de la machine virtuelle, de bind, d'apache, de postfix).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création de la machine virtuelle&amp;lt;/h3&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Voici les noms de ces clefs :&lt;br /&gt;
 clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
 clef asym clef d'enregistrement : Kduvel.space.+005+43650&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sécurisation du site web par certificat&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl.conf&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Gandi propose un certificat gratuit lorsque l'on achète un domaine.&lt;br /&gt;
&lt;br /&gt;
Nous ajountons donc 3 lignes de configuration dans le fichier default-ssl.conf :&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile	/root/duvel.crt&lt;br /&gt;
 SSLCertificateKeyFile /root/duvel.key&lt;br /&gt;
 SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.crt contient le certificat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.key contient clef privée du serveur.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création d'un docker&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Il est donc nécessaire de créer un conteneur par utilisateur.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord, on installe docker.&lt;br /&gt;
&lt;br /&gt;
 apt-get install docker&lt;br /&gt;
&lt;br /&gt;
Puis on récupère une image Debian de conteneur docker :&lt;br /&gt;
&lt;br /&gt;
 docker pull debian&lt;br /&gt;
&lt;br /&gt;
On crée alors un docker sur notre MV avec &lt;br /&gt;
&lt;br /&gt;
 docker run -i -t debian /bin/bash&lt;br /&gt;
&lt;br /&gt;
On peut alors lister les dockers existants à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker ps -a&lt;br /&gt;
&lt;br /&gt;
On obtient par exemple :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                  PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Exited (1) 2 days ago&lt;br /&gt;
&lt;br /&gt;
On peut démarrer ce docker à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker start caa067cd1a6a&lt;br /&gt;
&lt;br /&gt;
On vérifie le démarrage en listant uniquement les conteneurs actifs :&lt;br /&gt;
&lt;br /&gt;
 docker ps (sans le -a qui permet de visualiser les dockers éteints, en veille etc.)&lt;br /&gt;
&lt;br /&gt;
On obtient :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Up About a minute&lt;br /&gt;
&lt;br /&gt;
Nous avons donc un conteneur en fonctionnement.&lt;br /&gt;
&lt;br /&gt;
Nous avons appris par la suite que si nous voulons que notre docker redémarre automatiquement, (au cas où la MV a redémarré, ou suite à un plantage), il faut les créer avec l'option :&lt;br /&gt;
&lt;br /&gt;
 docker run -i -t debian /bin/bash --restart always&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps, nous avons remarqué que le premier docker réalisé n'avait pas d'accès réseau... Pourtant il est censé lors de sa création créer un bridge entre l'hôte et le docker...&lt;br /&gt;
&lt;br /&gt;
Ce bridge semblait pourtant avoir été créé. La commande ip a point de vue MV duvel donnait :&lt;br /&gt;
&lt;br /&gt;
 ip a&lt;br /&gt;
&lt;br /&gt;
 3: docker0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc noqueue state UP group default &lt;br /&gt;
     link/ether 56:84:7a:fe:97:99 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
     inet 172.17.42.1/16 scope global docker0&lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
     inet6 fe80::5484:7aff:fefe:9799/64 scope link &lt;br /&gt;
        valid_lft forever preferred_lft forever&lt;br /&gt;
&lt;br /&gt;
Et point de vue conteneur &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Crack de la clef WEP&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng -w out -c 4 --essid ***** wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tentatives de connexion (force brute). On obtient finalement :&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng out-01.cap &lt;br /&gt;
 KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46520</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46520"/>
				<updated>2017-12-03T22:49:20Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Dans cette page, nous avons décrit toutes les manipulations nécessaires afin de mener à bien ce projet.&lt;br /&gt;
&lt;br /&gt;
Vous trouverez en annexe tous les fichiers de configuration liés à ce projet (ceux de la machine virtuelle, de bind, d'apache, de postfix).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création de la machine virtuelle&amp;lt;/h3&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Voici les noms de ces clefs :&lt;br /&gt;
 clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
 clef asym clef d'enregistrement : Kduvel.space.+005+43650&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sécurisation du site web par certificat&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl.conf&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Gandi propose un certificat gratuit lorsque l'on achète un domaine.&lt;br /&gt;
&lt;br /&gt;
Nous ajountons donc 3 lignes de configuration dans le fichier default-ssl.conf :&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile	/root/duvel.crt&lt;br /&gt;
 SSLCertificateKeyFile /root/duvel.key&lt;br /&gt;
 SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.crt contient le certificat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.key contient clef privée du serveur.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Il est donc nécessaire de créer un conteneur par utilisateur.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord, on installe docker.&lt;br /&gt;
&lt;br /&gt;
 apt-get install docker&lt;br /&gt;
&lt;br /&gt;
Puis on récupère une image Debian de conteneur docker :&lt;br /&gt;
&lt;br /&gt;
 docker pull debian&lt;br /&gt;
&lt;br /&gt;
On crée alors un docker sur notre MV avec &lt;br /&gt;
&lt;br /&gt;
 docker run -i -t debian /bin/bash&lt;br /&gt;
&lt;br /&gt;
On peut alors lister les dockers existants à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker ps -a&lt;br /&gt;
&lt;br /&gt;
On obtient par exemple :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                  PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Exited (1) 2 days ago&lt;br /&gt;
&lt;br /&gt;
On peut démarrer ce docker à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 docker start caa067cd1a6a&lt;br /&gt;
&lt;br /&gt;
On vérifie le démarrage en listant uniquement les conteneurs actifs :&lt;br /&gt;
&lt;br /&gt;
 docker ps (sans le -a qui permet de visualiser les dockers éteints, en veille etc.)&lt;br /&gt;
&lt;br /&gt;
On obtient :&lt;br /&gt;
&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS&lt;br /&gt;
 caa067cd1a6a        debian:latest       &amp;quot;/bin/bash&amp;quot;         9 days ago          Up About a minute&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Crack de la clef WEP&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng -w out -c 4 --essid ***** wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tentatives de connexion (force brute). On obtient finalement :&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng out-01.cap &lt;br /&gt;
 KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46519</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46519"/>
				<updated>2017-12-03T22:40:36Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Dans cette page, nous avons décrit toutes les manipulations nécessaires afin de mener à bien ce projet.&lt;br /&gt;
&lt;br /&gt;
Vous trouverez en annexe tous les fichiers de configuration liés à ce projet (ceux de la machine virtuelle, de bind, d'apache, de postfix).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création de la machine virtuelle&amp;lt;/h3&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Voici les noms de ces clefs :&lt;br /&gt;
 clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
 clef asym clef d'enregistrement : Kduvel.space.+005+43650&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sécurisation du site web par certificat&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl.conf&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Gandi propose un certificat gratuit lorsque l'on achète un domaine.&lt;br /&gt;
&lt;br /&gt;
Nous ajountons donc 3 lignes de configuration dans le fichier default-ssl.conf :&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile	/root/duvel.crt&lt;br /&gt;
 SSLCertificateKeyFile /root/duvel.key&lt;br /&gt;
 SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.crt contient le certificat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.key contient clef privée du serveur.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Il est donc nécessaire de créer un conteneur par utilisateur.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord, on installe docker.&lt;br /&gt;
&lt;br /&gt;
 apt-get install docker&lt;br /&gt;
&lt;br /&gt;
Puis on récupère une image Debian de conteneur docker :&lt;br /&gt;
&lt;br /&gt;
 docker pull debian&lt;br /&gt;
&lt;br /&gt;
On crée alors un docker sur notre MV avec &lt;br /&gt;
&lt;br /&gt;
 docker run -i -t debian /bin/bash&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Crack de la clef WEP&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng -w out -c 4 --essid ***** wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tentatives de connexion (force brute). On obtient finalement :&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng out-01.cap &lt;br /&gt;
 KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46518</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46518"/>
				<updated>2017-12-03T22:31:20Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Dans cette page, nous avons décrit toutes les manipulations nécessaires afin de mener à bien ce projet.&lt;br /&gt;
&lt;br /&gt;
Vous trouverez en annexe tous les fichiers de configuration liés à ce projet (ceux de la machine virtuelle, de bind, d'apache, de postfix).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création de la machine virtuelle&amp;lt;/h3&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Voici les noms de ces clefs :&lt;br /&gt;
 clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
 clef asym clef d'enregistrement : Kduvel.space.+005+43650&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sécurisation du site web par certificat&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl.conf&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Gandi propose un certificat gratuit lorsque l'on achète un domaine.&lt;br /&gt;
&lt;br /&gt;
Nous ajountons donc 3 lignes de configuration dans le fichier default-ssl.conf :&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile	/root/duvel.crt&lt;br /&gt;
 SSLCertificateKeyFile /root/duvel.key&lt;br /&gt;
 SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.crt contient le certificat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.key contient clef privée du serveur.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;L'idée est ici de créer un serveur mail sur notre machine virtuelle à partir de postfix, tout en utilisant des conteneurs correspondants à chaque utilisateur.&amp;lt;br&amp;gt;Les conteneurs sont créés avec Docker. Pour cela, on récupère une image avec la commande &amp;quot;docker pull debian&amp;quot; et on le créé sur notre machine avec &amp;quot;docker run -i -t debian /bin/bash&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Crack de la clef WEP&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 airodump-ng -w out -c 4 --essid ***** wlan0mon&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tentatives de connexion (force brute). On obtient finalement :&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng out-01.cap &lt;br /&gt;
 KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46517</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46517"/>
				<updated>2017-12-03T22:27:22Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Dans cette page, nous avons décrit toutes les manipulations nécessaires afin de mener à bien ce projet.&lt;br /&gt;
&lt;br /&gt;
Vous trouverez en annexe tous les fichiers de configuration liés à ce projet (ceux de la machine virtuelle, de bind, d'apache, de postfix).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création de la machine virtuelle&amp;lt;/h3&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Voici les noms de ces clefs :&lt;br /&gt;
 clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
 clef asym clef d'enregistrement : Kduvel.space.+005+43650&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sécurisation du site web par certificat&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl.conf&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Gandi propose un certificat gratuit lorsque l'on achète un domaine.&lt;br /&gt;
&lt;br /&gt;
Nous ajountons donc 3 lignes de configuration dans le fichier default-ssl.conf :&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile	/root/duvel.crt&lt;br /&gt;
 SSLCertificateKeyFile /root/duvel.key&lt;br /&gt;
 SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.crt contient le certificat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.key contient clef privée du serveur.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;L'idée est ici de créer un serveur mail sur notre machine virtuelle à partir de postfix, tout en utilisant des conteneurs correspondants à chaque utilisateur.&amp;lt;br&amp;gt;Les conteneurs sont créés avec Docker. Pour cela, on récupère une image avec la commande &amp;quot;docker pull debian&amp;quot; et on le créé sur notre machine avec &amp;quot;docker run -i -t debian /bin/bash&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Crack de la clef WEP&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;p&amp;gt;&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;br&amp;gt;&lt;br /&gt;
airodump-ng --encrypt wep wlan0mon &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;br&amp;gt;&lt;br /&gt;
airodump-ng -w out -c 4 --essid ***** wlan0mon &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tests (force brute)&amp;lt;br&amp;gt;&lt;br /&gt;
aircrack-ng out-01.cap &amp;lt;br&amp;gt;&lt;br /&gt;
KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46516</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46516"/>
				<updated>2017-12-03T22:26:38Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Dans cette page, nous avons décrit toutes les manipulations nécessaires afin de mener à bien ce projet.&lt;br /&gt;
&lt;br /&gt;
Vous trouverez en annexe tous les fichiers de configuration liés à ce projet (ceux de la machine virtuelle, de bind, d'apache, de postfix).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création de la machine virtuelle&amp;lt;/h3&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Voici les noms de ces clefs :&lt;br /&gt;
 clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
 clef asym clef d'enregistrement : Kduvel.space.+005+43650&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sécurisation du site web par certificat&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl.conf&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Gandi propose un certificat gratuit lorsque l'on achète un domaine.&lt;br /&gt;
&lt;br /&gt;
Nous ajountons donc 3 lignes de configuration dans le fichier default-ssl.conf :&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile	/root/duvel.crt&lt;br /&gt;
 SSLCertificateKeyFile /root/duvel.key&lt;br /&gt;
 SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.crt contient le certificat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.key contient clef privée du serveur.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;L'idée est ici de créer un serveur mail sur notre machine virtuelle à partir de postfix, tout en utilisant des conteneurs correspondants à chaque utilisateur.&amp;lt;br&amp;gt;Les conteneurs sont créés avec Docker. Pour cela, on récupère une image avec la commande &amp;quot;docker pull debian&amp;quot; et on le créé sur notre machine avec &amp;quot;docker run -i -t debian /bin/bash&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Crack de la clef WEP&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;p&amp;gt;&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;br&amp;gt;&lt;br /&gt;
airodump-ng --encrypt wep wlan0mon &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;br&amp;gt;&lt;br /&gt;
airodump-ng -w out -c 4 --essid ***** wlan0mon &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tests (force brute)&amp;lt;br&amp;gt;&lt;br /&gt;
aircrack-ng out-01.cap &amp;lt;br&amp;gt;&lt;br /&gt;
KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46515</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46515"/>
				<updated>2017-12-03T22:25:41Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Dans cette page, nous avons décrit toutes les manipulations nécessaires afin de mener à bien ce projet.&lt;br /&gt;
&lt;br /&gt;
Vous trouverez en annexe tous les fichiers de configuration liés à ce projet (ceux de la machine virtuelle, de bind, d'apache, de postfix).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création de la machine virtuelle&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Voici les noms de ces clefs :&lt;br /&gt;
 clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
 clef asym clef d'enregistrement : Kduvel.space.+005+43650&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sécurisation du site web par certificat&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl.conf&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Gandi propose un certificat gratuit lorsque l'on achète un domaine.&lt;br /&gt;
&lt;br /&gt;
Nous ajountons donc 3 lignes de configuration dans le fichier default-ssl.conf :&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile	/root/duvel.crt&lt;br /&gt;
 SSLCertificateKeyFile /root/duvel.key&lt;br /&gt;
 SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.crt contient le certificat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.key contient clef privée du serveur.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;L'idée est ici de créer un serveur mail sur notre machine virtuelle à partir de postfix, tout en utilisant des conteneurs correspondants à chaque utilisateur.&amp;lt;br&amp;gt;Les conteneurs sont créés avec Docker. Pour cela, on récupère une image avec la commande &amp;quot;docker pull debian&amp;quot; et on le créé sur notre machine avec &amp;quot;docker run -i -t debian /bin/bash&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Crack de la clef WEP&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;p&amp;gt;&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;br&amp;gt;&lt;br /&gt;
airodump-ng --encrypt wep wlan0mon &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;br&amp;gt;&lt;br /&gt;
airodump-ng -w out -c 4 --essid ***** wlan0mon &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tests (force brute)&amp;lt;br&amp;gt;&lt;br /&gt;
aircrack-ng out-01.cap &amp;lt;br&amp;gt;&lt;br /&gt;
KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46514</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46514"/>
				<updated>2017-12-03T22:22:32Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt; &lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Dans cette page, nous avons décrit toutes les manipulations nécessaires afin de mener à bien ce projet.&lt;br /&gt;
&lt;br /&gt;
Vous trouverez en annexe tous les fichiers de configuration liés à ce projet (ceux de la machine virtuelle, de bind, d'apache, de postfix).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création de la machine virtuelle&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Voici les noms de ces clefs :&lt;br /&gt;
 clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
 clef asym clef d'enregistrement : Kduvel.space.+005+43650&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sécurisation du site web par certificat&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl.conf&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Gandi propose un certificat gratuit lorsque l'on achète un domaine.&lt;br /&gt;
&lt;br /&gt;
Nous ajountons donc 3 lignes de configuration dans le fichier default-ssl.conf :&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile	/root/duvel.crt&lt;br /&gt;
 SSLCertificateKeyFile /root/duvel.key&lt;br /&gt;
 SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.crt contient le certificat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.key contient clef privée du serveur.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;L'idée est ici de créer un serveur mail sur notre machine virtuelle à partir de postfix, tout en utilisant des conteneurs correspondants à chaque utilisateur.&amp;lt;br&amp;gt;Les conteneurs sont créés avec Docker. Pour cela, on récupère une image avec la commande &amp;quot;docker pull debian&amp;quot; et on le créé sur notre machine avec &amp;quot;docker run -i -t debian /bin/bash&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Crack de la clef WEP&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;p&amp;gt;&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;br&amp;gt;&lt;br /&gt;
airodump-ng --encrypt wep wlan0mon &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;br&amp;gt;&lt;br /&gt;
airodump-ng -w out -c 4 --essid ***** wlan0mon &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tests (force brute)&amp;lt;br&amp;gt;&lt;br /&gt;
aircrack-ng out-01.cap &amp;lt;br&amp;gt;&lt;br /&gt;
KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46513</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46513"/>
				<updated>2017-12-03T22:20:40Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;style&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Dans cette page, nous avons décrit toutes les manipulations nécessaires afin de mener à bien ce projet.&lt;br /&gt;
&lt;br /&gt;
Vous trouverez en annexe tous les fichiers de configuration liés à ce projet (ceux de la machine virtuelle, de bind, d'apache, de postfix).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/style&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création de la machine virtuelle&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Voici les noms de ces clefs :&lt;br /&gt;
 clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
 clef asym clef d'enregistrement : Kduvel.space.+005+43650&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sécurisation du site web par certificat&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl.conf&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Gandi propose un certificat gratuit lorsque l'on achète un domaine.&lt;br /&gt;
&lt;br /&gt;
Nous ajountons donc 3 lignes de configuration dans le fichier default-ssl.conf :&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile	/root/duvel.crt&lt;br /&gt;
 SSLCertificateKeyFile /root/duvel.key&lt;br /&gt;
 SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.crt contient le certificat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.key contient clef privée du serveur.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;L'idée est ici de créer un serveur mail sur notre machine virtuelle à partir de postfix, tout en utilisant des conteneurs correspondants à chaque utilisateur.&amp;lt;br&amp;gt;Les conteneurs sont créés avec Docker. Pour cela, on récupère une image avec la commande &amp;quot;docker pull debian&amp;quot; et on le créé sur notre machine avec &amp;quot;docker run -i -t debian /bin/bash&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Crack de la clef WEP&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;p&amp;gt;&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;br&amp;gt;&lt;br /&gt;
airodump-ng --encrypt wep wlan0mon &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;br&amp;gt;&lt;br /&gt;
airodump-ng -w out -c 4 --essid ***** wlan0mon &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tests (force brute)&amp;lt;br&amp;gt;&lt;br /&gt;
aircrack-ng out-01.cap &amp;lt;br&amp;gt;&lt;br /&gt;
KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46512</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46512"/>
				<updated>2017-12-03T22:18:16Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Dans cette page, nous avons décrit toutes les manipulations nécessaires afin de mener à bien ce projet.&lt;br /&gt;
&lt;br /&gt;
Vous trouverez en annexe tous les fichiers de configuration liés à ce projet (ceux de la machine virtuelle, de bind, d'apache, de postfix).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création de la machine virtuelle&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Voici les noms de ces clefs :&lt;br /&gt;
 clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
 clef asym clef d'enregistrement : Kduvel.space.+005+43650&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sécurisation du site web par certificat&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl.conf&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Gandi propose un certificat gratuit lorsque l'on achète un domaine.&lt;br /&gt;
&lt;br /&gt;
Nous ajountons donc 3 lignes de configuration dans le fichier default-ssl.conf :&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile	/root/duvel.crt&lt;br /&gt;
 SSLCertificateKeyFile /root/duvel.key&lt;br /&gt;
 SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.crt contient le certificat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.key contient clef privée du serveur.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;L'idée est ici de créer un serveur mail sur notre machine virtuelle à partir de postfix, tout en utilisant des conteneurs correspondants à chaque utilisateur.&amp;lt;br&amp;gt;Les conteneurs sont créés avec Docker. Pour cela, on récupère une image avec la commande &amp;quot;docker pull debian&amp;quot; et on le créé sur notre machine avec &amp;quot;docker run -i -t debian /bin/bash&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Crack de la clef WEP&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;p&amp;gt;&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;br&amp;gt;&lt;br /&gt;
airodump-ng --encrypt wep wlan0mon &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;br&amp;gt;&lt;br /&gt;
airodump-ng -w out -c 4 --essid ***** wlan0mon &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tests (force brute)&amp;lt;br&amp;gt;&lt;br /&gt;
aircrack-ng out-01.cap &amp;lt;br&amp;gt;&lt;br /&gt;
KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46511</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46511"/>
				<updated>2017-12-03T22:15:53Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Dans cette page, nous avons décrit toutes les manipulations nécessaires afin de mener à bien ce projet.&lt;br /&gt;
&lt;br /&gt;
Vous trouverez en annexe tous les fichiers de configuration liés à ce projet (ceux de la machine virtuelle, de bind, d'apache, de postfix).&lt;br /&gt;
&lt;br /&gt;
Voici le sommaire de ce projet :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création de la machine virtuelle&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sécurisation du site web par certificat&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl.conf&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Gandi propose un certificat gratuit lorsque l'on achète un domaine.&lt;br /&gt;
&lt;br /&gt;
Nous ajountons donc 3 lignes de configuration dans le fichier default-ssl.conf :&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile	/root/duvel.crt&lt;br /&gt;
 SSLCertificateKeyFile /root/duvel.key&lt;br /&gt;
 SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.crt contient le certificat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.key contient clef privée du serveur.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;La config ssl de apache a aussi été modifier pour avoir un site en https sur le port 443 avec certificat.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;IfModule mod_ssl.c&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
	&amp;lt;VirtualHost *:443&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
		ServerAdmin webmaster@localhost&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		DocumentRoot /var/www/html&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		ErrorLog ${APACHE_LOG_DIR}/error.log&amp;lt;br&amp;gt;&lt;br /&gt;
		CustomLog ${APACHE_LOG_DIR}/access.log combined&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLEngine on&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLCertificateFile	/root/duvel.crt&amp;lt;br&amp;gt;&lt;br /&gt;
		SSLCertificateKeyFile /root/duvel.key&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;FilesMatch &amp;quot;\.(cgi|shtml|phtml|php)$&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
				SSLOptions +StdEnvVars&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;/FilesMatch&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;Directory /usr/lib/cgi-bin&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
				SSLOptions +StdEnvVars&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;/Directory&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		BrowserMatch &amp;quot;MSIE [2-6]&amp;quot; \&amp;lt;br&amp;gt;&lt;br /&gt;
				nokeepalive ssl-unclean-shutdown \&amp;lt;br&amp;gt;&lt;br /&gt;
				downgrade-1.0 force-response-1.0&amp;lt;br&amp;gt;&lt;br /&gt;
		BrowserMatch &amp;quot;MSIE [17-9]&amp;quot; ssl-unclean-shutdown&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;/VirtualHost&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Nous avons ensuite créé les 2 clefs asymétriques suivantes:&lt;br /&gt;
&amp;lt;li&amp;gt;clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
&amp;lt;li&amp;gt;clef asym clef d'enregistrement : Kduvel.space.+005+43650&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;L'idée est ici de créer un serveur mail sur notre machine virtuelle à partir de postfix, tout en utilisant des conteneurs correspondants à chaque utilisateur.&amp;lt;br&amp;gt;Les conteneurs sont créés avec Docker. Pour cela, on récupère une image avec la commande &amp;quot;docker pull debian&amp;quot; et on le créé sur notre machine avec &amp;quot;docker run -i -t debian /bin/bash&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Crack de la clef WEP&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;p&amp;gt;&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;br&amp;gt;&lt;br /&gt;
airodump-ng --encrypt wep wlan0mon &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;br&amp;gt;&lt;br /&gt;
airodump-ng -w out -c 4 --essid ***** wlan0mon &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tests (force brute)&amp;lt;br&amp;gt;&lt;br /&gt;
aircrack-ng out-01.cap &amp;lt;br&amp;gt;&lt;br /&gt;
KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46510</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46510"/>
				<updated>2017-12-03T22:01:26Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création de la machine virtuelle&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sécurisation du site web par certificat&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl.conf&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Gandi propose un certificat gratuit lorsque l'on achète un domaine.&lt;br /&gt;
&lt;br /&gt;
Nous ajountons donc 3 lignes de configuration dans le fichier default-ssl.conf :&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile	/root/duvel.crt&lt;br /&gt;
 SSLCertificateKeyFile /root/duvel.key&lt;br /&gt;
 SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.crt contient le certificat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.key contient clef privée du serveur.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;La config ssl de apache a aussi été modifier pour avoir un site en https sur le port 443 avec certificat.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;IfModule mod_ssl.c&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
	&amp;lt;VirtualHost *:443&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
		ServerAdmin webmaster@localhost&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		DocumentRoot /var/www/html&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		ErrorLog ${APACHE_LOG_DIR}/error.log&amp;lt;br&amp;gt;&lt;br /&gt;
		CustomLog ${APACHE_LOG_DIR}/access.log combined&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLEngine on&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLCertificateFile	/root/duvel.crt&amp;lt;br&amp;gt;&lt;br /&gt;
		SSLCertificateKeyFile /root/duvel.key&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;FilesMatch &amp;quot;\.(cgi|shtml|phtml|php)$&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
				SSLOptions +StdEnvVars&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;/FilesMatch&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;Directory /usr/lib/cgi-bin&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
				SSLOptions +StdEnvVars&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;/Directory&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		BrowserMatch &amp;quot;MSIE [2-6]&amp;quot; \&amp;lt;br&amp;gt;&lt;br /&gt;
				nokeepalive ssl-unclean-shutdown \&amp;lt;br&amp;gt;&lt;br /&gt;
				downgrade-1.0 force-response-1.0&amp;lt;br&amp;gt;&lt;br /&gt;
		BrowserMatch &amp;quot;MSIE [17-9]&amp;quot; ssl-unclean-shutdown&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;/VirtualHost&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Nous avons ensuite créé les 2 clefs asymétriques suivantes:&lt;br /&gt;
&amp;lt;li&amp;gt;clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
&amp;lt;li&amp;gt;clef asym clef d'enregistrement : Kduvel.space.+005+43650&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;L'idée est ici de créer un serveur mail sur notre machine virtuelle à partir de postfix, tout en utilisant des conteneurs correspondants à chaque utilisateur.&amp;lt;br&amp;gt;Les conteneurs sont créés avec Docker. Pour cela, on récupère une image avec la commande &amp;quot;docker pull debian&amp;quot; et on le créé sur notre machine avec &amp;quot;docker run -i -t debian /bin/bash&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Crack de la clef WEP&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;p&amp;gt;&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;br&amp;gt;&lt;br /&gt;
airodump-ng --encrypt wep wlan0mon &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;br&amp;gt;&lt;br /&gt;
airodump-ng -w out -c 4 --essid ***** wlan0mon &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tests (force brute)&amp;lt;br&amp;gt;&lt;br /&gt;
aircrack-ng out-01.cap &amp;lt;br&amp;gt;&lt;br /&gt;
KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46509</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46509"/>
				<updated>2017-12-03T21:55:23Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Projet de réseau IMA2A5&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sécurisation du site web par certificat&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Tout d'abord, il faut utiliser les commandes Apache pour autoriser le ssl :&lt;br /&gt;
&lt;br /&gt;
 a2ensite default-ssl.conf&lt;br /&gt;
 a2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Gandi propose un certificat gratuit lorsque l'on achète un domaine.&lt;br /&gt;
&lt;br /&gt;
Nous ajountons donc 3 lignes de configuration dans le fichier default-ssl.conf :&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile	/root/duvel.crt&lt;br /&gt;
 SSLCertificateKeyFile /root/duvel.key&lt;br /&gt;
 SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.crt contient le certificat.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier duvel.key contient clef privée du serveur.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Le fichier GandiStandardSSLCA2.pem contient la chaîne de certification (fournie par gandi.net).&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;La config ssl de apache a aussi été modifier pour avoir un site en https sur le port 443 avec certificat.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;IfModule mod_ssl.c&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
	&amp;lt;VirtualHost *:443&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
		ServerAdmin webmaster@localhost&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		DocumentRoot /var/www/html&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		ErrorLog ${APACHE_LOG_DIR}/error.log&amp;lt;br&amp;gt;&lt;br /&gt;
		CustomLog ${APACHE_LOG_DIR}/access.log combined&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLEngine on&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLCertificateFile	/root/duvel.crt&amp;lt;br&amp;gt;&lt;br /&gt;
		SSLCertificateKeyFile /root/duvel.key&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;FilesMatch &amp;quot;\.(cgi|shtml|phtml|php)$&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
				SSLOptions +StdEnvVars&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;/FilesMatch&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;Directory /usr/lib/cgi-bin&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
				SSLOptions +StdEnvVars&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;/Directory&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		BrowserMatch &amp;quot;MSIE [2-6]&amp;quot; \&amp;lt;br&amp;gt;&lt;br /&gt;
				nokeepalive ssl-unclean-shutdown \&amp;lt;br&amp;gt;&lt;br /&gt;
				downgrade-1.0 force-response-1.0&amp;lt;br&amp;gt;&lt;br /&gt;
		BrowserMatch &amp;quot;MSIE [17-9]&amp;quot; ssl-unclean-shutdown&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;/VirtualHost&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Nous avons ensuite créé les 2 clefs asymétriques suivantes:&lt;br /&gt;
&amp;lt;li&amp;gt;clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
&amp;lt;li&amp;gt;clef asym clef d'enregistrement : Kduvel.space.+005+43650&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;L'idée est ici de créer un serveur mail sur notre machine virtuelle à partir de postfix, tout en utilisant des conteneurs correspondants à chaque utilisateur.&amp;lt;br&amp;gt;Les conteneurs sont créés avec Docker. Pour cela, on récupère une image avec la commande &amp;quot;docker pull debian&amp;quot; et on le créé sur notre machine avec &amp;quot;docker run -i -t debian /bin/bash&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Crack de la clef WEP&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;p&amp;gt;&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;br&amp;gt;&lt;br /&gt;
airodump-ng --encrypt wep wlan0mon &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;br&amp;gt;&lt;br /&gt;
airodump-ng -w out -c 4 --essid ***** wlan0mon &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tests (force brute)&amp;lt;br&amp;gt;&lt;br /&gt;
aircrack-ng out-01.cap &amp;lt;br&amp;gt;&lt;br /&gt;
KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46508</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46508"/>
				<updated>2017-12-03T21:27:20Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Projet de réseau IMA2A5&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;La config ssl de apache a aussi été modifier pour avoir un site en https sur le port 443 avec certificat.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;IfModule mod_ssl.c&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
	&amp;lt;VirtualHost *:443&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
		ServerAdmin webmaster@localhost&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		DocumentRoot /var/www/html&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		ErrorLog ${APACHE_LOG_DIR}/error.log&amp;lt;br&amp;gt;&lt;br /&gt;
		CustomLog ${APACHE_LOG_DIR}/access.log combined&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLEngine on&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLCertificateFile	/root/duvel.crt&amp;lt;br&amp;gt;&lt;br /&gt;
		SSLCertificateKeyFile /root/duvel.key&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;FilesMatch &amp;quot;\.(cgi|shtml|phtml|php)$&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
				SSLOptions +StdEnvVars&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;/FilesMatch&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;Directory /usr/lib/cgi-bin&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
				SSLOptions +StdEnvVars&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;/Directory&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		BrowserMatch &amp;quot;MSIE [2-6]&amp;quot; \&amp;lt;br&amp;gt;&lt;br /&gt;
				nokeepalive ssl-unclean-shutdown \&amp;lt;br&amp;gt;&lt;br /&gt;
				downgrade-1.0 force-response-1.0&amp;lt;br&amp;gt;&lt;br /&gt;
		BrowserMatch &amp;quot;MSIE [17-9]&amp;quot; ssl-unclean-shutdown&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;/VirtualHost&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Nous avons ensuite créé les 2 clefs asymétriques suivantes:&lt;br /&gt;
&amp;lt;li&amp;gt;clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
&amp;lt;li&amp;gt;clef asym clef d'enregistrement : Kduvel.space.+005+43650&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;L'idée est ici de créer un serveur mail sur notre machine virtuelle à partir de postfix, tout en utilisant des conteneurs correspondants à chaque utilisateur.&amp;lt;br&amp;gt;Les conteneurs sont créés avec Docker. Pour cela, on récupère une image avec la commande &amp;quot;docker pull debian&amp;quot; et on le créé sur notre machine avec &amp;quot;docker run -i -t debian /bin/bash&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Crack de la clef WEP&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;p&amp;gt;&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;br&amp;gt;&lt;br /&gt;
airodump-ng --encrypt wep wlan0mon &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;br&amp;gt;&lt;br /&gt;
airodump-ng -w out -c 4 --essid ***** wlan0mon &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tests (force brute)&amp;lt;br&amp;gt;&lt;br /&gt;
aircrack-ng out-01.cap &amp;lt;br&amp;gt;&lt;br /&gt;
KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46507</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46507"/>
				<updated>2017-12-03T21:24:21Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Projet de réseau IMA2A5&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;/li&amp;gt;&lt;br /&gt;
 zone &amp;quot;duvel.space&amp;quot; { &lt;br /&gt;
 type master;&lt;br /&gt;
 file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&lt;br /&gt;
 //  allow-transfer {  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;/li&amp;gt;&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
 listen-on-v6 { any; };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;/li&amp;gt;&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.duvel.space. root.duvel.space. (&lt;br /&gt;
          3298267243       ; Version&lt;br /&gt;
          7200             ; Refresh (2h)&lt;br /&gt;
          3600             ; Retry   (1h)&lt;br /&gt;
          1209600          ; Expire (14j)&lt;br /&gt;
          259200 )         ; Minimum TTL (3j)&lt;br /&gt;
   IN NS ns.duvel.space.&lt;br /&gt;
   IN NS ns6.gandi.net.&lt;br /&gt;
 &lt;br /&gt;
 ns      IN A 193.48.57.165&lt;br /&gt;
 ns6     IN A 217.70.177.40&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space. //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt; //pour pouvoir accéder au site web en tapant www.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;La config ssl de apache a aussi été modifier pour avoir un site en https sur le port 443 avec certificat.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;IfModule mod_ssl.c&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
	&amp;lt;VirtualHost *:443&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
		ServerAdmin webmaster@localhost&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		DocumentRoot /var/www/html&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		ErrorLog ${APACHE_LOG_DIR}/error.log&amp;lt;br&amp;gt;&lt;br /&gt;
		CustomLog ${APACHE_LOG_DIR}/access.log combined&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLEngine on&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLCertificateFile	/root/duvel.crt&amp;lt;br&amp;gt;&lt;br /&gt;
		SSLCertificateKeyFile /root/duvel.key&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;FilesMatch &amp;quot;\.(cgi|shtml|phtml|php)$&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
				SSLOptions +StdEnvVars&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;/FilesMatch&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;Directory /usr/lib/cgi-bin&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
				SSLOptions +StdEnvVars&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;/Directory&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		BrowserMatch &amp;quot;MSIE [2-6]&amp;quot; \&amp;lt;br&amp;gt;&lt;br /&gt;
				nokeepalive ssl-unclean-shutdown \&amp;lt;br&amp;gt;&lt;br /&gt;
				downgrade-1.0 force-response-1.0&amp;lt;br&amp;gt;&lt;br /&gt;
		BrowserMatch &amp;quot;MSIE [17-9]&amp;quot; ssl-unclean-shutdown&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;/VirtualHost&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Nous avons ensuite créé les 2 clefs asymétriques suivantes:&lt;br /&gt;
&amp;lt;li&amp;gt;clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
&amp;lt;li&amp;gt;clef asym clef d'enregistrement : Kduvel.space.+005+43650&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;L'idée est ici de créer un serveur mail sur notre machine virtuelle à partir de postfix, tout en utilisant des conteneurs correspondants à chaque utilisateur.&amp;lt;br&amp;gt;Les conteneurs sont créés avec Docker. Pour cela, on récupère une image avec la commande &amp;quot;docker pull debian&amp;quot; et on le créé sur notre machine avec &amp;quot;docker run -i -t debian /bin/bash&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Crack de la clef WEP&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;p&amp;gt;&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;br&amp;gt;&lt;br /&gt;
airodump-ng --encrypt wep wlan0mon &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;br&amp;gt;&lt;br /&gt;
airodump-ng -w out -c 4 --essid ***** wlan0mon &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tests (force brute)&amp;lt;br&amp;gt;&lt;br /&gt;
aircrack-ng out-01.cap &amp;lt;br&amp;gt;&lt;br /&gt;
KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46506</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46506"/>
				<updated>2017-12-03T21:11:31Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Projet de réseau IMA2A5&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 apt-get install bind9, apache2&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;zone &amp;quot;duvel.space&amp;quot; { &amp;lt;br&amp;gt;type master;&amp;lt;br&amp;gt;file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&amp;lt;br&amp;gt;//  allow-transfer {  };&amp;lt;br&amp;gt;};&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;dnssec-validation auto;&amp;lt;br&amp;gt;auth-nxdomain no;    # conform to RFC1035&amp;lt;br&amp;gt;listen-on-v6 { any; };&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;br&amp;gt;$TTL 604800&amp;lt;br&amp;gt;@ IN SOA ns.duvel.space. root.duvel.space. (&amp;lt;br&amp;gt;         3298267243       ; Version&amp;lt;br&amp;gt;         7200             ; Refresh (2h)&amp;lt;br&amp;gt;         3600             ; Retry   (1h)&amp;lt;br&amp;gt;         1209600          ; Expire (14j)&amp;lt;br&amp;gt;         259200 )         ; Minimum TTL (3j)&amp;lt;br&amp;gt;  IN NS ns.duvel.space.&amp;lt;br&amp;gt;  IN NS ns6.gandi.net.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;ns      IN A 193.48.57.165&amp;lt;br&amp;gt;ns6     IN A 217.70.177.40&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifié le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 IN MX 100 ns.duvel.space.  //pour autoriser le serveur de mail.&lt;br /&gt;
 www	IN CNAME ns&amp;lt;br&amp;gt;     //pour pouvoir accéder au site web en tapant www.duvel.space plutôt que ns.duvel.space&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite généré les clefs asymétriques :&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE duvel.space&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois ces clefs créées, nous les avons ajouté dans webmail.duvel.space :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-ksk.key&lt;br /&gt;
 $include /etc/bind/duvel.space.dnssec/duvel.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut signer la zone via la commande :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o duvel.space -k duvel.space-ksk ../webmail.duvel.space duvel.space-zsk&lt;br /&gt;
&lt;br /&gt;
Le DNSSEC est alors correctement configuré.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;La config ssl de apache a aussi été modifier pour avoir un site en https sur le port 443 avec certificat.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;IfModule mod_ssl.c&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
	&amp;lt;VirtualHost *:443&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
		ServerAdmin webmaster@localhost&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		DocumentRoot /var/www/html&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		ErrorLog ${APACHE_LOG_DIR}/error.log&amp;lt;br&amp;gt;&lt;br /&gt;
		CustomLog ${APACHE_LOG_DIR}/access.log combined&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLEngine on&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLCertificateFile	/root/duvel.crt&amp;lt;br&amp;gt;&lt;br /&gt;
		SSLCertificateKeyFile /root/duvel.key&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;FilesMatch &amp;quot;\.(cgi|shtml|phtml|php)$&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
				SSLOptions +StdEnvVars&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;/FilesMatch&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;Directory /usr/lib/cgi-bin&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
				SSLOptions +StdEnvVars&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;/Directory&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		BrowserMatch &amp;quot;MSIE [2-6]&amp;quot; \&amp;lt;br&amp;gt;&lt;br /&gt;
				nokeepalive ssl-unclean-shutdown \&amp;lt;br&amp;gt;&lt;br /&gt;
				downgrade-1.0 force-response-1.0&amp;lt;br&amp;gt;&lt;br /&gt;
		BrowserMatch &amp;quot;MSIE [17-9]&amp;quot; ssl-unclean-shutdown&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;/VirtualHost&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Nous avons ensuite créé les 2 clefs asymétriques suivantes:&lt;br /&gt;
&amp;lt;li&amp;gt;clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
&amp;lt;li&amp;gt;clef asym clef d'enregistrement : Kduvel.space.+005+43650&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;L'idée est ici de créer un serveur mail sur notre machine virtuelle à partir de postfix, tout en utilisant des conteneurs correspondants à chaque utilisateur.&amp;lt;br&amp;gt;Les conteneurs sont créés avec Docker. Pour cela, on récupère une image avec la commande &amp;quot;docker pull debian&amp;quot; et on le créé sur notre machine avec &amp;quot;docker run -i -t debian /bin/bash&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Crack de la clef WEP&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;p&amp;gt;&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;br&amp;gt;&lt;br /&gt;
airodump-ng --encrypt wep wlan0mon &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;br&amp;gt;&lt;br /&gt;
airodump-ng -w out -c 4 --essid ***** wlan0mon &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tests (force brute)&amp;lt;br&amp;gt;&lt;br /&gt;
aircrack-ng out-01.cap &amp;lt;br&amp;gt;&lt;br /&gt;
KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46505</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46505"/>
				<updated>2017-12-03T20:44:19Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Projet de réseau IMA2A5&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;  apt-get install bind9, apache2&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration de bind9&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;zone &amp;quot;duvel.space&amp;quot; { &amp;lt;br&amp;gt;type master;&amp;lt;br&amp;gt;file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&amp;lt;br&amp;gt;//  allow-transfer {  };&amp;lt;br&amp;gt;};&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;dnssec-validation auto;&amp;lt;br&amp;gt;auth-nxdomain no;    # conform to RFC1035&amp;lt;br&amp;gt;listen-on-v6 { any; };&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;br&amp;gt;$TTL 604800&amp;lt;br&amp;gt;@ IN SOA ns.duvel.space. root.duvel.space. (&amp;lt;br&amp;gt;         3298267243       ; Version&amp;lt;br&amp;gt;         7200             ; Refresh (2h)&amp;lt;br&amp;gt;         3600             ; Retry   (1h)&amp;lt;br&amp;gt;         1209600          ; Expire (14j)&amp;lt;br&amp;gt;         259200 )         ; Minimum TTL (3j)&amp;lt;br&amp;gt;  IN NS ns.duvel.space.&amp;lt;br&amp;gt;  IN NS ns6.gandi.net.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;ns      IN A 193.48.57.165&amp;lt;br&amp;gt;ns6     IN A 217.70.177.40&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Une fois que la configuration de bind est terminée, nous avons ajouté les adresses IP sur gandi et ajuster la configuration de gandi.&lt;br /&gt;
Après quelques bonnes heures de propagation, le DNS fonctionne.&lt;br /&gt;
On obtient la page par défaut d'apache sur un navigateur à l'adresse ns.duvel.space.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Une f&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifier le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&amp;lt;br&amp;gt;&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;IN MX 100 ns.duvel.space.&lt;br /&gt;
&amp;lt;li&amp;gt;www	IN CNAME ns&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;La config ssl de apache a aussi été modifier pour avoir un site en https sur le port 443 avec certificat.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;IfModule mod_ssl.c&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
	&amp;lt;VirtualHost *:443&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
		ServerAdmin webmaster@localhost&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		DocumentRoot /var/www/html&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		ErrorLog ${APACHE_LOG_DIR}/error.log&amp;lt;br&amp;gt;&lt;br /&gt;
		CustomLog ${APACHE_LOG_DIR}/access.log combined&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLEngine on&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLCertificateFile	/root/duvel.crt&amp;lt;br&amp;gt;&lt;br /&gt;
		SSLCertificateKeyFile /root/duvel.key&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;FilesMatch &amp;quot;\.(cgi|shtml|phtml|php)$&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
				SSLOptions +StdEnvVars&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;/FilesMatch&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;Directory /usr/lib/cgi-bin&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
				SSLOptions +StdEnvVars&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;/Directory&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		BrowserMatch &amp;quot;MSIE [2-6]&amp;quot; \&amp;lt;br&amp;gt;&lt;br /&gt;
				nokeepalive ssl-unclean-shutdown \&amp;lt;br&amp;gt;&lt;br /&gt;
				downgrade-1.0 force-response-1.0&amp;lt;br&amp;gt;&lt;br /&gt;
		BrowserMatch &amp;quot;MSIE [17-9]&amp;quot; ssl-unclean-shutdown&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;/VirtualHost&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Nous avons ensuite créé les 2 clefs asymétriques suivantes:&lt;br /&gt;
&amp;lt;li&amp;gt;clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
&amp;lt;li&amp;gt;clef asym clef d'enregistrement : Kduvel.space.+005+43650&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;L'idée est ici de créer un serveur mail sur notre machine virtuelle à partir de postfix, tout en utilisant des conteneurs correspondants à chaque utilisateur.&amp;lt;br&amp;gt;Les conteneurs sont créés avec Docker. Pour cela, on récupère une image avec la commande &amp;quot;docker pull debian&amp;quot; et on le créé sur notre machine avec &amp;quot;docker run -i -t debian /bin/bash&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Crack de la clef WEP&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;p&amp;gt;&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;br&amp;gt;&lt;br /&gt;
airodump-ng --encrypt wep wlan0mon &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;br&amp;gt;&lt;br /&gt;
airodump-ng -w out -c 4 --essid ***** wlan0mon &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tests (force brute)&amp;lt;br&amp;gt;&lt;br /&gt;
aircrack-ng out-01.cap &amp;lt;br&amp;gt;&lt;br /&gt;
KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46504</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46504"/>
				<updated>2017-12-03T20:25:37Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Projet de réseau IMA2A5&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous avons allouer de la mémoire à nos /var et /home sur une partition du serveur Cordouan.&lt;br /&gt;
&lt;br /&gt;
Voici les lignes de commandes permettant la création des partitions :&lt;br /&gt;
&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_home virtual ; mke2fs /dev/virtual/IMA2A5_duvel_home&lt;br /&gt;
 lvcreate -L10G -nIMA2A5_duvel_var virtual ; mke2fs /dev/virtual/IMA2A5_duvel_var&lt;br /&gt;
&lt;br /&gt;
Le -L10G permet d'imposer une taille de 10 gigas.&lt;br /&gt;
&lt;br /&gt;
Il faut alors ajouter les lignes suivantes à duvel.cfg afin de permettre à la MV duvel l'accès à ces partitions :&lt;br /&gt;
 &lt;br /&gt;
 disk        = [&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/disk.img,xvda2,w',&lt;br /&gt;
                 'file:/usr/local/xen/domains/duvel/swap.img,xvda1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_var,xvdb1,w',&lt;br /&gt;
                 'phy:/dev/virtual/IMA2A5_duvel_home,xvdb2,w',&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration réseau de la MV&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Création du DNS&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Installation des paquets &amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  apt-get install bind9, apache2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
.&amp;lt;br&amp;gt;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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;zone &amp;quot;duvel.space&amp;quot; { &amp;lt;br&amp;gt;type master;&amp;lt;br&amp;gt;file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&amp;lt;br&amp;gt;//  allow-transfer {  };&amp;lt;br&amp;gt;};&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;dnssec-validation auto;&amp;lt;br&amp;gt;auth-nxdomain no;    # conform to RFC1035&amp;lt;br&amp;gt;listen-on-v6 { any; };&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;br&amp;gt;$TTL 604800&amp;lt;br&amp;gt;@ IN SOA ns.duvel.space. root.duvel.space. (&amp;lt;br&amp;gt;         3298267243       ; Version&amp;lt;br&amp;gt;         7200             ; Refresh (2h)&amp;lt;br&amp;gt;         3600             ; Retry   (1h)&amp;lt;br&amp;gt;         1209600          ; Expire (14j)&amp;lt;br&amp;gt;         259200 )         ; Minimum TTL (3j)&amp;lt;br&amp;gt;  IN NS ns.duvel.space.&amp;lt;br&amp;gt;  IN NS ns6.gandi.net.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;ns      IN A 193.48.57.165&amp;lt;br&amp;gt;ns6     IN A 217.70.177.40&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifier le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&amp;lt;br&amp;gt;&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;IN MX 100 ns.duvel.space.&lt;br /&gt;
&amp;lt;li&amp;gt;www	IN CNAME ns&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;La config ssl de apache a aussi été modifier pour avoir un site en https sur le port 443 avec certificat.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;IfModule mod_ssl.c&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
	&amp;lt;VirtualHost *:443&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
		ServerAdmin webmaster@localhost&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		DocumentRoot /var/www/html&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		ErrorLog ${APACHE_LOG_DIR}/error.log&amp;lt;br&amp;gt;&lt;br /&gt;
		CustomLog ${APACHE_LOG_DIR}/access.log combined&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLEngine on&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLCertificateFile	/root/duvel.crt&amp;lt;br&amp;gt;&lt;br /&gt;
		SSLCertificateKeyFile /root/duvel.key&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;FilesMatch &amp;quot;\.(cgi|shtml|phtml|php)$&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
				SSLOptions +StdEnvVars&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;/FilesMatch&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;Directory /usr/lib/cgi-bin&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
				SSLOptions +StdEnvVars&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;/Directory&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		BrowserMatch &amp;quot;MSIE [2-6]&amp;quot; \&amp;lt;br&amp;gt;&lt;br /&gt;
				nokeepalive ssl-unclean-shutdown \&amp;lt;br&amp;gt;&lt;br /&gt;
				downgrade-1.0 force-response-1.0&amp;lt;br&amp;gt;&lt;br /&gt;
		BrowserMatch &amp;quot;MSIE [17-9]&amp;quot; ssl-unclean-shutdown&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;/VirtualHost&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Nous avons ensuite créé les 2 clefs asymétriques suivantes:&lt;br /&gt;
&amp;lt;li&amp;gt;clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
&amp;lt;li&amp;gt;clef asym clef d'enregistrement : Kduvel.space.+005+43650&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;L'idée est ici de créer un serveur mail sur notre machine virtuelle à partir de postfix, tout en utilisant des conteneurs correspondants à chaque utilisateur.&amp;lt;br&amp;gt;Les conteneurs sont créés avec Docker. Pour cela, on récupère une image avec la commande &amp;quot;docker pull debian&amp;quot; et on le créé sur notre machine avec &amp;quot;docker run -i -t debian /bin/bash&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Crack de la clef WEP&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;p&amp;gt;&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;br&amp;gt;&lt;br /&gt;
airodump-ng --encrypt wep wlan0mon &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;br&amp;gt;&lt;br /&gt;
airodump-ng -w out -c 4 --essid ***** wlan0mon &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tests (force brute)&amp;lt;br&amp;gt;&lt;br /&gt;
aircrack-ng out-01.cap &amp;lt;br&amp;gt;&lt;br /&gt;
KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46503</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46503"/>
				<updated>2017-12-03T19:40:29Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Projet de réseau IMA2A5&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau du fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;docker afin de créer des conteneurs de messagerie&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  apt-get install bind9, apache2, docker&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.&amp;lt;br&amp;gt;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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;zone &amp;quot;duvel.space&amp;quot; { &amp;lt;br&amp;gt;type master;&amp;lt;br&amp;gt;file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&amp;lt;br&amp;gt;//  allow-transfer {  };&amp;lt;br&amp;gt;};&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;dnssec-validation auto;&amp;lt;br&amp;gt;auth-nxdomain no;    # conform to RFC1035&amp;lt;br&amp;gt;listen-on-v6 { any; };&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;br&amp;gt;$TTL 604800&amp;lt;br&amp;gt;@ IN SOA ns.duvel.space. root.duvel.space. (&amp;lt;br&amp;gt;         3298267243       ; Version&amp;lt;br&amp;gt;         7200             ; Refresh (2h)&amp;lt;br&amp;gt;         3600             ; Retry   (1h)&amp;lt;br&amp;gt;         1209600          ; Expire (14j)&amp;lt;br&amp;gt;         259200 )         ; Minimum TTL (3j)&amp;lt;br&amp;gt;  IN NS ns.duvel.space.&amp;lt;br&amp;gt;  IN NS ns6.gandi.net.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;ns      IN A 193.48.57.165&amp;lt;br&amp;gt;ns6     IN A 217.70.177.40&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifier le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&amp;lt;br&amp;gt;&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;IN MX 100 ns.duvel.space.&lt;br /&gt;
&amp;lt;li&amp;gt;www	IN CNAME ns&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;La config ssl de apache a aussi été modifier pour avoir un site en https sur le port 443 avec certificat.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;IfModule mod_ssl.c&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
	&amp;lt;VirtualHost *:443&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
		ServerAdmin webmaster@localhost&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		DocumentRoot /var/www/html&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		ErrorLog ${APACHE_LOG_DIR}/error.log&amp;lt;br&amp;gt;&lt;br /&gt;
		CustomLog ${APACHE_LOG_DIR}/access.log combined&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLEngine on&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLCertificateFile	/root/duvel.crt&amp;lt;br&amp;gt;&lt;br /&gt;
		SSLCertificateKeyFile /root/duvel.key&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;FilesMatch &amp;quot;\.(cgi|shtml|phtml|php)$&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
				SSLOptions +StdEnvVars&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;/FilesMatch&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;Directory /usr/lib/cgi-bin&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
				SSLOptions +StdEnvVars&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;/Directory&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		BrowserMatch &amp;quot;MSIE [2-6]&amp;quot; \&amp;lt;br&amp;gt;&lt;br /&gt;
				nokeepalive ssl-unclean-shutdown \&amp;lt;br&amp;gt;&lt;br /&gt;
				downgrade-1.0 force-response-1.0&amp;lt;br&amp;gt;&lt;br /&gt;
		BrowserMatch &amp;quot;MSIE [17-9]&amp;quot; ssl-unclean-shutdown&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;/VirtualHost&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Nous avons ensuite créé les 2 clefs asymétriques suivantes:&lt;br /&gt;
&amp;lt;li&amp;gt;clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
&amp;lt;li&amp;gt;clef asym clef d'enregistrement : Kduvel.space.+005+43650&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;L'idée est ici de créer un serveur mail sur notre machine virtuelle à partir de postfix, tout en utilisant des conteneurs correspondants à chaque utilisateur.&amp;lt;br&amp;gt;Les conteneurs sont créés avec Docker. Pour cela, on récupère une image avec la commande &amp;quot;docker pull debian&amp;quot; et on le créé sur notre machine avec &amp;quot;docker run -i -t debian /bin/bash&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Crack de la clef WEP&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;p&amp;gt;&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;br&amp;gt;&lt;br /&gt;
airodump-ng --encrypt wep wlan0mon &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;br&amp;gt;&lt;br /&gt;
airodump-ng -w out -c 4 --essid ***** wlan0mon &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tests (force brute)&amp;lt;br&amp;gt;&lt;br /&gt;
aircrack-ng out-01.cap &amp;lt;br&amp;gt;&lt;br /&gt;
KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46502</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46502"/>
				<updated>2017-12-03T19:32:10Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Projet de réseau IMA2A5&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom).&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle est hébergée sur le serveur cordouan.&lt;br /&gt;
Voici les différentes commandes nécessaires pour créer la machine virtuelle :&lt;br /&gt;
 xen-create-image --hostname=duvel --dhcp --dir=/usr/local/xen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;docker afin de créer des conteneurs de messagerie&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  apt-get install bind9, apache2, docker&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;Ensuite, nous avons configuré le réseau de notre machine virtuelle afin qu'il soit configuré sur son nouveau réseau (celui mis en place par les copains). Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau que nous avons intégrée dans le fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
.&amp;lt;br&amp;gt;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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;zone &amp;quot;duvel.space&amp;quot; { &amp;lt;br&amp;gt;type master;&amp;lt;br&amp;gt;file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&amp;lt;br&amp;gt;//  allow-transfer {  };&amp;lt;br&amp;gt;};&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;dnssec-validation auto;&amp;lt;br&amp;gt;auth-nxdomain no;    # conform to RFC1035&amp;lt;br&amp;gt;listen-on-v6 { any; };&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;br&amp;gt;$TTL 604800&amp;lt;br&amp;gt;@ IN SOA ns.duvel.space. root.duvel.space. (&amp;lt;br&amp;gt;         3298267243       ; Version&amp;lt;br&amp;gt;         7200             ; Refresh (2h)&amp;lt;br&amp;gt;         3600             ; Retry   (1h)&amp;lt;br&amp;gt;         1209600          ; Expire (14j)&amp;lt;br&amp;gt;         259200 )         ; Minimum TTL (3j)&amp;lt;br&amp;gt;  IN NS ns.duvel.space.&amp;lt;br&amp;gt;  IN NS ns6.gandi.net.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;ns      IN A 193.48.57.165&amp;lt;br&amp;gt;ns6     IN A 217.70.177.40&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifier le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&amp;lt;br&amp;gt;&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;IN MX 100 ns.duvel.space.&lt;br /&gt;
&amp;lt;li&amp;gt;www	IN CNAME ns&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;La config ssl de apache a aussi été modifier pour avoir un site en https sur le port 443 avec certificat.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;IfModule mod_ssl.c&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
	&amp;lt;VirtualHost *:443&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
		ServerAdmin webmaster@localhost&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		DocumentRoot /var/www/html&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		ErrorLog ${APACHE_LOG_DIR}/error.log&amp;lt;br&amp;gt;&lt;br /&gt;
		CustomLog ${APACHE_LOG_DIR}/access.log combined&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLEngine on&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLCertificateFile	/root/duvel.crt&amp;lt;br&amp;gt;&lt;br /&gt;
		SSLCertificateKeyFile /root/duvel.key&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;FilesMatch &amp;quot;\.(cgi|shtml|phtml|php)$&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
				SSLOptions +StdEnvVars&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;/FilesMatch&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;Directory /usr/lib/cgi-bin&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
				SSLOptions +StdEnvVars&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;/Directory&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		BrowserMatch &amp;quot;MSIE [2-6]&amp;quot; \&amp;lt;br&amp;gt;&lt;br /&gt;
				nokeepalive ssl-unclean-shutdown \&amp;lt;br&amp;gt;&lt;br /&gt;
				downgrade-1.0 force-response-1.0&amp;lt;br&amp;gt;&lt;br /&gt;
		BrowserMatch &amp;quot;MSIE [17-9]&amp;quot; ssl-unclean-shutdown&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;/VirtualHost&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Nous avons ensuite créé les 2 clefs asymétriques suivantes:&lt;br /&gt;
&amp;lt;li&amp;gt;clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
&amp;lt;li&amp;gt;clef asym clef d'enregistrement : Kduvel.space.+005+43650&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;L'idée est ici de créer un serveur mail sur notre machine virtuelle à partir de postfix, tout en utilisant des conteneurs correspondants à chaque utilisateur.&amp;lt;br&amp;gt;Les conteneurs sont créés avec Docker. Pour cela, on récupère une image avec la commande &amp;quot;docker pull debian&amp;quot; et on le créé sur notre machine avec &amp;quot;docker run -i -t debian /bin/bash&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Crack de la clef WEP&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;p&amp;gt;&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;br&amp;gt;&lt;br /&gt;
airodump-ng --encrypt wep wlan0mon &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;br&amp;gt;&lt;br /&gt;
airodump-ng -w out -c 4 --essid ***** wlan0mon &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tests (force brute)&amp;lt;br&amp;gt;&lt;br /&gt;
aircrack-ng out-01.cap &amp;lt;br&amp;gt;&lt;br /&gt;
KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46481</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46481"/>
				<updated>2017-12-01T16:00:09Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Projet de réseau IMA2A5&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;br&amp;gt;Notre tâche principale de ce projet de promo est de monter un serveur de messagerie&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom). Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;docker afin de créer des conteneurs de messagerie&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;Ensuite, nous avons configuré le réseau de notre machine virtuelle afin qu'il soit configuré sur son nouveau réseau (celui mis en place par les copains). Sa nouvelle adresse IP est 193.48.57.165. Voici la configuration réseau que nous avons intégrée dans le fichier /etc/network/interfaces :&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
     //The loopback network interface&lt;br /&gt;
          auto lo&lt;br /&gt;
          iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
     // The primary network interface&lt;br /&gt;
          auto eth0&lt;br /&gt;
          iface eth0 inet static&lt;br /&gt;
             address 193.48.57.165&lt;br /&gt;
             netmask 255.255.255.240&lt;br /&gt;
             gateway 193.48.57.174&lt;br /&gt;
&lt;br /&gt;
.&amp;lt;br&amp;gt;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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;zone &amp;quot;duvel.space&amp;quot; { &amp;lt;br&amp;gt;type master;&amp;lt;br&amp;gt;file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&amp;lt;br&amp;gt;//  allow-transfer {  };&amp;lt;br&amp;gt;};&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;dnssec-validation auto;&amp;lt;br&amp;gt;auth-nxdomain no;    # conform to RFC1035&amp;lt;br&amp;gt;listen-on-v6 { any; };&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;br&amp;gt;$TTL 604800&amp;lt;br&amp;gt;@ IN SOA ns.duvel.space. root.duvel.space. (&amp;lt;br&amp;gt;         3298267243       ; Version&amp;lt;br&amp;gt;         7200             ; Refresh (2h)&amp;lt;br&amp;gt;         3600             ; Retry   (1h)&amp;lt;br&amp;gt;         1209600          ; Expire (14j)&amp;lt;br&amp;gt;         259200 )         ; Minimum TTL (3j)&amp;lt;br&amp;gt;  IN NS ns.duvel.space.&amp;lt;br&amp;gt;  IN NS ns6.gandi.net.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;ns      IN A 193.48.57.165&amp;lt;br&amp;gt;ns6     IN A 217.70.177.40&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifier le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&amp;lt;br&amp;gt;&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;IN MX 100 ns.duvel.space.&lt;br /&gt;
&amp;lt;li&amp;gt;www	IN CNAME ns&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;La config ssl de apache a aussi été modifier pour avoir un site en https sur le port 443 avec certificat.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;IfModule mod_ssl.c&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
	&amp;lt;VirtualHost *:443&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
		ServerAdmin webmaster@localhost&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		DocumentRoot /var/www/html&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		ErrorLog ${APACHE_LOG_DIR}/error.log&amp;lt;br&amp;gt;&lt;br /&gt;
		CustomLog ${APACHE_LOG_DIR}/access.log combined&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLEngine on&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLCertificateFile	/root/duvel.crt&amp;lt;br&amp;gt;&lt;br /&gt;
		SSLCertificateKeyFile /root/duvel.key&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;FilesMatch &amp;quot;\.(cgi|shtml|phtml|php)$&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
				SSLOptions +StdEnvVars&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;/FilesMatch&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;Directory /usr/lib/cgi-bin&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
				SSLOptions +StdEnvVars&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;/Directory&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		BrowserMatch &amp;quot;MSIE [2-6]&amp;quot; \&amp;lt;br&amp;gt;&lt;br /&gt;
				nokeepalive ssl-unclean-shutdown \&amp;lt;br&amp;gt;&lt;br /&gt;
				downgrade-1.0 force-response-1.0&amp;lt;br&amp;gt;&lt;br /&gt;
		BrowserMatch &amp;quot;MSIE [17-9]&amp;quot; ssl-unclean-shutdown&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;/VirtualHost&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Nous avons ensuite créé les 2 clefs asymétriques suivantes:&lt;br /&gt;
&amp;lt;li&amp;gt;clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
&amp;lt;li&amp;gt;clef asym clef d'enregistrement : Kduvel.space.+005+43650&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;L'idée est ici de créer un serveur mail sur notre machine virtuelle à partir de postfix, tout en utilisant des conteneurs correspondants à chaque utilisateur.&amp;lt;br&amp;gt;Les conteneurs sont créés avec Docker. Pour cela, on récupère une image avec la commande &amp;quot;docker pull debian&amp;quot; et on le créé sur notre machine avec &amp;quot;docker run -i -t debian /bin/bash&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Crack de la clef WEP&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;p&amp;gt;&amp;lt;li&amp;gt;On commence par chercher le point d'accès:&amp;lt;br&amp;gt;&lt;br /&gt;
airodump-ng --encrypt wep wlan0mon &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ensuite on écoute les trames wifi:&amp;lt;br&amp;gt;&lt;br /&gt;
airodump-ng -w out -c 4 --essid ***** wlan0mon &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; On lance ensuite la commande suivante dans un autre terminal pour trouver la clef, la recherche dure environ 5 minutes. Ce temps est dû au fait que l'on procède par tests (force brute)&amp;lt;br&amp;gt;&lt;br /&gt;
aircrack-ng out-01.cap &amp;lt;br&amp;gt;&lt;br /&gt;
KEY FOUND! [ 63:32:34:67:4A:3A:51:34:76:25:43:77:3F ] (ASCII: c24gJ:Q4v%Cw? )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G2&amp;diff=46409</id>
		<title>TP sysres IMA2a5 2017/2018 G2</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G2&amp;diff=46409"/>
				<updated>2017-11-24T12:00:21Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
=== Objectifs: ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Rétablir les connexions ADSL et SDSL du local technique en B300. Les pâtes de cannaaaaaaard!&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Déplacer les modems sur le routeur destiné aux TP et reconfigurer ce dernier&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Aménager un espace pour les différents modems&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Analyse des plans de câblage avant modification==&lt;br /&gt;
=== Liste des différents appareils et connexions ===&lt;br /&gt;
==== SpeedTouch 546-V6 ====&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Port 1 &amp;gt; Câble Ethernet Rouge &amp;gt; CISCO Catalyst 3560-E Series &amp;quot;3560E-2&amp;quot; | Port 7&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Port 2 &amp;gt; Câble Ethernet Blanc &amp;gt; SpeedTouch 609-V5 | Port 1&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Port Adsl &amp;gt; Câble Adsl Noir &amp;gt; &amp;quot;Rocade&amp;quot; Baie de brassage | A-03&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== SpeedTouch 609-V5 ====&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Port 1 &amp;gt; Câble Ethernet Blanc &amp;gt; SpeedTouch 546-V6 | Port 2&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Port Adsl &amp;gt; Câble Adsl Blanc &amp;gt; &amp;quot;Rocade&amp;quot; Baie de brassage | A-04&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== LA-210 ====&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Port 1/2 &amp;gt; Câble Ethernet Blanc &amp;gt; &amp;quot;Rocade&amp;quot; Baie de brassage | A-05&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Port 3/4 &amp;gt; Câble Ethernet Blanc &amp;gt; &amp;quot;Rocade&amp;quot; Baie de brassage | A-06&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Port 10/100 &amp;gt; Câble Ethernet Rouge &amp;gt; CISCO-1700 | Port 10/100&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== CISCO-1700 ====&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Port 2 &amp;gt; Câble Ethernet Noir &amp;gt; CISCO Catalyst 3560-E Series &amp;quot;3560E-2&amp;quot; | Port 5&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Port 3 &amp;gt; Câble Ethernet Blanc &amp;gt; &amp;quot;Rocade&amp;quot; Baie de brassage | A-01&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Port 10/100 &amp;gt; Câble Ethernet Blanc &amp;gt; LA-210 | Port 10/100&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;Rocade&amp;quot; Baie de brassage ====&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; A-01 &amp;gt; PC&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; A-02 &amp;gt; ADSL&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; A-03 &amp;gt; ADSL&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; A-04 &amp;gt; SDSL&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; A-05 &amp;gt; SDSL - 0036WvW5&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; A-06 &amp;gt; SDSL - S036WvW5&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Topographie des différents appareils et connexions ===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[Fichier:Topographie.png|500px|left]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuration du serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Grâce à l'achat d'un nom de domaine sur Gandi, nous avons pu configurer notre propre serveur DNS sur notre VM.&lt;br /&gt;
Dans un premier temps il a fallu installer les packages Bind9&lt;br /&gt;
&lt;br /&gt;
 $ apt-get install bind9&lt;br /&gt;
&lt;br /&gt;
On commence par renseigner notre nom de réseau IP, l'interface du routeur, notre machine et le nom de l'adresse de diffusion de notre réseau IP dans le fichier de zone correspondant à notre nom de domaine: db.karmeliet.space .&lt;br /&gt;
 &lt;br /&gt;
 root@karmeliett:/etc/bind# cat db.karmeliet.space&lt;br /&gt;
 $TTL 604800&lt;br /&gt;
 @ IN SOA ns.karmeliet.space. admin.karmeliet.space. (&lt;br /&gt;
 	6	; Serial&lt;br /&gt;
 	72000	; Refresh&lt;br /&gt;
 	3600	; Retry&lt;br /&gt;
 	1209600	; Expire&lt;br /&gt;
 	259200 ); Negative Cache TTL&lt;br /&gt;
  IN NS	ns.karmeliet.space.&lt;br /&gt;
  IN NS	ns6.gandi.net.&lt;br /&gt;
  IN MX 100 ns.karmeliet.space.&lt;br /&gt;
 ns	IN A 193.48.57.167&lt;br /&gt;
 	IN MX	100 ns.karmeliet.space.&lt;br /&gt;
 	IN AAAA	2001:660:4401:60b8:216:3eff:fe96:a908&lt;br /&gt;
 ns6	IN A 217.70.177.40&lt;br /&gt;
 www	IN CNAME ns&lt;br /&gt;
&lt;br /&gt;
A notre nom de domaine, on associe le fichier de zone précédemment crée:&lt;br /&gt;
&lt;br /&gt;
 root@karmeliett:/etc/bind# cat named.conf.local &lt;br /&gt;
 zone &amp;quot;karmeliet.space&amp;quot; {&lt;br /&gt;
 	type master;&lt;br /&gt;
 	file &amp;quot;/etc/bind/db.karmeliet.space&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
On autorise également le DNS secondaire ns6.gandi.net à transferer:&lt;br /&gt;
&lt;br /&gt;
 root@karmeliett:/etc/bind# cat named.conf.options&lt;br /&gt;
 &lt;br /&gt;
 ...       &lt;br /&gt;
     allow-transfer {217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Après un restart du service bind, on vérifie le bon fonctionnement du service DNS configuré&lt;br /&gt;
&lt;br /&gt;
 root@karmeliett:/etc/bind# host ns.karmeliet.space&lt;br /&gt;
 ns.karmeliet.space has address 193.48.57.167&lt;br /&gt;
 ns.karmeliet.space has IPv6 address 2001:660:4401:60b8:216:3eff:fe96:a908&lt;br /&gt;
 ns.karmeliet.space mail is handled by 100 ns.karmeliet.space.&lt;br /&gt;
 &lt;br /&gt;
La dernière étape consiste à renseigner (sur Gandi) les noms des serveurs DNS associé à notre nom de domaine:&lt;br /&gt;
ns.karmeliet.space et ns6.gandi.net&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46404</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46404"/>
				<updated>2017-11-24T11:40:41Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Projet de réseau IMA2A5&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;br&amp;gt;Notre tâche principale de ce projet de promo est de monter un serveur de messagerie&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom). Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;docker afin de créer des conteneurs de messagerie&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;Ensuite, nous avons configuré le réseau de notre machine virtuelle afin qu'il soit configuré sur son nouveau réseau (celui mis en place par les copains). Sa nouvelle adresse IP est 193.48.57.165 .&amp;lt;br&amp;gt;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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;zone &amp;quot;duvel.space&amp;quot; { &amp;lt;br&amp;gt;type master;&amp;lt;br&amp;gt;file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&amp;lt;br&amp;gt;//  allow-transfer {  };&amp;lt;br&amp;gt;};&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;dnssec-validation auto;&amp;lt;br&amp;gt;auth-nxdomain no;    # conform to RFC1035&amp;lt;br&amp;gt;listen-on-v6 { any; };&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;br&amp;gt;$TTL 604800&amp;lt;br&amp;gt;@ IN SOA ns.duvel.space. root.duvel.space. (&amp;lt;br&amp;gt;         3298267243       ; Version&amp;lt;br&amp;gt;         7200             ; Refresh (2h)&amp;lt;br&amp;gt;         3600             ; Retry   (1h)&amp;lt;br&amp;gt;         1209600          ; Expire (14j)&amp;lt;br&amp;gt;         259200 )         ; Minimum TTL (3j)&amp;lt;br&amp;gt;  IN NS ns.duvel.space.&amp;lt;br&amp;gt;  IN NS ns6.gandi.net.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;ns      IN A 193.48.57.165&amp;lt;br&amp;gt;ns6     IN A 217.70.177.40&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifier le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&amp;lt;br&amp;gt;&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;IN MX 100 ns.duvel.space.&lt;br /&gt;
&amp;lt;li&amp;gt;www	IN CNAME ns&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;La config ssl de apache a aussi été modifier pour avoir un site en https sur le port 443 avec certificat.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;IfModule mod_ssl.c&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
	&amp;lt;VirtualHost *:443&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
		ServerAdmin webmaster@localhost&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		DocumentRoot /var/www/html&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		ErrorLog ${APACHE_LOG_DIR}/error.log&amp;lt;br&amp;gt;&lt;br /&gt;
		CustomLog ${APACHE_LOG_DIR}/access.log combined&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLEngine on&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLCertificateFile	/root/duvel.crt&amp;lt;br&amp;gt;&lt;br /&gt;
		SSLCertificateKeyFile /root/duvel.key&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		SSLCertificateChainFile /root/GandiStandardSSLCA2.pem&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;FilesMatch &amp;quot;\.(cgi|shtml|phtml|php)$&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
				SSLOptions +StdEnvVars&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;/FilesMatch&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;Directory /usr/lib/cgi-bin&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
				SSLOptions +StdEnvVars&amp;lt;br&amp;gt;&lt;br /&gt;
		&amp;lt;/Directory&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		BrowserMatch &amp;quot;MSIE [2-6]&amp;quot; \&amp;lt;br&amp;gt;&lt;br /&gt;
				nokeepalive ssl-unclean-shutdown \&amp;lt;br&amp;gt;&lt;br /&gt;
				downgrade-1.0 force-response-1.0&amp;lt;br&amp;gt;&lt;br /&gt;
		BrowserMatch &amp;quot;MSIE [17-9]&amp;quot; ssl-unclean-shutdown&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;/VirtualHost&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Nous avons ensuite créé les 2 clefs asymétriques suivantes:&lt;br /&gt;
&amp;lt;li&amp;gt;clef asym clef de zone : Kduvel.space.+005+15754&lt;br /&gt;
&amp;lt;li&amp;gt;clef asym clef d'enregistrement : Kduvel.space.+005+43650&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Tâche spécifique: Création d'un serveur mail&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;p&amp;gt;L'idée est ici de créer un serveur mail sur notre machine virtuelle à partir de postfix, tout en utilisant des conteneurs correspondants à chaque utilisateur.&amp;lt;br&amp;gt;Les conteneurs sont créés avec Docker. Pour cela, on récupère une image avec la commande &amp;quot;docker pull debian&amp;quot; et on le créé sur notre machine avec &amp;quot;docker run -i -t debian /bin/bash&amp;quot;&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46391</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46391"/>
				<updated>2017-11-24T11:07:21Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Projet de réseau IMA2A5&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;br&amp;gt;Notre tâche principale de ce projet de promo est de monter un serveur de messagerie&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom). Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;docker afin de créer des conteneurs de messagerie&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;Ensuite, nous avons configuré le réseau de notre machine virtuelle afin qu'il soit configuré sur son nouveau réseau (celui mis en place par les copains). Sa nouvelle adresse IP est 193.48.57.165 .&amp;lt;br&amp;gt;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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;zone &amp;quot;duvel.space&amp;quot; { &amp;lt;br&amp;gt;type master;&amp;lt;br&amp;gt;file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&amp;lt;br&amp;gt;//  allow-transfer {  };&amp;lt;br&amp;gt;};&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;dnssec-validation auto;&amp;lt;br&amp;gt;auth-nxdomain no;    # conform to RFC1035&amp;lt;br&amp;gt;listen-on-v6 { any; };&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;br&amp;gt;$TTL 604800&amp;lt;br&amp;gt;@ IN SOA ns.duvel.space. root.duvel.space. (&amp;lt;br&amp;gt;         3298267243       ; Version&amp;lt;br&amp;gt;         7200             ; Refresh (2h)&amp;lt;br&amp;gt;         3600             ; Retry   (1h)&amp;lt;br&amp;gt;         1209600          ; Expire (14j)&amp;lt;br&amp;gt;         259200 )         ; Minimum TTL (3j)&amp;lt;br&amp;gt;  IN NS ns.duvel.space.&amp;lt;br&amp;gt;  IN NS ns6.gandi.net.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;ns      IN A 193.48.57.165&amp;lt;br&amp;gt;ns6     IN A 217.70.177.40&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;, nous avons modifier le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&amp;lt;br&amp;gt;&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;IN MX 100 ns.duvel.space.&lt;br /&gt;
&amp;lt;li&amp;gt;www	IN CNAME ns&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46390</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46390"/>
				<updated>2017-11-24T11:06:25Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Projet de réseau IMA2A5&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;br&amp;gt;Notre tâche principale de ce projet de promo est de monter un serveur de messagerie&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom). Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;docker afin de créer des conteneurs de messagerie&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;Ensuite, nous avons configuré le réseau de notre machine virtuelle afin qu'il soit configuré sur son nouveau réseau (celui mis en place par les copains). Sa nouvelle adresse IP est 193.48.57.165 .&amp;lt;br&amp;gt;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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;zone &amp;quot;duvel.space&amp;quot; { &amp;lt;br&amp;gt;type master;&amp;lt;br&amp;gt;file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&amp;lt;br&amp;gt;//  allow-transfer {  };&amp;lt;br&amp;gt;};&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;dnssec-validation auto;&amp;lt;br&amp;gt;auth-nxdomain no;    # conform to RFC1035&amp;lt;br&amp;gt;listen-on-v6 { any; };&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;br&amp;gt;$TTL 604800&amp;lt;br&amp;gt;@ IN SOA ns.duvel.space. root.duvel.space. (&amp;lt;br&amp;gt;         3298267243       ; Version&amp;lt;br&amp;gt;         7200             ; Refresh (2h)&amp;lt;br&amp;gt;         3600             ; Retry   (1h)&amp;lt;br&amp;gt;         1209600          ; Expire (14j)&amp;lt;br&amp;gt;         259200 )         ; Minimum TTL (3j)&amp;lt;br&amp;gt;  IN NS ns.duvel.space.&amp;lt;br&amp;gt;  IN NS ns6.gandi.net.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;ns      IN A 193.48.57.165&amp;lt;br&amp;gt;ns6     IN A 217.70.177.40&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;. Nous avons également modifier le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&amp;lt;br&amp;gt;&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;IN MX 100 ns.duvel.space.&lt;br /&gt;
&amp;lt;li&amp;gt;www	IN CNAME ns&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46388</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=46388"/>
				<updated>2017-11-24T11:05:34Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Projet de réseau IMA2A5&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;br&amp;gt;Notre tâche principale de ce projet de promo est de monter un serveur de messagerie&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom). Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;docker afin de créer des conteneurs de messagerie&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;Ensuite, nous avons configuré le réseau de notre machine virtuelle afin qu'il soit configuré sur son nouveau réseau (celui mis en place par les copains). Sa nouvelle adresse IP est 193.48.57.165 .&amp;lt;br&amp;gt;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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;zone &amp;quot;duvel.space&amp;quot; { &amp;lt;br&amp;gt;type master;&amp;lt;br&amp;gt;file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&amp;lt;br&amp;gt;//  allow-transfer {  };&amp;lt;br&amp;gt;};&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;dnssec-validation auto;&amp;lt;br&amp;gt;auth-nxdomain no;    # conform to RFC1035&amp;lt;br&amp;gt;listen-on-v6 { any; };&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;br&amp;gt;$TTL 604800&amp;lt;br&amp;gt;@ IN SOA ns.duvel.space. root.duvel.space. (&amp;lt;br&amp;gt;         3298267243       ; Version&amp;lt;br&amp;gt;         7200             ; Refresh (2h)&amp;lt;br&amp;gt;         3600             ; Retry   (1h)&amp;lt;br&amp;gt;         1209600          ; Expire (14j)&amp;lt;br&amp;gt;         259200 )         ; Minimum TTL (3j)&amp;lt;br&amp;gt;  IN NS ns.duvel.space.&amp;lt;br&amp;gt;  IN NS ns6.gandi.net.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;ns      IN A 193.48.57.165&amp;lt;br&amp;gt;ns6     IN A 217.70.177.40&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Configuration DNS sécurisé&amp;lt;h3&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;Après avoir ajouté &amp;quot;dnssec-enable yes&amp;quot; dans le fichier &amp;quot;named.conf.options&amp;quot;. Nous avons également modifier le fichier webmail.duvel.space pour la compatibilité avec les mails (ajout des 2 lignes suivantes).&amp;lt;br&amp;gt;&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;IN MX 100 ns.duvel.space.&lt;br /&gt;
&amp;lt;li&amp;gt;www	IN CNAME ns&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=45472</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=45472"/>
				<updated>2017-10-06T10:19:31Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Projet de réseau IMA2A5&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;br&amp;gt;Notre tâche principale de ce projet de promo est de monter un serveur de messagerie&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom). Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;docker afin de créer des conteneurs de messagerie&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;Ensuite, nous avons configuré le réseau de notre machine virtuelle afin qu'il soit configuré sur son nouveau réseau (celui mis en place par les copains). Sa nouvelle adresse IP est 193.48.57.165 .&amp;lt;br&amp;gt;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 :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;zone &amp;quot;duvel.space&amp;quot; { &amp;lt;br&amp;gt;type master;&amp;lt;br&amp;gt;file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&amp;lt;br&amp;gt;//  allow-transfer {  };&amp;lt;br&amp;gt;};&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;dnssec-validation auto;&amp;lt;br&amp;gt;auth-nxdomain no;    # conform to RFC1035&amp;lt;br&amp;gt;listen-on-v6 { any; };&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;webmail.duvel.space :&amp;lt;br&amp;gt;$TTL 604800&amp;lt;br&amp;gt;@ IN SOA ns.duvel.space. root.duvel.space. (&amp;lt;br&amp;gt;         3298267243       ; Version&amp;lt;br&amp;gt;         7200             ; Refresh (2h)&amp;lt;br&amp;gt;         3600             ; Retry   (1h)&amp;lt;br&amp;gt;         1209600          ; Expire (14j)&amp;lt;br&amp;gt;         259200 )         ; Minimum TTL (3j)&amp;lt;br&amp;gt;  IN NS ns.duvel.space.&amp;lt;br&amp;gt;  IN NS ns6.gandi.net.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;ns      IN A 193.48.57.165&amp;lt;br&amp;gt;ns6     IN A 217.70.177.40&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=45471</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=45471"/>
				<updated>2017-10-06T10:15:13Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Projet de réseau IMA2A5&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;br&amp;gt;Notre tâche principale de ce projet de promo est de monter un serveur de messagerie&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom). Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;docker afin de créer des conteneurs de messagerie&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;Ensuite, nous avons configuré le réseau de notre machine virtuelle afin qu'il soit configuré sur son nouveau réseau (celui mis en place par les copains). Sa nouvelle adresse IP est 193.48.57.165 .&amp;lt;br&amp;gt;Nous avons alors monté le serveur DNS via bind9. Nous avons en premier lieu modifier les fichiers :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;zone &amp;quot;duvel.space&amp;quot; { &amp;lt;br&amp;gt;type master;&amp;lt;br&amp;gt;file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&amp;lt;br&amp;gt;//  allow-transfer {  };&amp;lt;br&amp;gt;};&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;dnssec-validation auto;&amp;lt;br&amp;gt;auth-nxdomain no;    # conform to RFC1035&amp;lt;br&amp;gt;listen-on-v6 { any; };&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=45470</id>
		<title>TP sysres IMA2a5 2017/2018 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2017/2018_G3&amp;diff=45470"/>
				<updated>2017-10-06T10:14:16Z</updated>
		
		<summary type="html">&lt;p&gt;Gdubois : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;Projet de réseau IMA2A5&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Création et configuration de la Machine virtuelle&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;br&amp;gt;Notre tâche principale de ce projet de promo est de monter un serveur de messagerie&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt; Nous avons tout d'abord créé une machine virtuelle, stockée sur le serveur cordouan. Cette machine est une MV Xen, nommée duvel (en référence au doux breuvage portant le même nom). Nous avons installé quelques paquets qui nous serviront pour la suite, notammant :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;apache2 comme serveur web&lt;br /&gt;
&amp;lt;li&amp;gt;docker afin de créer des conteneurs de messagerie&lt;br /&gt;
&amp;lt;li&amp;gt;bind9 pour monter notre serveur DNS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;Ensuite, nous avons configuré le réseau de notre machine virtuelle afin qu'il soit configuré sur son nouveau réseau (celui mis en place par les copains). Sa nouvelle adresse IP est 193.48.57.165 .&amp;lt;br&amp;gt;Nous avons alors monté le serveur DNS via bind9. Nous avons en premier lieu modifier les fichiers :&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.local&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;zone &amp;quot;duvel.space&amp;quot; { &amp;lt;br&amp;gt;type master;&amp;lt;br&amp;gt;file &amp;quot;/etc/bind/webmail.duvel.space&amp;quot;;&amp;lt;br&amp;gt;//  allow-transfer {  };&amp;lt;br&amp;gt;};&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;named.conf.options&amp;lt;br&amp;gt;dnssec-validation auto;&amp;lt;br&amp;gt;auth-nxdomain no;    # conform to RFC1035&amp;lt;br&amp;gt;listen-on-v6 { any; };&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gdubois</name></author>	</entry>

	</feed>