TP sysres SE2a5 2022/2023 G2

De Wiki d'activités IMA

Cahier de suivi du G2 : Adrien Jonard et Clément Lenoir


[Sujet]

Objectif :

Ce TP consiste en la réalisation d’une maquette de réseau permettant de manipuler les protocoles de redondance réseau ainsi que le protocole réseau IPv6. D’un point de vue système nous allons installer une machine virtuelle Xen et y configurer des services. Enfin la mise en place d’un réseau WiFi sécurisé et d’un site web sécurisé vous permettent de mettre en pratiques vos connaissances en la matière.

Séances du 04/10

Réinstallation OS de la Zabeth 26 et réseau

Pour réinstaller le système d'exploitation, procédez comme suit :

  -->| Récupérer le fichier de la distribution (.iso) : fichier .iso
  -->| Rendre la clé bootable:
            - Ouvrez le Terminal
            - Identifiez le nom de la clé USB (ex. : sda) : lsblk -S
            - Démontez toutes les partitions de la clé USB (remplacez X par la lettre attribuée à votre clé USB) : umount /dev/sdX?*
            - Flasher l’image ISO sur la clé USB : sudo dd if=/chemin/vers/image.iso of=/dev/sdX bs=4M status=progress conv=fdatasync
  -->| Redémarrez la machine, puis démarrez sur la clé USB, en suivant les étapes de configuration indiquées sur les photos ci-dessus.
            - IP machine : 172.26.145.50+n°zabeth/24
            Etape1.png
            - Adresse routeur (Gateway) 172.26.145.254
            Etape2.png
            - Server dns = 193.48.57.48
            Etape3.png
            - Nom du domaine
            Etape4.png
            - Password : glopglop
            Etape5.png
            -  Partition de disks
            Etape6.png
            Etape7.png
            Etape8.png
            - Proxy : http://proxy.polyetch-lille.fr:3128
            Etape9.png

Cablage et réalisation du plan d'adressage

Global scheme PRA 2020.png

Installation de la MV Xen

Connexion à Capbreton

            -ssh root@capbreton.plil.info

Création de l'image Xen

            -xen-create-image --ip=193.48.57.164 --gateway=193.48.57.187 --netmask=255.255.255.240 --hostname=Goudale --dist=chimaera --dir=/usr/local/xen/

Ensuite, nous avons créé deux LV, chacun de 10 Go sur le groupe de volume de stockage:

            -lvcreate -L10G -n Goudale1 storage
            -lvcreate -L10G -n Goudale2 storage

On formate ensuite les disques au format ext4:

            mkfs.ext4 /dev/storage/Goudale1
            mkfs.ext4 /dev/storage/Goudale2

nous modifions ensuite notre fichier "/etc/xen/Goudale.cfg" pour préciser l'ajout les volumes logiques home et var , de plus on ajoute le bridge bridgeStudents dans la fonction vif. Pour cela on ajoute les lignes suivantes:

            name= 'Goudale'
            #
            #  Networking
            #
            vif         = [ 'mac=00:16:3E:86:A2:66,bridge=IMA2a5' ]
            disk        = [
                             'file:/usr/local/xen/domains/Goudale/disk.img,xvda2,w',
                             'file:/usr/local/xen/domains/Goudale/swap.img,xvda1,w',
                             'phy:/dev/storage/Goudalehome,xvda3,w',
                             'phy:/dev/storage/Goudalevar,xvda4,w'
                         ]


