TP sysres IMA2a5 2019/2020 G6 : Différence entre versions

De Wiki d'activités IMA
(Personnalisation des points de montage /var et /home)
(RAID 5)
 
(70 révisions intermédiaires par 5 utilisateurs non affichées)
Ligne 8 : Ligne 8 :
  
 
== Installation du réseau : connexion des routeurs, commutateurs, bornes WiFi et du serveur Cordouan ==
 
== Installation du réseau : connexion des routeurs, commutateurs, bornes WiFi et du serveur Cordouan ==
[[Fichier:archi_reseau17112018.png]]
+
[[Fichier:archi_reseau_2.png]]
  
 
== Mise en place du serveur ==
 
== Mise en place du serveur ==
Ligne 40 : Ligne 40 :
 
  password: c'est le contenu de ligne commençant par "Root Password" du fichier "/var/log/xen-tools/ima2a5-4fun.log"
 
  password: c'est le contenu de ligne commençant par "Root Password" du fichier "/var/log/xen-tools/ima2a5-4fun.log"
  
Pour changer le password root:
+
Pour changer le password root, utiliser:
 
  passwd
 
  passwd
  
Ligne 52 : Ligne 52 :
 
==== Adaptation de la machine virtuelle à l'architecture réseau du projet ====
 
==== Adaptation de la machine virtuelle à l'architecture réseau du projet ====
 
Coordonnées IP statiques de la machine virtuelle sur le fichier /etc/network/interfaces
 
Coordonnées IP statiques de la machine virtuelle sur le fichier /etc/network/interfaces
  auto eth0
+
  iface eth0 inet static
address 193.48.57.166
+
        address 193.48.57.166
netmask 255.255.255.240
+
        netmask 255.255.255.240
gateway 193.48.57.173
+
        gateway 193.48.57.172
gateway 193.48.57.174
 
  
 
==== Personnalisation des points de montage /var et /home ====
 
==== Personnalisation des points de montage /var et /home ====
Ligne 83 : Ligne 82 :
 
  fdisk -l
 
  fdisk -l
  
==== Installation des serveurs SSH, DNS et https ====
+
Puis, on modifie le fichier /etc/fstable de la VM pour que l'OS  les monte automatiquement au démarrage:
 +
# <file system> <mount point>  <type>  <options>                                <dump>  <pass>
 +
proc            /proc          proc    defaults                                  0      0
 +
devpts          /dev/pts        devpts  rw,noexec,nosuid,gid=5,mode=620            0      0
 +
/dev/xvda1      none            swap    sw                                        0      0
 +
/dev/xvda2      /              xt4    noatime,nodiratime,errors=remount-ro      0      1
 +
/dev/xvdb1      /home          ext4    defaults                                  0      2
 +
/dev/xvdb2      /var            ext4    defaults                                  0      2
 +
 
 +
 
 +
== Installation des serveurs SSH, DNS et https ==
 +
 
 +
Installation du serveur apache :
 +
apt install apache2
 +
 
 
Installation du serveur ssh :
 
Installation du serveur ssh :
 
  apt install openssh-server
 
  apt install openssh-server
  
 
Création du service sshd lancé au démarrage par runit :
 
Création du service sshd lancé au démarrage par runit :
 +
mkdir /etc/service
 
  mkdir /etc/service/sshd
 
  mkdir /etc/service/sshd
/etc/service/sshd/run
+
touch /etc/service/sshd/run
 +
configuration du fichier etc/service/sshd/run:
 
  #!/bin/sh
 
  #!/bin/sh
 
  ssh-ketgen -A >/dev/null 2>&1
 
  ssh-ketgen -A >/dev/null 2>&1
Ligne 95 : Ligne 110 :
 
  exec /usr/sbin/sshd -D $OPTS
 
  exec /usr/sbin/sshd -D $OPTS
  
Octroiement de l'autorisation d'exécution du fichier run
+
Autorise l'exécution du fichier run
 
  chmod +x /etc/service/sshd/run
 
  chmod +x /etc/service/sshd/run
  
== Configuration des points d'accès ==
+
=== Serveur DNS ===
 +
 
 +
