Atelier SysRes SE4 2024/2025 E10
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
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é
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:
Interface de notre machine mandataire Zeus:
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
apt install
En ayant voulu faire un apt update sur Zeus j'ai eu cette erreur:
En regardant on voit que c'est car la date est mauvaise
J'ai donc installer ntpdate et ntp pour mettre à jour à la date:
On a une date correcte et je peux enfin faire apt update
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.