TP sysres SE2a5 2022/2023 G2
Cahier de suivi du G2 : Adrien Jonard et Clément Lenoir
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.
Sommaire
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
- Adresse routeur (Gateway) 172.26.145.254
- Server dns = 193.48.57.48
- Nom du domaine
- Password : glopglop
- Partition de disks
- Proxy : http://proxy.polyetch-lille.fr:3128
Cablage et réalisation du plan d'adressage
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 en attendant la maj de Gandi (de 1 a 72 heures)
Crackage WEP
Config WiFi WPA-PSK -> Réseau SE2A5_1
Annexe : avancement tableau
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.