Nous allons établir la configuration d'un serveur DNS primaire (votre serveur) et d'un serveurs DNS secondaires (celui de l'hébergeur) au cas où le primaire ne réponde plus aux requêtes DNS.
 +
 
 +
====Config dns sur gandi :====
 +
Pour cela il faut commencer par allez sur gandi.net dans l'onglet nom de domaine :
 +
 
 +
il faut ajouter les serveurs de nom :
 +
 
 +
    ns6.gandi.net 217.70.177.40
 +
    ns1.ima2a5-4fun.site 193.48.57.166
 +
 
 +
[[Fichier:Serveur nom.png|700px|center]]
 +
 
 +
 
 +
Ensuite sur l'onglet glue-record on lie l'adresse ip a notre nom de domaine :
 +
 
 +
 
 +
[[Fichier:Glue-record.png|700px|center]]
 +
 
 +
====Config sur la VM :====
 +
on rentre dans le répertoire bind :
 +
on crée le fichier db.ima2a5-4fun.site :
 +
 
 +
    $TTL    604800
 +
    @      IN      SOA    ns1.ima2a5-4fun.site. root@ima2a5-4fun.site. (
 +
                            19112026      ; Serial
 +
                            604800        ; Refresh
 +
                              86400        ; Retry
 +
                            2419200        ; Expire
 +
                            604800 )      ; Negative Cache TTL
 +
    ;
 +
    @      IN      NS      ns1.ima2a5-4fun.site.
 +
    @      IN      NS      ns6.gandi.net.
 +
            IN      A      193.48.57.166
 +
    ns1    IN      A      193.48.57.166
 +
 
 +
Ensuite il faut allez dans le fichier /etc/bind/named.conf.options
 +
 
 +
option {
 +
            dnssec-enable no;
 +
   
 +
            dnssec-validation auto;
 +
 
 +
            auth-nxdomain no;    # conform to RFC1035
 +
            listen-on-v6 { any; };
 +
            allow-transfer{"allowed_to_transfert";};
 +
};
 +
 
 +
            acl "allowed_to_transfert"{
 +
                    217.70.177.40/32;
 +
            };
 +
Ensuite il faut allez dans le fichier /etc/bind/named.conf.local pour configurer l'espace de noms et lui préciser quel fichier de configuration utiliser pour le DNS
 +
 
 +
zone "ima2a5-4fun.site"{
 +
        type master;
 +
        file "/etc/bind/db.ima2a5-4fun.site";
 +
};
 +
 
 +
Pour finir on redémarre le service Bind9 :
 +
 
 +
service bind9 restart
 +
 
 +
===  Sécurisation de site web par certificat ===
 +
 
 +
 
 +
Création du certificat avec OpenSSL :
 +
 
 +
openssl req -nodes -newkey rsa:2048 -sha256 -keyout ima2a5-4fun.key -out ima2a5-4fun.csr
 +
 
 +
il faut ensuite répondre aux questions suivante :
 +
 
 +
    Country Name (2 letter code) [AU]:FR
 +
    State or Province Name (full name) [Some-State]:Nord
 +
    Locality Name (eg, city) []:Lille
 +
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:Polytech Lille
 +
    Organizational Unit Name (eg, section) []:IMA2A5
 +
    Common Name (e.g. server FQDN or YOUR name) []:ima2a5-4fun.site
 +
    Email Address []:hfahim@polytech-lille.net
 +
   
 +
    Please enter the following 'extra' attributes
 +
    to be sent with your certificate request
 +
    A challenge password []:IMAOK
 +
    Optionnal informations :
 +
 
 +
Il faut acheter sur gandi le certificat, ensuite affecter le certificat .csr .
 +
Pour crée le certificat gandi doit s'assurer de la demande.
 +
Pour cela il y a plusieurs méthode mail, fichier ou dns.
 +
nous avons utiliser l’authentification par fichier qui doit être placer dans notre VM.
 +
la validation prend plus de 5H.
 +
 
 +
Ensuite on le .pem, le .crt et le .key  aux emplacements suivants :
 +
 
 +
/etc/ssl/certs/ima2a5-4fun.site.crt
 +
 
 +
/etc/ssl/private/ima2a5-4fun.key
 +
 
 +
/etc/ssl/certs/GandiStandardSSLCA2.pem
 +
 
 +
 
 +
Ensuite il faut modifier le fichier /etc/apache2/sites-available/000-ima2a5-4fun.site-ssl.conf
 +
 
 +
<VirtualHost 193.48.57.166:443>
 +
    ServerName www.ima2a5-4fun.site:443
 +
    ServerAlias ima2a5-4fun.site
 +
    DocumentRoot /var/www/html/
 +
    CustomLog /var/log/apache2/secure_acces.log combined
 +
    SSLEngine on
 +
    SSLCertificateFile /etc/ssl/certs/ima2a5-4fun.site.crt
 +
    SSLCertificateKeyFile /etc/ssl/private/ima2a5-4fun.key
 +
    SSLCertificateChainFile /etc/ssl/certs/GandiStandardSSLCA2.pem
 +
    SSLVerifyClient None
 +
</VirtualHost>
 +
 
 +
Et on ajoute une redirection
 +
 
 +
<VirtualHost 193.48.57.166:80>
 +
    ServerName www.ima2a5-4fun.site
 +
    ServerAlias ima2a5-4fun.site
 +
    Redirect / https://www.ima2a5-4fun.site
 +
</VirtualHost>
 +
 
 +
puis on active le module ssl
 +
 
 +
a2enmod ssl
 +
 
 +
Et active la configuration :
 +
 
 +
a2ensite 000-ima2a5-4fun.site-ssl.conf
 +
 
 +
pour finir en relance apache2
 +
 +
service apache2 restart
 +
 
 +
=== DNSSEC ===
 +
 
 +
Il faut activer DNSSEC en ajoutant l'option dnssec-enable yes; dans le fichier
 +
/etc/bind/named.conf.local.
 +
 
 +
 
 +
On génère deux couples de clefs (ZSK et KSK) qui permettront de chiffrer ou déchiffrer les enregistrements.
 +
 
 +
dnssec-keygen -f KSK -a RSASHA256 -b 2048 -n ZONE ima2a5-4fun.site
 +
dnssec-keygen -a RSASHA256 -b 2048 -n ZONE ima2a5-4fun.site
 +
 
 +
Nous avons ensuite renommé ces clefs en ima2a5-4fun-zsk.key, ima2a5-4fun-zsk.private, ima2a5-4fun-ksk.key, ima2a5-4fun-ksk.private
 +
 
 +
 
 +
/etc/bind/ima2a5-dnssec
 +
 
 +
On faut ajouter les include dans le fichier db.ima2a5-4fun.site
 +
 
 +
$include /etc/bind/ima2a5-dnssec/ima2a5-4fun-zsk.key
 +
$include /etc/bind/ima2a5-dnssec/ima2a5-4fun-ksk.key
 +
 
 +
Ne pas oublié d'incrémenter le serial pour que la modification soit prise en compte
 +
 
 +
Il faut signer la zone
 +
dnssec-signzone -o ima2a5-4fun.site -k ima2a5-dnssec/ima2a5-4fun-ksk db.ima2a5-4fun.site ima2a5-dnssec/ima2a5-4fun-zsk
 +
 
 +
 
 +
Verifying the zone using the following algorithms: RSASHA256.
 +
Zone fully signed:
 +
Algorithm: RSASHA256: KSKs: 1 active, 0 stand-by, 0 revoked
 +
                      ZSKs: 1 active, 0 stand-by, 0 revoked
 +
 
 +
cela génere le fichier suivant :
 +
 
 +
db.ima2a5-4fun.site.signed
 +
 
 +
Dans le fichier named.conf.local on remplace 
 +
 +
db.ima2a5-4fun.site
 +
 
 +
par
 +
 
 +
zone "ima2a5-4fun.site"{
 +
        type master;
 +
        file "/etc/bind/db.ima2a5-4fun.site.signed";
 +
};
 +
 
 +
on fini par restart bind9 :
 +
 
 +
service bind9 restart
 +
 
 +
== RAID 5 ==
 +
Pour effectuer le raid 5 il faut se connecté en ssh sur cordouan
 +
 
 +
et ensuite crée 3 disque de 1 GO
 +
 
 +
root@cordouan:~# lvcreate -L1G -n ima2a5-4fun-disk1 virtual
 +
root@cordouan:~# lvcreate -L1G -n ima2a5-4fun-disk2 virtual
 +
root@cordouan:~# lvcreate -L1G -n ima2a5-4fun-disk3 virtual
 +
 
 +
ensuite on fait pointer le système de fichiers sur nos 3 disques.
 +
 
 +
mke2fs /dev/virtual/ima2a5-4fun-disk1
 +
mke2fs /dev/virtual/ima2a5-4fun-disk2
 +
mke2fs /dev/virtual/ima2a5-4fun-disk3
 +
 
 +
dans la vm il faut ajouter dans le fichier de config les 3 ligne suivante
 +
 
 +
disk  = [
 +
      'file:/usr/local/xen/domains/ima2a5-4fun/disk.img,xvda2,w',
 +
      'file:/usr/local/xen/domains/ima2a5-4fun/swap.img,xvda1,w',
 +
      'phy:/dev/virtual/ima2a5-4fun-home,xvdb1,w',
 +
      'phy:/dev/virtual/ima2a5-4fun-var,xvdb2,w',
 +
      ''''phy:/dev/virtual/ima2a5-4fun-disk1,xvdb3,w', '''
 +
      ''''phy:/dev/virtual/ima2a5-4fun-disk2,xvdb4,w','''
 +
      ''''phy:/dev/virtual/ima2a5-4fun-disk3,xvdb5,w', '''
 +
           
 +
 
 +
xl create /etc/xen/ima2a5-4fun.cfg
 +
 
 +
on install mdadm
 +
 
 +
puis on construis le volume RAID
 +
 +
mdadm --create /dev/md0 --level=5  --raid-devices=3 /dev/xvdb3 /dev/xvdb4 /dev/xvdb5
 +
 
 +
 
 +
mdadm: /dev/xvdb3 appears to contain an ext2fs file system
 +
      size=1048576K  mtime=Thu Jan  1 00:00:00 1970
 +
mdadm: /dev/xvdb4 appears to contain an ext2fs file system
 +
      size=1048576K  mtime=Thu Jan  1 00:00:00 1970
 +
mdadm: /dev/xvdb5 appears to contain an ext2fs file system
 +
      size=1048576K  mtime=Thu Jan  1 00:00:00 1970
 +
Continue creating array? y
 +
 
 +
Actuellement le raid5 fonctionne correctement mais il faut faire en sorte que a chaque démarrage de la vm il se charge
 +
 
 +
mdadm --monitor --daemonise /dev/md0
 +
 
 +
on rajoute la ligne suivante dans le fichier de config
 +
/dev/md0 /media/raid ext4 defaults 0 1
 +
 
 +
puis on formate le volume
 +
 
 +
mkdir /media/raid
 +
 
 +
== Cryptage de données ==
 +
 
 +
Dans cette partie nous allons crée une partion dans une clé usb que nous allons crypté avec cryptsetup
 +
 
 +
=== Création de la partition avec fdisk ===
 +
 
 +
Pour visualiser notre clé usb on utilise la commande :
 +
 
 +
lsblk
 +
 
 +
Ensuite on utilise la commande fdisk pour supprimer ou crée une partitions 
 +
 
 +
fdisk /dev/sda
 +
 
 +
Welcome to fdisk (util-linux 2.29.2).
 +
Changes will remain in memory only, until you decide to write them.
 +
Be careful before using the write command.
 +
 
 +
la commande p permet de lister toutes les partitions
 +
Command (m for help): p
 +
Disk /dev/sda: 7,2 GiB, 7736072192 bytes, 15109516 sectors
 +
Units: sectors of 1 * 512 = 512 bytes
 +
Sector size (logical/physical): 512 bytes / 512 bytes
 +
I/O size (minimum/optimal): 512 bytes / 512 bytes
 +
Disklabel type: dos
 +
Disk identifier: 0x2d4ec4c9
 +
 
 +
On remarque qu'il n'y a aucune donc on crée avec la commande "n" new
 +
 
 +
Command (m for help): n
 +
Partition type
 +
    p  primary (0 primary, 0 extended, 4 free)
 +
    e  extended (container for logical partitions)
 +
Select (default p): p
 +
Partition number (1-4, default 1): 1
 +
First sector (2048-15109515, default 2048): +2048
 +
Value out of range.
 +
First sector (2048-15109515, default 2048): 4000
 +
Last sector, +sectors or +size{K,M,G,T,P} (4000-15109515, default 15109515): +5000M
 +
 
 +
Created a new partition 1 of type 'Linux' and of size 4,9 GiB.
 +
 
 +
j'ai créé une partion de 4.9 GiB
 +
 
 +
=== Cryptage de la partition ===
 +
Pour crypé la clé usb on lance la commande suivante :
 +
cryptsetup luksFormat -c aes -h sha256 /dev/sda1
 +
 
 +
WARNING!
 +
========
 +
Cette action écrasera définitivement les données sur /dev/sda1.
 +
Are you sure? (Type uppercase yes): YES
 +
Saisissez la phrase secrète : IMAOK
 +
Vérifiez la phrase secrète : IMAOK
 +
 
 +
j'ai défini le mdp : IMAOK
 +
 
 +
on rentre dans le partition crypté avec la cmd suivante :
 +
 
 +
cryptsetup open --type luks /dev/sdb1 IMAG6 (on a utilisé la nouvelle syntax de cryptsetup)
 +
 
 +
on defini le en système de fichier
 +
 
 +
mkfs -t ext4 /dev/mapper/IMAG6
 +
 
 +
on le monte dans le repertoire /mnt
 +
 
 +
mount mkfs -t ext4 /dev/mapper/IMAG6 /mnt
 +
 
 +
on ajoute un fichier txt
 +
 
 +
umount /mnt
 +
 
 +
on ferme la partition crypté
 +
 
 +
cryptsetup luksClose IMAG6
 +
 
 +
== Sécurisation Wifi par WPA2-EAP ==
 +
=== Configuration des points d'accès Wi-Fi===
  
 
Dans cette partie, on dispose de deux bornes wifi a configurer, la premiére en E306 et l'autre en E304, en utilisera le server FreeRadius pour l'identification.
 
Dans cette partie, on dispose de deux bornes wifi a configurer, la premiére en E306 et l'autre en E304, en utilisera le server FreeRadius pour l'identification.
Pour cela, voici le procédé :
+
Tout d'abord effectuons un purge:
 +
apt purge brltty
 +
 
 +
Puis:
 +
 
 +
1- Acceder à la configuration de la borne wifi :
 +
 
 +
minicom -os
 +
 
 +
 
 +
On change la configuration pour: Port = /dev/ttyUSB0, 9600 bauds et sans control de flux
 +
 
 +
2- Se mettre en mode previligié :
 +
 
 +
enable 
 +
Password = "Cisco"
  
1/ Acceder à la configuration de la borne wifi :
+
 +
3- Se mettre en mode configuration :
  
    minicom -os
+
config term
  
On modifiant ttyACM0 par exemple, avec 9600 bauds et sans control de flux.
+
(On peut aussi verifier la configuration de la borne avec "show run")
  
2/ Se mettre en mode previligié :
 
  
    enable  // avec "Cisco" comme mot de passe.
+
NB : Les commandes 5 à 14, sont à faire pour chaque groupe de la promo.
3/ Se mettre en mode configuration :
 
  
    config term
 
  
// On peut verifier également la configuration de la borne avant de la modifier, avec la commande "show run"
+
4- Pour utiliser le system en 'authentication, authorization, and accounting', il faut cette commande :
  
4/ Pour utiliser le system en 'authentication, authorization, and accounting', il faut cette commande :
+
aaa new-model
  
    aaa new-model
 
  
5/ On cree un server radius pour un utilisateur :
+
5- On crée un server radius pour un groupe :
  
    radius-server host < ip_groupe1 > auth-port 1812 acct-port 1813 // on remplace ip_groupe1 par l'ip du groupe (de la VM) , avec comme port d'authentification 1812,et accounting 1813
+
radius-server host ip_groupe6 auth-port 1812 acct-port 1813 key mot_secret      // mot_secret : il faut en choisir un . Par exemple (pour notre groupe) "IMA2a5-4fun". Il faut pas l'oublier cra vous en aurez besoin pour la config de radius
  
6/ On defini le server group :
 
  
    aaa group server radius radius_groupe1  // on remplace groupe1 par le nom du groupe (ex: Coreff)
+
6- On defini le server group :
  
7/ Puis, on associe à se groupe de server le server creer sur la VM:
+
aaa group server radius radius_groupe6                // on remplace groupe6 par le nom de notre groupe "IMA2a5-4fun"
  
    server <ip_group1> auth-port 1812 acct-port 1813
 
  
8/ Ensuite, on defini le login et le groupe server que l'utilisateur passera pour s'authentifier :
+
7- Puis, on associe à ce groupe de serveur le serveur créé sur la VM:
  
    aaa authentication login eap_group1 group radius_group1  // groupe1 remplacé par le nom du groupe
+
server ip_VM_groupe6 auth-port 1812 acct-port 1813
  
NB : Les commandes 4 à 8, sont à faire pour chaque groupe de la promo.
 
  
 +
8- Ensuite, on defini le login et le groupe server par lequel l'utilisateur passera pour s'authentifier :
  
9/ On arrive à la création des SSID, protégé par la méthode WPA2-EAP, on rajoutant le vlan du group :
+
aaa authentication login eap_groupe6 group radius_groupe6  // remplacer groupe6 par le nom de notre groupe
  
    dot11 ssid SSID_GROUP                // exemple : SSID_Coreff
 
    vlan vlan_groupe1                    // le vlan du groupe (ex : 2 )
 
    authentication open eap eap_group1
 
    authentication network-eap eap_group1
 
    authentication key-management wpa
 
  
NB : cette derniere commande est a faire pour chaque groupe.
+
9- On arrive à la création des SSID, protégé par la méthode WPA2-EAP :
 +
 +
dot11 ssid SSID_groupe6                                //  pour nous, groupe6="IMA2a5_4fun". [https://wiki-ima.plil.fr/mediawiki//index.php/TP_syst%C3%A8me_%26_reseau_IMA2a5_2019/2020#Bornes_Wi-Fi Voir tableau Borne Wifi]
 +
vlan num_vlan
 +
authentication open eap eap_groupe6 
 +
authentication network-eap eap_groupe6 
 +
authentication key-management wpa
  
  
10/ Configurer les vlans des groupes :
+
10- Configurer les vlans des groupes :
  
    interface Dot11Radio0                                   // on rentre d'abord dans l'interface Dot11Radio0
+
interface Dot11Radio0                                 // on rentre d'abord dans l'interface Dot11Radio0
    encryption vlan vlan_groupe mode ciphers aes-ccm tkip   // Cette ligne est a faire pour chaque vlan, qui servira à chiffrer les paquets
+
encryption vlan num_vlan mode ciphers aes-ccm tkip           // Où x est le numéro du vlan . Pour notre groupe x=7 [https://wiki-ima.plil.fr/mediawiki//index.php/TP_syst%C3%A8me_%26_reseau_IMA2a5_2019/2020#Bornes_Wi-Fi Voir tableau Borne Wifi]
 +
ssid SSID_groupe6
  
  
Pour pouvoir se connecter au réseau, il faudra relier l'interfaces virtuelle à l'interface gigabites, via des 'bridge-groupe', et comme on a plusieur utilisateurs, donc il faut creer autant des sous-interfaces dot11radio0 et puis la relier
+
Pour pouvoir se connecter au réseau, il faudra relier l'interfaces virtuelle à l'interface gigabites, via des 'bridge-groupe', et comme il y a plusieurs grouoes, il faut créer autant des sous-interfaces dot11radio0 et puis la relier
 
aux sous-interfaces gigabites.
 
aux sous-interfaces gigabites.
  
  
11 / Creer une sous-interface pour chaque utilisateur, en donnant à l'instance le numéro du vlan :
+
11- Créer une sous-interface pour chaque groupe, en donnant à l'instance le numéro du vlan :
 +
 +
interface dot11Radio0.num_vlan                        //  num_vlan a remplacer par le numéro du vlan  [https://wiki-ima.plil.fr/mediawiki//index.php/TP_syst%C3%A8me_%26_reseau_IMA2a5_2019/2020#Bornes_Wi-Fi Voir tableau Borne Wifi]
 +
encapsulation dot1Q num_vlan
 +
bridge-group num_vlan
 +
 
 +
 
 +
12- Créer une sous-interface gigabite pour chaque groupe, en donnant à l'instance le numéro du vlan :
 +
 
 +
interface gigabite0.num_vlan                          //  num_vlan a remplacer par le numéro du vlan [https://wiki-ima.plil.fr/mediawiki//index.php/TP_syst%C3%A8me_%26_reseau_IMA2a5_2019/2020#Bornes_Wi-Fi Voir tableau Borne Wifi]
 +
encapsulation dot1Q num_vlan
 +
bridge-group num_vlan
 +
 
 +
 
 +
13- Ajouter les SSID à l'interface Dot11Radio0
 +
 
 +
interface Dot11Radio0                                // se mettre dans la bonne interface (i.e Dot11Radio0)
 +
dot11 ssid SSID_groupe                                      // on remplace "groupe" par le nom du groupe de la promo  [https://wiki-ima.plil.fr/mediawiki//index.php/TP_syst%C3%A8me_%26_reseau_IMA2a5_2019/2020#Bornes_Wi-Fi Voir tableau Borne Wifi]
 +
 
 +
 
 +
14- rendre les SSID visibles :
 +
 
 +
interface Dot11Radio0                             
 +
mbssid                                                // Il faut rajouter l'option "mbssid" à l'interface Dot11Radio0
 +
dot11 ssid SSID_groupe6                              //  pour notre groupe groupe6="IMA2a5_4fun"  [https://wiki-ima.plil.fr/mediawiki//index.php/TP_syst%C3%A8me_%26_reseau_IMA2a5_2019/2020#Bornes_Wi-Fi Voir tableau Borne Wifi]
 +
mbssid guest-mode                                    // mettre les ssid en guest-mode pour qu'il soient visibles.
 +
 
 +
 
 +
exit
 +
exit
 +
write
 +
reload
 +
 
 +
15- Attribuer une ip à la borne
 +
enable
 +
conf t
 +
int bvi1
 +
ip address 10.60.0.100 255.255.255.0
 +
exit
 +
exit
 +
SSID_groupe
 +
on peut maintenant pinger le routeur: <code> ping 10.60.0.254 </code>, mais le les VM
 +
 
 +
16-Il faut donc rajouter le gateway
 +
enable
 +
conf t
 +
ip route 0.0.0.0 0.0.0.0 10.60.0.253
 +
exit
 +
 
 +
maintenant on peut reussir à pinger les VM: <code> ping 193.48.57.166 </code>
 +
 
 +
=== Mise en place du serveur FreeRadius ===
 +
 
 +
Cette partie se fait sur la VM!!!
  
    interface dot11Radio0.num_vlan                          //  num_vlan a remplacer par le numéro du vlan
+
Installation de freeradius:
    encapsulation dot1Q num_vlan
 
    bridge-groupe num_vlan
 
  
 +
apt-get install freeradius
  
12/ Creer une sous-interface gigabite pour chaque utilisateur, en donnant à l'instance le numéro du vlan :
+
Dans le fichier <code>/etc/freeradius/3.0/users</code> on ajoute la ligne:
  
  interface gigabite0.num_vlan
+
jcabrald Cleartext-Password := "glopglop"
  encapsulation dot1Q num_vlan
 
  bridge-groupe num_vlan
 
  
 +
Dans le fichier <code>/etc/freeradius/3.0/mods-enabled/eap</code> on modifie la ligne:
  
13/ Ajouter les SSID à l'interface Dot11Radio0
+
eap{
 +
    default_eap_type = peap
 +
}
  
    interface Dot11Radio0                                // se mettre dans la bonne interface (i.e Dot11Radio0)
+
Dans le fichier <code>/etc/freeradius/3.0//mods-enabled/mschap</code> on décommente les lignes suivantes et modifie
    ssid SSID_groupe                                    // on remplace "groupe" par le nom du groupe de la promo        /* CETTE COMMANDE EST À FAIRE POUR TOUT LES SSID */
 
  
 +
use_mppe = yes
 +
require_encryption = yes
 +
require_strong = yes
  
14/ rendre les SSID visibles :
+
et on ajoute la ligne suivante:
  
    interface Dot11Radio0                             
+
with_ntdomain_hack = yes
    mbssid                                              // Il faut rajouter l'option "mbssid" à l'interface Dot11Radio0
+
 
 +
 
 +
Dans le fichier <code> /etc/freeradius/3.0/clients.conf </code> rajouter le borne comme un client qui se connectera sur le server radius:
 +
 
 +
client access-point {                                // nom attribué au client
 +
        ipaddr          = 10.60.0.100                //adresse ip de la borne
 +
        secret          = secret_IMA2a5-4fun        //mot secret saisi lors de la configuration de la borne
 +
}
 +
 
 +
 
 +
Une fois toutes les confirations terminées, nous alons:
 +
-arrêter le server Freeradius
 +
  service freeradius stop
 +
-puis le relancer en mode debug afin de visualiser les reqûetes et logs
 +
freeradius -X
 +
 
 +
===Mise en place serveur DHCP===
 +
 
 +
Une fois la configuration des bornes et de FreeRadius finie, nous devons rajouter un serveur DHCP sur la borne Wi-Fi. Ainsi, les utilisateur pourront avoir une adresse IP attribuée.
 +
 
 +
sur le terminal de confiration cisco:
 +
ip dhcp pool groupe6      /goupe6 = "IMA2a5-4fun"
 +
network 10.60.7.0
 +
ns-server celui_de_polytech
 +
ip dhcp pool IMA2a5-4fun  excluded-address 10.60.7.252 10.60.7.254
  
    dot11 ssid SSID_groupe
 
    mbssid guest-mode                                    // mettre les ssid en guest-mode pour qu'il soient visibles.        /* CES COMMANDES SONT À FAIRE POUR CHAQUE SSID */
 
   
 
  
 +
Ca n'a pas marché sur la borne. On le fait donc sur le routeur.
  
 
== Crackage de la clé WEP  ==
 
== Crackage de la clé WEP  ==
  
Pour cette partie, on avait un soucis avec le wifi du notebook, donc on a utilisé clé wi-pi.
+
Etape 1: Installation de aircrack-ng
  
Le process est assez simple, où il faut installer d'abord le package "aircrack-ng" :
+
Pour installer aircrack-ng il nous faut etablir la connexion internet par Ethernet dans le eeepc
 +
Ensuite :
  
 
     apt-get install aircrack-ng
 
     apt-get install aircrack-ng
  
 +
Comme le wifi du pc ne fonctionne pas correctement on utilise un module WI-FI Wi-pi pour le visualiser peripherique on utilise la commande
  
en utilisant la commande "airmon-ng", on liste les interface disponibles :
+
    airmon-ng (pour voir le nom du Wi-pi)
 +
    airmon-ng start wlx40a5ef0125eg
  
    airmon-ng
+
[[Fichier:Hf img1.png|700px|center]]
 
 
    [[Fichier:airmon.png]]
 
  
 +
Ensuite il renomme le périphérique en wlan0mon
  
On repére notre interface wlan, donc on va la démarrer :
+
[[Fichier:HF Img2.png|700px|center]]
  
    airmon-ng start wlan0mon                              // le nom original est trop long pour linux, donc il a été renomé " wlan0mon"
+
On peut ensuite ecouté le réseau avec la commande airodump-ng en spécifiant le canal -c et le module wi-fi utilisé
  
     [[Fichier:airmon_start.png]]
+
     airodump-ng -c 8 wlan0mon
  
 +
On récupere l'adresse correspondante a cracotte 6 pour nous c'est 04:DA:D2:9C:50:55
  
Aprés avoir tuer les process, l'interface est prête pour le crackage.
+
[[Fichier:Wep-image1.png|700px|center]]
  
1/ Lister les réseaux, avec des informations sur le trafic :
+
Ensuite on capture les packets pour avoir assez IV pour cracker la clé wep cela crée un fichier .cap qu'on utilisera par la suite
  
     airodump-ng -i wlan0mon -c9                          // On écoute sur le canal 9 
+
     airodump-ng -w out -c 8 --bssid 04:DA:D2:9C:50:55 wlan0mon
  
    [[Fichier:airodump_c9.png]]
+
En parrallèle on lance aircrack pour effectuer des tentatives pour obtenir la clé wep
  
2/ On peut simuler une association entre le eeePC et le point d'accès pour augmenter le trafic:
+
  aircrack-ng out-01.cap
  
    aireplay-ng -1 0 -a 04:DA:D2:9C:50:55 -h 40:A5:EF:01:2E:DC  wlan0mon      // l'adresse MAc du réseau ' cracotte 06' et puis la station associé
+
Maintenant il faut attendre d'avoir assez donnée pour casser la clé wep
 +
sachant que avec 25 000 IV on a 50% de chance d'obtenir le mdp
 +
et 50 000 on 90% de chance
  
    [[Fichier:Association.png]]
+
[[Fichier:Wep-image2.png|700px|center]]
 +
   
  
3/ Ensuite on utilise l'attaque avec les paquets ARP :
+
=== Cassage du WPA2 ===
  
    aireplay-ng -3 -a 04:DA:D2:9C:50:55 -h 40:A5:EF:01:2E:DC -e cracotte06 wlan0mon
+
Dans cette partie, on utilisera la méthode du dictionnaire.
  
Les arp request sont sauvegardés dans le fichier "replay_arp-1130-104715.cap"
+
Pour le cassage du WPA on a besoin du handshake pour le recuperer on ecoute le réseau avec la commande airodump-ng
On laisse tourner cette commande sur un terminal, et on ouvre un autre terminal pour la commande suivante
 
  
4/ Cracker la clé :
+
    airodump-ng -c 8 wlan0mon
  
    aircrack-ng replay_arp-1130-104715.cap
+
On récupere l'adresse correspondante a Kracotte 6 pour nous c'est 04:DA:D2:9C:50:5D
  
On choisit le numéro 6 => cracotte06
 
  
     [[Fichier:cracker.png]]
+
Ensuite on doit récupérer le handshake pour ça on utilise airodump
 +
 
 +
     airodump-ng -c 2 --bssid 04:DA:D2:9C:50:5D -w -tplink wlan0mon
 +
 
 +
[[Fichier:Recup handshake wpa 2.png|700px|center]]
 +
 
 +
Cela nous crée un .cap avec le handshake
 +
 
 +
Comme la puissance de calcul et petite sur les eeepc on utilise une zabeth
 +
 
 +
on crée le dictionnaire avec crunch :
 +
 
 +
    crunch 8 8 0123456789 >> psw.txt
 +
 
 +
ensuite lance aircrack avec la commande suivante :
 +
 
 +
    aircrack-ng -0 -w dictionnaire.txt tplink-01.cap
 +
 
 +
[[Fichier:Wpa craked.png|700px|center]]
 +
 
 +
au bout de 45min on trouve la clé wpa.
  
  
=== Cassage du WPA2 ===
 
  
Dans cette partie, on utilisera la méthode du dictionnaire, vu qu'elle est plus rapide que celle de la force brute.
 
  
Pour cela, on procede ainsi :
 
  
1/ Ecouter le trafic réseau et le sauvegarder dans le fichier resultat :
 
  
    airodump-ng -w resultat -c9 wlan0mon                                      // on laisse tourner cette commande dans un terminal
 
   
 
2/ On utilise aireplay-ng avec l'option de désauthentification, qui nous permettra de recuperer le Handshake :
 
 
 
    aireplay-ng -0 0 -a 04:DA:D2:9C:50:50 -c 40:A5:EF:0F:68:CB wlan0mon
 
  
    [[Fichier:handshake.png]]
 
  
3/ On télécharge un dictionnaire, qui nous aidera a trouver la bonne combinaison, et une fois on a le handShake, on applique le fichier dictionnaire à aircrack-ng :
 
  
    aircrack-ng -0 -w /home/pifou/Downloads/rockyou.txt  resultat-03.cap      // le word list dans ce cas est le fichier rockyou.txt
 
  
    [[Fichier:crack.png]]
 
  
 +
<VirtualHost *:80>
 +
      ServerName ima2a5-4fun.site
 +
      ServerAlias www.ima2a5-4fun.site
 +
      DocumentRoot "/var/www/ima2a5-4fun"
 +
      <Directory "/var/www/ima2a5-4fun">
 +
              Options +FollowSymLinks
 +
              AllowOverride all
 +
              Require all granted
 +
      </Directory>
 +
      ErrorLog /var/log/apache2/error.ima2a5-4fun.site.log
 +
      CustomLog /var/log/apache2/access.ima2a5-4fun.site.com.log combined     
 +
</VirtualHost>
  
Et cela, peut prendre beaucoup de temps....
+
[https://wiki-ima.plil.fr/mediawiki//index.php/TP_syst%C3%A8me_%26_reseau_IMA2a5_2019/2020/cmds _]

Version actuelle datée du 8 décembre 2019 à 15:33

Jorge Cabral & Hamza Fahim

Introduction

Le projet a pour but de mettre en place un réseau sur 2 salles du bâtiment E de polytech constitué de 2 routeurs, 2 commutateurs, 2 bornes Wifi et un serveur. Chaque groupe dispose de machines virtuelles sur le serveur, qui permettront de constituer chacun un domaine acheté sur GANDI. Les routeurs et commutateurs seront configurés à l'aide de netbooks configurés par nos soins.


Installation du réseau : connexion des routeurs, commutateurs, bornes WiFi et du serveur Cordouan

Archi reseau 2.png

Mise en place du serveur

Préparation et configuration des machines virtuelles

Création de la machine virtuelle

La machine virtuelle est crée sur le serveur Cordouan :

ssh root@cordouan.insecserv.deule.net


Création de la machine virtuelle :

xen-create-image --hostname=ima2a5-4fun --dhcp --dir=/usr/local/xen --dist=ascii --apt_proxy=http://proxy.polytech-lille.fr:3128 --force

Démarrage/Arrêt/Redémarrage de la machine virtuelle

Avant de démarrer la VM, nous devons modifierle fichier /etc/xen/ima2a5-4fun.cfg afin de rajouter le bridge. Il faut d'abord récuperer le nom du bridge avec la commande:

brctl show

Le du bridge est :IMA2a5 Ensuite nous remplaçons dans le fichier "ima2a5-4fun.cfg" la ligne contenant "vif = [ 'mac=00:16:3E:A8:74:CA']" par :

vif = [ 'mac=00:16:3E:A8:74:CA, bridge=IMA2a5']


Puis,nous pouvons démarrager la machine virtuelle :

xl create /etc/xen/ima2a5-4fun.cfg

et acceder à la VM :

xl console ima2a5-4fun

L'utilisateur étant:

user : root
password: c'est le contenu de ligne commençant par "Root Password" du fichier "/var/log/xen-tools/ima2a5-4fun.log"

Pour changer le password root, utiliser:

passwd


On peut revenir à la machine hôte sans arrêter la MV avec la combinaison

Ctrl + AltGr + ]

Arrêt de la machine virtuelle depuis l'hôte :

xl destroy ima2a5-4fun

Adaptation de la machine virtuelle à l'architecture réseau du projet

Coordonnées IP statiques de la machine virtuelle sur le fichier /etc/network/interfaces

iface eth0 inet static
       address 193.48.57.166
       netmask 255.255.255.240
       gateway 193.48.57.172

Personnalisation des points de montage /var et /home

Création de 2 volumes de 10GB sur la machine hôte :

lvcreate -L10G -n ima2a5-4fun-home virtual
lvcreate -L10G -n ima2a5-4fun-var virtual

Formatage des volumes :

mkfs.ext4 /dev/virtual/ima2a5-4fun-home
mkfs.ext4 /dev/virtual/ima2a5-4fun-var

Inclusion des volumes dans la machine virtuelle en modifiant /etc/xen/ima2a5-4fun.cfg :

root = '/dev/xvda2 ro'
disk = [
           'file:/usr/local/xen/domains/ima2a5-4fun/disk.img,xvda2,w',
           'file:/usr/local/xen/domains/ima2a5-4fun/swap.img,xvda1,w',
           'phy:/dev/virtual/ima2a5-4fun-home,xvdb1,w',
           'phy:/dev/virtual/ima2a5-4fun-var,xvdb2,w'
       ]

Afin de vérifier si tout est correct on arrête complétement la VM (et non pas rebboter) et on recréé la VM

puis, vérifier sur la machine hôte et la VM si les deux partitions on bien été créées avec la commande:

fdisk -l

Puis, on modifie le fichier /etc/fstable de la VM pour que l'OS les monte automatiquement au démarrage:

# <file system> <mount point>   <type>  <options>                                <dump>  <pass>
proc            /proc           proc    defaults                                   0       0
devpts          /dev/pts        devpts  rw,noexec,nosuid,gid=5,mode=620            0       0
/dev/xvda1      none            swap    sw                                         0       0
/dev/xvda2      /               xt4     noatime,nodiratime,errors=remount-ro       0       1
/dev/xvdb1      /home           ext4    defaults                                   0       2
/dev/xvdb2      /var            ext4    defaults                                   0       2


Installation des serveurs SSH, DNS et https

Installation du serveur apache :

apt install apache2

Installation du serveur ssh :

apt install openssh-server

Création du service sshd lancé au démarrage par runit :

mkdir /etc/service
mkdir /etc/service/sshd
touch /etc/service/sshd/run

configuration du fichier etc/service/sshd/run:

#!/bin/sh
ssh-ketgen -A >/dev/null 2>&1
[ -r conf ] && . ./conf
exec /usr/sbin/sshd -D $OPTS

Autorise l'exécution du fichier run

chmod +x /etc/service/sshd/run

Serveur DNS

Nous allons établir la configuration d'un serveur DNS primaire (votre serveur) et d'un serveurs DNS secondaires (celui de l'hébergeur) au cas où le primaire ne réponde plus aux requêtes DNS.

Config dns sur gandi :

Pour cela il faut commencer par allez sur gandi.net dans l'onglet nom de domaine :

il faut ajouter les serveurs de nom :

   ns6.gandi.net 217.70.177.40
   ns1.ima2a5-4fun.site 193.48.57.166
Serveur nom.png


Ensuite sur l'onglet glue-record on lie l'adresse ip a notre nom de domaine :


Glue-record.png

Config sur la VM :

on rentre dans le répertoire bind : on crée le fichier db.ima2a5-4fun.site :

   $TTL    604800
   @       IN      SOA     ns1.ima2a5-4fun.site. root@ima2a5-4fun.site. (
                            19112026       ; Serial
                            604800         ; Refresh
                             86400         ; Retry
                           2419200         ; Expire
                            604800 )       ; Negative Cache TTL
   ;
   @       IN      NS      ns1.ima2a5-4fun.site.
   @       IN      NS      ns6.gandi.net.
           IN      A       193.48.57.166
   ns1     IN      A       193.48.57.166

Ensuite il faut allez dans le fichier /etc/bind/named.conf.options

option {
           dnssec-enable no;
   
           dnssec-validation auto;
           auth-nxdomain no;    # conform to RFC1035
           listen-on-v6 { any; };
           allow-transfer{"allowed_to_transfert";};
};
           acl "allowed_to_transfert"{
                   217.70.177.40/32;
           };

Ensuite il faut allez dans le fichier /etc/bind/named.conf.local pour configurer l'espace de noms et lui préciser quel fichier de configuration utiliser pour le DNS

zone "ima2a5-4fun.site"{
       type master;
       file "/etc/bind/db.ima2a5-4fun.site";
};

Pour finir on redémarre le service Bind9 :

service bind9 restart

Sécurisation de site web par certificat

Création du certificat avec OpenSSL :

openssl req -nodes -newkey rsa:2048 -sha256 -keyout ima2a5-4fun.key -out ima2a5-4fun.csr 

il faut ensuite répondre aux questions suivante :

    Country Name (2 letter code) [AU]:FR
    State or Province Name (full name) [Some-State]:Nord
    Locality Name (eg, city) []:Lille
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:Polytech Lille
    Organizational Unit Name (eg, section) []:IMA2A5
    Common Name (e.g. server FQDN or YOUR name) []:ima2a5-4fun.site
    Email Address []:hfahim@polytech-lille.net
    
    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:IMAOK
    Optionnal informations :

Il faut acheter sur gandi le certificat, ensuite affecter le certificat .csr . Pour crée le certificat gandi doit s'assurer de la demande. Pour cela il y a plusieurs méthode mail, fichier ou dns. nous avons utiliser l’authentification par fichier qui doit être placer dans notre VM. la validation prend plus de 5H.

Ensuite on le .pem, le .crt et le .key aux emplacements suivants :

/etc/ssl/certs/ima2a5-4fun.site.crt

/etc/ssl/private/ima2a5-4fun.key

/etc/ssl/certs/GandiStandardSSLCA2.pem


Ensuite il faut modifier le fichier /etc/apache2/sites-available/000-ima2a5-4fun.site-ssl.conf

<VirtualHost 193.48.57.166:443>
    ServerName www.ima2a5-4fun.site:443
    ServerAlias ima2a5-4fun.site
    DocumentRoot /var/www/html/
    CustomLog /var/log/apache2/secure_acces.log combined
    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/ima2a5-4fun.site.crt
    SSLCertificateKeyFile /etc/ssl/private/ima2a5-4fun.key
    SSLCertificateChainFile /etc/ssl/certs/GandiStandardSSLCA2.pem
    SSLVerifyClient None
</VirtualHost>

Et on ajoute une redirection

<VirtualHost 193.48.57.166:80>
    ServerName www.ima2a5-4fun.site
    ServerAlias ima2a5-4fun.site
    Redirect / https://www.ima2a5-4fun.site
</VirtualHost>

puis on active le module ssl

a2enmod ssl

Et active la configuration :

a2ensite 000-ima2a5-4fun.site-ssl.conf 

pour finir en relance apache2

service apache2 restart

DNSSEC

Il faut activer DNSSEC en ajoutant l'option dnssec-enable yes; dans le fichier /etc/bind/named.conf.local.


On génère deux couples de clefs (ZSK et KSK) qui permettront de chiffrer ou déchiffrer les enregistrements.

dnssec-keygen -f KSK -a RSASHA256 -b 2048 -n ZONE ima2a5-4fun.site dnssec-keygen -a RSASHA256 -b 2048 -n ZONE ima2a5-4fun.site

Nous avons ensuite renommé ces clefs en ima2a5-4fun-zsk.key, ima2a5-4fun-zsk.private, ima2a5-4fun-ksk.key, ima2a5-4fun-ksk.private


/etc/bind/ima2a5-dnssec

On faut ajouter les include dans le fichier db.ima2a5-4fun.site

$include /etc/bind/ima2a5-dnssec/ima2a5-4fun-zsk.key $include /etc/bind/ima2a5-dnssec/ima2a5-4fun-ksk.key

Ne pas oublié d'incrémenter le serial pour que la modification soit prise en compte

Il faut signer la zone

dnssec-signzone -o ima2a5-4fun.site -k ima2a5-dnssec/ima2a5-4fun-ksk db.ima2a5-4fun.site ima2a5-dnssec/ima2a5-4fun-zsk


Verifying the zone using the following algorithms: RSASHA256.
Zone fully signed:
Algorithm: RSASHA256: KSKs: 1 active, 0 stand-by, 0 revoked
                     ZSKs: 1 active, 0 stand-by, 0 revoked

cela génere le fichier suivant :

db.ima2a5-4fun.site.signed

Dans le fichier named.conf.local on remplace

db.ima2a5-4fun.site

par

zone "ima2a5-4fun.site"{
       type master;
       file "/etc/bind/db.ima2a5-4fun.site.signed";
};

on fini par restart bind9 :

service bind9 restart

RAID 5

Pour effectuer le raid 5 il faut se connecté en ssh sur cordouan

et ensuite crée 3 disque de 1 GO

root@cordouan:~# lvcreate -L1G -n ima2a5-4fun-disk1 virtual
root@cordouan:~# lvcreate -L1G -n ima2a5-4fun-disk2 virtual
root@cordouan:~# lvcreate -L1G -n ima2a5-4fun-disk3 virtual

ensuite on fait pointer le système de fichiers sur nos 3 disques.

mke2fs /dev/virtual/ima2a5-4fun-disk1 mke2fs /dev/virtual/ima2a5-4fun-disk2 mke2fs /dev/virtual/ima2a5-4fun-disk3

dans la vm il faut ajouter dans le fichier de config les 3 ligne suivante

disk   = [
      'file:/usr/local/xen/domains/ima2a5-4fun/disk.img,xvda2,w',
      'file:/usr/local/xen/domains/ima2a5-4fun/swap.img,xvda1,w',
      'phy:/dev/virtual/ima2a5-4fun-home,xvdb1,w',
      'phy:/dev/virtual/ima2a5-4fun-var,xvdb2,w',
      'phy:/dev/virtual/ima2a5-4fun-disk1,xvdb3,w', 
      'phy:/dev/virtual/ima2a5-4fun-disk2,xvdb4,w',
      'phy:/dev/virtual/ima2a5-4fun-disk3,xvdb5,w', 
            
xl create /etc/xen/ima2a5-4fun.cfg

on install mdadm

puis on construis le volume RAID

mdadm --create /dev/md0 --level=5  --raid-devices=3 /dev/xvdb3 /dev/xvdb4 /dev/xvdb5


mdadm: /dev/xvdb3 appears to contain an ext2fs file system size=1048576K mtime=Thu Jan 1 00:00:00 1970 mdadm: /dev/xvdb4 appears to contain an ext2fs file system size=1048576K mtime=Thu Jan 1 00:00:00 1970 mdadm: /dev/xvdb5 appears to contain an ext2fs file system size=1048576K mtime=Thu Jan 1 00:00:00 1970 Continue creating array? y

Actuellement le raid5 fonctionne correctement mais il faut faire en sorte que a chaque démarrage de la vm il se charge

mdadm --monitor --daemonise /dev/md0 

on rajoute la ligne suivante dans le fichier de config

/dev/md0 	/media/raid	ext4	defaults 	0	1

puis on formate le volume

mkdir /media/raid

Cryptage de données

Dans cette partie nous allons crée une partion dans une clé usb que nous allons crypté avec cryptsetup

Création de la partition avec fdisk

Pour visualiser notre clé usb on utilise la commande :

lsblk

Ensuite on utilise la commande fdisk pour supprimer ou crée une partitions

fdisk /dev/sda
Welcome to fdisk (util-linux 2.29.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

la commande p permet de lister toutes les partitions

Command (m for help): p 
Disk /dev/sda: 7,2 GiB, 7736072192 bytes, 15109516 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x2d4ec4c9

On remarque qu'il n'y a aucune donc on crée avec la commande "n" new

Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-15109515, default 2048): +2048
Value out of range.
First sector (2048-15109515, default 2048): 4000 
Last sector, +sectors or +size{K,M,G,T,P} (4000-15109515, default 15109515): +5000M
Created a new partition 1 of type 'Linux' and of size 4,9 GiB.

j'ai créé une partion de 4.9 GiB

Cryptage de la partition

Pour crypé la clé usb on lance la commande suivante :

cryptsetup luksFormat -c aes -h sha256 /dev/sda1
WARNING!
========
Cette action écrasera définitivement les données sur /dev/sda1.
Are you sure? (Type uppercase yes): YES
Saisissez la phrase secrète : IMAOK
Vérifiez la phrase secrète : IMAOK

j'ai défini le mdp : IMAOK

on rentre dans le partition crypté avec la cmd suivante :

cryptsetup open --type luks /dev/sdb1 IMAG6 (on a utilisé la nouvelle syntax de cryptsetup)

on defini le en système de fichier

mkfs -t ext4 /dev/mapper/IMAG6 

on le monte dans le repertoire /mnt

mount mkfs -t ext4 /dev/mapper/IMAG6 /mnt

on ajoute un fichier txt

umount /mnt

on ferme la partition crypté

cryptsetup luksClose IMAG6

Sécurisation Wifi par WPA2-EAP

Configuration des points d'accès Wi-Fi

Dans cette partie, on dispose de deux bornes wifi a configurer, la premiére en E306 et l'autre en E304, en utilisera le server FreeRadius pour l'identification. Tout d'abord effectuons un purge:

apt purge brltty

Puis:

1- Acceder à la configuration de la borne wifi :

minicom -os


On change la configuration pour: Port = /dev/ttyUSB0, 9600 bauds et sans control de flux

2- Se mettre en mode previligié :

enable   
Password = "Cisco"


3- Se mettre en mode configuration :

config term

(On peut aussi verifier la configuration de la borne avec "show run")


NB : Les commandes 5 à 14, sont à faire pour chaque groupe de la promo.


4- Pour utiliser le system en 'authentication, authorization, and accounting', il faut cette commande :

aaa new-model


5- On crée un server radius pour un groupe :

radius-server host ip_groupe6 auth-port 1812 acct-port 1813 key mot_secret      // mot_secret : il faut en choisir un . Par exemple (pour notre groupe) "IMA2a5-4fun". Il faut pas l'oublier cra vous en aurez besoin pour la config de radius 


6- On defini le server group :

aaa group server radius radius_groupe6                 // on remplace groupe6 par le nom de notre groupe "IMA2a5-4fun"


7- Puis, on associe à ce groupe de serveur le serveur créé sur la VM:

server ip_VM_groupe6 auth-port 1812 acct-port 1813


8- Ensuite, on defini le login et le groupe server par lequel l'utilisateur passera pour s'authentifier :

aaa authentication login eap_groupe6 group radius_groupe6   // remplacer groupe6 par le nom de notre groupe


9- On arrive à la création des SSID, protégé par la méthode WPA2-EAP :

dot11 ssid SSID_groupe6                                //  pour nous, groupe6="IMA2a5_4fun". Voir tableau Borne Wifi
vlan num_vlan
authentication open eap eap_groupe6  
authentication network-eap eap_groupe6  
authentication key-management wpa


10- Configurer les vlans des groupes :

interface Dot11Radio0                                  // on rentre d'abord dans l'interface Dot11Radio0
encryption vlan num_vlan mode ciphers aes-ccm tkip            // Où x est le numéro du vlan . Pour notre groupe x=7 Voir tableau Borne Wifi
ssid SSID_groupe6


Pour pouvoir se connecter au réseau, il faudra relier l'interfaces virtuelle à l'interface gigabites, via des 'bridge-groupe', et comme il y a plusieurs grouoes, il faut créer autant des sous-interfaces dot11radio0 et puis la relier aux sous-interfaces gigabites.


11- Créer une sous-interface pour chaque groupe, en donnant à l'instance le numéro du vlan :

interface dot11Radio0.num_vlan                         //  num_vlan a remplacer par le numéro du vlan  Voir tableau Borne Wifi
encapsulation dot1Q num_vlan
bridge-group num_vlan


12- Créer une sous-interface gigabite pour chaque groupe, en donnant à l'instance le numéro du vlan :

interface gigabite0.num_vlan                          //  num_vlan a remplacer par le numéro du vlan Voir tableau Borne Wifi
encapsulation dot1Q num_vlan
bridge-group num_vlan


13- Ajouter les SSID à l'interface Dot11Radio0

interface Dot11Radio0                                 // se mettre dans la bonne interface (i.e Dot11Radio0)
dot11 ssid SSID_groupe                                      // on remplace "groupe" par le nom du groupe de la promo  Voir tableau Borne Wifi


14- rendre les SSID visibles :

interface Dot11Radio0                               
mbssid                                                // Il faut rajouter l'option "mbssid" à l'interface Dot11Radio0
dot11 ssid SSID_groupe6                               //  pour notre groupe groupe6="IMA2a5_4fun"  Voir tableau Borne Wifi
mbssid guest-mode                                     // mettre les ssid en guest-mode pour qu'il soient visibles.


exit
exit
write
reload

15- Attribuer une ip à la borne

enable 
conf t
int bvi1 
ip address 10.60.0.100 255.255.255.0
exit 
exit 

SSID_groupe on peut maintenant pinger le routeur: ping 10.60.0.254 , mais le les VM

16-Il faut donc rajouter le gateway

enable
conf t
ip route 0.0.0.0 0.0.0.0 10.60.0.253
exit

maintenant on peut reussir à pinger les VM: ping 193.48.57.166

Mise en place du serveur FreeRadius

Cette partie se fait sur la VM!!!

Installation de freeradius:

apt-get install freeradius

Dans le fichier /etc/freeradius/3.0/users on ajoute la ligne:

jcabrald Cleartext-Password := "glopglop"

Dans le fichier /etc/freeradius/3.0/mods-enabled/eap on modifie la ligne:

eap{
    default_eap_type = peap
}

Dans le fichier /etc/freeradius/3.0//mods-enabled/mschap on décommente les lignes suivantes et modifie

use_mppe = yes
require_encryption = yes
require_strong = yes

et on ajoute la ligne suivante:

with_ntdomain_hack = yes


Dans le fichier /etc/freeradius/3.0/clients.conf rajouter le borne comme un client qui se connectera sur le server radius:

client access-point {                                // nom attribué au client
       ipaddr          = 10.60.0.100                //adresse ip de la borne
       secret          = secret_IMA2a5-4fun         //mot secret saisi lors de la configuration de la borne
}


Une fois toutes les confirations terminées, nous alons: -arrêter le server Freeradius

 service freeradius stop

-puis le relancer en mode debug afin de visualiser les reqûetes et logs

freeradius -X

Mise en place serveur DHCP

Une fois la configuration des bornes et de FreeRadius finie, nous devons rajouter un serveur DHCP sur la borne Wi-Fi. Ainsi, les utilisateur pourront avoir une adresse IP attribuée.

sur le terminal de confiration cisco:

ip dhcp pool groupe6       /goupe6 = "IMA2a5-4fun"
network 10.60.7.0
ns-server celui_de_polytech
ip dhcp pool IMA2a5-4fun  excluded-address 10.60.7.252 10.60.7.254


Ca n'a pas marché sur la borne. On le fait donc sur le routeur.

Crackage de la clé WEP

Etape 1: Installation de aircrack-ng

Pour installer aircrack-ng il nous faut etablir la connexion internet par Ethernet dans le eeepc Ensuite :

   apt-get install aircrack-ng

Comme le wifi du pc ne fonctionne pas correctement on utilise un module WI-FI Wi-pi pour le visualiser peripherique on utilise la commande

   airmon-ng (pour voir le nom du Wi-pi)
   airmon-ng start wlx40a5ef0125eg
Hf img1.png

Ensuite il renomme le périphérique en wlan0mon

HF Img2.png

On peut ensuite ecouté le réseau avec la commande airodump-ng en spécifiant le canal -c et le module wi-fi utilisé

   airodump-ng -c 8 wlan0mon

On récupere l'adresse correspondante a cracotte 6 pour nous c'est 04:DA:D2:9C:50:55

Wep-image1.png

Ensuite on capture les packets pour avoir assez IV pour cracker la clé wep cela crée un fichier .cap qu'on utilisera par la suite

   airodump-ng -w out -c 8 --bssid 04:DA:D2:9C:50:55 wlan0mon

En parrallèle on lance aircrack pour effectuer des tentatives pour obtenir la clé wep

  aircrack-ng out-01.cap

Maintenant il faut attendre d'avoir assez donnée pour casser la clé wep sachant que avec 25 000 IV on a 50% de chance d'obtenir le mdp et 50 000 on 90% de chance

Wep-image2.png


Cassage du WPA2

Dans cette partie, on utilisera la méthode du dictionnaire.

Pour le cassage du WPA on a besoin du handshake pour le recuperer on ecoute le réseau avec la commande airodump-ng

   airodump-ng -c 8 wlan0mon

On récupere l'adresse correspondante a Kracotte 6 pour nous c'est 04:DA:D2:9C:50:5D


Ensuite on doit récupérer le handshake pour ça on utilise airodump

   airodump-ng -c 2 --bssid 04:DA:D2:9C:50:5D -w -tplink wlan0mon
Recup handshake wpa 2.png

Cela nous crée un .cap avec le handshake

Comme la puissance de calcul et petite sur les eeepc on utilise une zabeth

on crée le dictionnaire avec crunch :

   crunch 8 8 0123456789 >> psw.txt

ensuite lance aircrack avec la commande suivante :

   aircrack-ng -0 -w dictionnaire.txt tplink-01.cap
Wpa craked.png

au bout de 45min on trouve la clé wpa.






<VirtualHost *:80>

      ServerName ima2a5-4fun.site
      ServerAlias www.ima2a5-4fun.site
      DocumentRoot "/var/www/ima2a5-4fun"
      <Directory "/var/www/ima2a5-4fun">
              Options +FollowSymLinks
              AllowOverride all
              Require all granted
      </Directory>
      ErrorLog /var/log/apache2/error.ima2a5-4fun.site.log
      CustomLog /var/log/apache2/access.ima2a5-4fun.site.com.log combined      

</VirtualHost>

_