Atelier SysRes SE4 2024/2025 E10

De wiki-se.plil.fr
Aller à la navigation Aller à la recherche

Lilian Grévin

Creation des VM

Nous avons utilisé xen-create-image pour générer nos VM sous Xen. La commande suivante permet de créer une VM nommée SE4.Orion, avec une configuration réseau en DHCP, 10 Go d'espace disque, 2 Go de RAM, et connectée au bridge Styx :

xen-create-image --hostname=SE4.Orion --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=Styx

Configuration de la machine de service

Afin de rendre les partitions permanentes pour les répertoires /var et /home, il faut ajouter une ligne pour chaque partition dans le fichier /etc/fstab, en précisant le nom de la partition, le point de montage (respectivement /var et /home), le type de système de fichiers (ici ext4), ainsi que les options de montage

Etcfstab.png
Home orion.png
Var1 orion.png
Var2 orion.png


La commande df -h permet de vérifier l'espace disque utilisé et disponible sur les systèmes de fichiers montés, ici df -h permet de s'assurer que nos partitions ont bien été montées aux bons endroits et que l'espace disque est correctement attribué

Df orion.png


Ping entre les VM

Pour configurer le réseau, nous avons modifié le fichier /etc/network/interfaces afin que la machine de services obtienne automatiquement une adresse IPv6 et utilise une adresse IPv4 fixe sur le réseau privé de la machine mandataire

VM Orion:

Interfaceorion.png


Interface de notre machine mandataire Zeus:

Interfaces ZEUS.png


Chaque machine possède une adresse fixe sur le commutateur virtuel privé, ce qui permet aux différentes VM de communiquer entre elles et de se ping sans problème

Pingposeidon.png


apt install


En ayant voulu faire un apt update sur Zeus j'ai eu cette erreur:

Aptupdateerreur.png


En regardant on voit que c'est car la date est mauvaise

Datemauvaise.png


J'ai donc installer ntpdate et ntp pour mettre à jour à la date:

Aptinstallntpdate.png
Aptinstallntp.png


On a une date correcte et je peux enfin faire apt update

Datecorrecte.png



SLL Certificates

https://docs.gandi.net/en/ssl/common_operations/csr.html

openssl req -nodes -newkey rsa:2048 -sha256 -keyout basrion.online.key -out server.csr -utf8
Country Name (2 letter code) [AU]:FR
State or Province Name (full name) [Some-State]:Nord
Locality Name (eg, city) []:Lille
Organization Name (eg, company) [Internet Widgits Pty Ltd]:PolytechLille
Organizational Unit Name (eg, section) []:SE
Common Name (e.g. server FQDN or YOUR name) []:basrion.online
Email Address []:lilian.grevin@polytech-lille.net

basrion.online.key server.csr


Configuration des serveurs DNS:

Nous avons configuré un serveur DNS Bind9 avec une zone pour basrion.online.

root@Orion:/etc/bind# ls
bind.keys  db.0  db.127  db.255  db.basrion.online  db.empty  db.local	named.conf  named.conf.default-zones  named.conf.local	named.conf.options  rndc.key  zones.rfc1918
root@Orion:/etc/bind# cat named.conf.local 
//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

zone "basrion.online" {
  type master; 
  file "/etc/bind/db.basrion.online";
  allow-transfer{secondaries;};  // filtrage des secondaires
  //also-notify{hiddensecondaries;}; // pour les secondaires vicieux
  notify yes; 
};
acl "secondaries" {
    192.168.2.3; // Serveur secondaire
    fe80::216:3eff:fe28:c918; // Serveur secondaire en IPv6
};

Fichier de zone :

root@Orion:/etc/bind# cat db.basrion.online 
$TTL 200
@ IN SOA ns1.basrion.online. admin.basrion.online. (
        2025020501 ; Serial Number
        86400      ; Refresh (1 jour)
        7200       ; Retry (2 heures)
        1209600    ; Expire (14 jours)
        3600 )     ; Minimum TTL (1 heure)

@       IN NS ns1.basrion.online.

ns1     IN A 193.48.57.171
    	IN AAAA 2001:660:4401:60a0:216:3eff:fe7c:cea