Afin de faire une répartition nous avons suivi les commandes suivantes:

            -mount /dev/xvda3 /home 
            -mount /dev/xvda4 /mnt
            -mv /var/* /mnt 
            -umount /mnt
            -mount /dev/xvda4 /var

Nous avons modifier le fichier /etc/network/interfaces afin d'accéder à internet :

            # The primary network interface
            auto eth0
            iface eth0 inet static
            address 193.48.57.164
            gateway 193.48.57.187
            netmask 255.255.255.240
            iface eth0 inet6 auto

On configure ensuite la résolution de noms dans /etc/network/interfaces, en ajoutant la ligne suivante :

            dns-nameservers 8.8.8.8 8.8.4.4

On effectue les commandes suivantes pour appliquer les changements:

            systemctl restart networking

Une fois que c'est fait on peut éteindre la VM, pour la rallumer, on retourne sur capbreton et on lance la commande suivante :

            xen create /etc/Xen/Goudale.cfg -c

Séance du 06/10

Site internet

Dans un premier temps, on utilise le registrar Gandi afin de réserver le nom de domaine lamentable.site

Une fois le nom de domaine réservé, il est alors possible de configurer les serveurs de noms et les Glue Records :

  → Ajouter le Glue Record vers 193.48.57.164 afin d’associer le nom de domaine lamentable.site à l’adresse IP 193.48.57.164

  → Modifier les serveurs de noms pour utiliser ns.lamentable.site et ns6.gandi.net

En attendant que les serveurs de noms soient correctement modifiés, il est possible de changer les enregistrements DNS :

  → Modifier l’enregistrement DNS @-A avec la valeur 193.48.57.164

  → Ajouter l’enregistrement DNS ns-A avec la valeur 193.48.57.164

  → Modifier l’enregistrement DNS www-CNAME avec la valeur ns.lamentable.site

DNS

On modifie ensuite la configuration DNS :

nano /etc/bind/named.conf.options
options {
        directory "/var/cache/bind";
        #dnssec-validation auto;
        listen-on-v6 { any; };
        allow-transfer { "allowed_to_transfer"; };
};
acl "allowed_to_transfer" {
        217.70.177.40/32;
        adresse ipv6 que je n'ai pas sous la main
};

On modifie le fichier de configuration :

nano /etc/bind/db.lamentable.site
$TTL 3600
@ IN SOA ns.lamentable.site postmaster.lamentable.site (
      1               ; Version
      1800             ; Refresh (30m)
      600             ; Retry   (10m)
      3600             ; Expire (1h)
      3600 )           ; Minimum TTL (1h)
@ IN NS ns.lamentable.site.
@ IN NS ns6.gandi.net.
ns      IN A       193.48.57.164

On modifie le fichier de configuration pour déclarer les zones associées au domaine :

nano /etc/bind/named.conf.local
zone "lamentable.site" {
        type master;
        file "etc/bind/db.lamentable.site";
};


Puis nous avons généré nos clés sur notre machine virtuelle :

   apt install openssl
   openssl req -nodes -newkey rsa:2048 -sha256 -keyout myserver.key -out server.csr -utf8

Architecture réseau

Lors de cette séance nous nous sommes aussi occupés de préparer les differentes parties de notre architecture réseau

Le serveur principal 6509E en A304 est configuré de sorte :

switch>enable
switch#configure terminal
  • Configuration du nom d’hôte :
switch(config)#hostname SE2A5-R1
  • Accès SSH :
SE2A5-R1(config)#aaa new-model
SE2A5-R1(config)#username admin privilege 15 secret glopglop
SE2A5-R1(config)#ip domain-name plil.info
SE2A5-R1(config)#crypto key generate rsa
SE2A5-R1(config)#line vty 0 15
SE2A5-R1(config-line)#transport input ssh
SE2A5-R1(config-line)#exit
  • Accès console :
SE2A5-R1(config)#line console 0
SE2A5-R1(config-line)#password glopglop
SE2A5-R1(config-line)#login authentification default
SE2A5-R1(config-line)#exit
  • Sécurisation des accès :
SE2A5-R1(config)#service password-encryption
SE2A5-R1(config)#enable secret glopglop
SE2A5-R1(config)#banner motd #Restricted Access#
  • Activer le routage :
SE2A5-R1(config)#ip routing
  • Activer VRRP :
SE2A5-R1(config)#license boot level network-advantage
SE2A5-R1(config)#fhrp version vrrp v3


Nous avons configuré le routeur C9200, notre serveur de secours, pour y ajouter :

  • une connexion vers le routeur de l'école assurant un routage vers internet de nos machines Xen via le VLAN40 Xen
  • l'interconnexion des machines par le VLAN530

VLAN40

enable
 conf t
   vlan 40
     name xen
     exit
   int vlan 40
     no shut
     ip address 193.48.57.170 255.255.255.248
     exit
   int Gi1/0/1
     no shut
     switchport mode access
     switchport access vlan 40
     exit
   exit
 write

VLAN530

enable
 conf t
   vlan 530
     name interco
     exit
   int vlan 530
     no shut
     ip address 192.168.222.68  255.255.255.0
     exit
   int Gi1/0/2
     no shut
     switchport mode access
     switchport access vlan 530
     exit
   exit
 write

Paramétrage de l'OSPF

router ospf 1
 router-id 192.168.222.68
 summary-address 192.168.0.0 255.255.0.0
 summary-address 193.48.57.160 255.255.255.224
 redistribute connected subnets ! subnets allowed
 redistribute static subnets route-map ospf ! subnets allowed
 network 192.168.222.64 0.0.0.7 area 10
 default-information originate

On ajoute cette commande pour filtrer nos réseaux locaux qu'on ne souhaite pas faire sortir

 summary-address 10.0.0.0 255.0.0.0 not-advertise

Séance du 07/11

DNSSEC

  • Modification du fichier /etc/bind/named.conf.options :
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
  • Création du répertoire lamentable.site.dnssec :
mkdir /etc/bind/lamentable.site.dnssec/
cd /etc/bind/lamentable.site.dnssec/
  • Génération de la clef asymétrique de signature de clefs de zone :
dnssec-keygen -a RSASHA256 -b 2048 -f KSK -n ZONE lamentable.site
mv Klamentable.site.*.key lamentable.site-ksk.key
mv Klamentable.site.*.private lamentable.site-ksk.private
  • Génération de la clef asymétrique de signature des enregistrements :
dnssec-keygen -a RSASHA256 -b 2048 -n ZONE lamentable.site
mv Klamentable.site.*.key lamentable.site-zsk.key
mv Klamentable.site.*.private lamentable.site-zsk.private
  • Modification du fichier /etc/bind/db.demineur.site :
$include "/etc/bind/lamentable.site.dnssec/lamentable.site-ksk.key"
$include "/etc/bind/lamentable.site.dnssec/lamentable.site-zsk.key"
  • Signature des enregistrements de la zone :
dnssec-signzone -o lamentable.site -k lamentable.site-ksk ../db.lamentable.site lamentable.site-zsk
  • Modification du fichier /etc/bind/named.conf.local :
zone "lamentable.site" {
    type master;
    file "/etc/bind/db.lamentable.site.signed";
    allow-transfer { 217.70.177.40; }; // ns6.gandi.net
};

Il ne reste plus qu’à communiquer la partie publique de la KSK (présente dans le fichier lamentable.site-ksk.key) à Gandi.
L’algorithme utilisé est le 5 (RSA/SHA-1).

Vérification :

cd /etc/bind/
dnssec-verify -o lamentable.site db.lamentable.site.signed
service bind9 restart


fail2ban

- on installe les paquets iptables et fail2ban - Dans le fichier /etc/fail2ban/jail.d/defaults-debian.conf on ajoute les lignes

 [named-refused]
 enabled = true

- Dans le fichier /etc/bind/named.conf.options on ajoute les lignes

 logging {
         channel security_file {
            	file "/var/log/named/security.log" versions 3 size 30m;
       	severity dynamic;
       	print-time yes;
   	   };
   	   category security {
       	security_file;
   	   };
 };

- On crée le fichier /var/log/named/security.log

 mkdir /var/log/named
 touch /var/log/named/security.log
 cd /var/log
 chown bind -R named/
 chown bind named/security.log 

- On restart le service fail2ban et on observe 2 adresses IP bannies.

Docker minecraft

Apres avoir installé docker, on exécute simplement la commande, provenant de [hub docker] :

   docker run -d -p 25565:25565 --name mc itzg/minecraft-server

Séance 10/11

Sécurisation des données

Afin de sécuriser les données, on configure un RAID5 avec les trois partition LVM de 1Go créées précédemment.

  • Installer les paquets nécessaires :
apt install mdadm
  • Créer les partitions virtuelles pour le RAID :
lvcreate -L1G -n lamentable-raid-1 virtual
lvcreate -L1G -n lametable-raid-2 virtual
lvcreate -L1G -n lamentable-raid-3 virtual
  • Ajouter les partitions à la configuration de la VM :
'phy:/dev/virtual/lamentable-raid-1,xvdb1,w',
'phy:/dev/virtual/lamentable-raid-2,xvdb2,w',
'phy:/dev/virtual/lamentable-raid-3,xvdb3,w'
  • Créer le RAID5 à l’aide de la commande mdadm :
mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/xvdb1 /dev/xvdb2 /dev/xvdb3
  • Formater la partition RAID5 :
mkfs.ext4 /dev/md0
  • Ajout de la partition au fichier /etc/fstab :
/dev/md0 /media/raid ext4 defaults 0 1
  • On recharge les partitions afin de prendre en compte le RAID :
mount -a


Serveur FreeRadius

Installation de freeRADIUS

apt install freeradius

On commence par configurer /etc/freeradius/3.0/clients.conf à détailler

client SE2A5 {
	ipaddr = 10.1.0.4/24
	secret = secret_se2a5
}

ensuite /etc/freeradius/3.0/mods-enabled/eap

eap {
  [...]
  default_eap_type = peap
}

puis /etc/freeradius/3.0/users

[...]
root Cleartext-Password := "glopglop"

Pour vérifier que tout fonctionne bien, on peut lancer freeradius en mode debug freeradius -X (après avoir au préalable stoppé le processus)


Administration

A utiliser pour configurer le point d'accès Wi-Fi

Vlan 1 = Vlan d'administration

Nom de l'appareil IPv4
router e306 10.1.0.1/24
router e304 10.1.0.2/24
ap e306 10.1.0.3/24
ap e304 10.1.0.4/24

Séance 28/11

Réparations : partitions, DNSSEC, fail2ban, html perso

DNS-viz lamentable.png DNS-viz en attendant la maj de Gandi (de 1 a 72 heures)

Crackage WEP

Config WiFi WPA-PSK -> Réseau SE2A5_1

Annexe : avancement tableau

Res1.jpg Res2.jpg Res3.jpg Res4.jpg Res5.jpg

Remerciements

Merci a nos camarades pour ce travail collectif, Merci a Mr Redon pour ce TP et ses explications, Merci aux anciens élevés pour leur wiki dont nous nous sommes inspirés.