https://oldwiki.gandi.net/fr/hosting/using-linux/tutorials/ubuntu/ssl.html


root@Orion:/etc/apache2/sites-available# cat 000-basrion.online-ssl.conf 
#NameVirtualHost *:443
 
 <VirtualHost *:80>
	ServerName basrion.online 
   	Redirect permanent / https://basrion.online/	
 </VirtualHost>

 <VirtualHost *:443>

        ServerName basrion.online
        ServerAlias basrion.online
        DocumentRoot /var/www/basrion.online
        CustomLog /var/log/apache2/secure_access.log combined

        SSLEngine on
        SSLCertificateFile /etc/ssl/certs/basrion.online.crt
        SSLCertificateKeyFile /etc/ssl/private/basrion.online.key
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem
        SSLVerifyClient None

  </VirtualHost>
ssh root@193.48.57.171 -p 2201

Apache 2

Fichiers Importants
/etc/apache2/sites-available/000-basrion.online-ssl.conf : Contient la configuration du site basrion.online
var/www/basrion.online/index.html : Page d'accueil du site

Nous avons mis en place un VirtualHost pour rediriger tout le trafic HTTP vers HTTPS et utiliser le certificat SSL :

root@Orion:/etc/apache2# cat sites-available/000-basrion.online-ssl.conf 
#NameVirtualHost *:443
 
 <VirtualHost *:80>
	ServerName basrion.online 
   	Redirect permanent / https://basrion.online/	
 </VirtualHost>

 <VirtualHost *:443>

        ServerName basrion.online
        ServerAlias basrion.online
        DocumentRoot /var/www/basrion.online
        CustomLog /var/log/apache2/secure_access.log combined

        SSLEngine on
        SSLCertificateFile /etc/ssl/certs/basrion.online.crt
        SSLCertificateKeyFile /etc/ssl/private/basrion.online.key
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem
        SSLVerifyClient None

  </VirtualHost>

Port 80 : Redirige toutes les requêtes HTTP vers HTTPS

Fichiers SSL

   /etc/ssl/certs/basrion.online.crt : Certificat SSL
   /etc/ssl/private/basrion.online.key : Clé privée
   /etc/ssl/certs/GandiCert.pem : Certificat intermédiaire


Quand on va sur http://basrion.online, Apache redirige vers https://basrion.online

lgrevin@zabeth10:~$ curl  http://basrion.online
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="https://basrion.online/">here</a>.</p>
<hr>
<address>Apache/2.4.62 (Debian) Server at basrion.online Port 80</address>
</body></html>
lgrevin@zabeth10:~$ curl  https://basrion.online
<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Bienvenue sur basrion.online</title>
</head>
<body>
    <h1>Bienvenue sur basrion.online !</h1>
    <p>Le site est en ligne ! :D</p>
</body>
</html>


Configuration des serveurs DNS

Les serveurs Orion (maître) et Zeus (esclave) ont été configurés pour gérer les zones basrion.online et poissonidon.online. Les fichiers de zones sont sauvegardés dans /etc/bind/backup/ sur chaque serveur, et les permissions ont été réglées avec chown bind:bind backup/.

Sur Orion, pour la zone basrion.online (maître) :

zone "basrion.online" {
  type master;
  file "/etc/bind/db.basrion.online";
  allow-transfer { secondaries; };
  notify yes;
  key-directory "/etc/bind/keys";
  dnssec-policy "dnspol";
  inline-signing yes;
};

zone "poissonidon.online" {
  type slave;
  file "/etc/bind/backup/db.poissonidon.online";
  masters { 2001:660:4401:60a0:216:3eff:fe28:c918; };
};

Sur Zeus, pour la zone basrion.online (esclave) :

zone "basrion.online" {
  type slave;
  file "/etc/bind/backup/db.basrion.online";
  masters { 2001:660:4401:60a0:216:3eff:fe7c:cea; };
};

zone "poissonidon.online" {
  type slave;
  file "/etc/bind/backup/db.poissonidon.online";
  masters { 2001:660:4401:60a0:216:3eff:fe28:c918; };
};

Après ces configurations, aucune erreur n'apparaît plus sur DNSviz, confirmant que les zones sont correctement configurées et synchronisées.

Dnsvizorion.png