Atelier SysRes SE4 2024/2025 E5

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

Projet Virtualisation KAOUTAR EL BACHIRI - Machine Apollo 🚀

Introduction

Dans ce projet de virtualisation, j'ai mis en place une infrastructure comprenant **deux machines de services** et **une machine mandataire**, le tout orchestré avec **Xen**. La machine **Apollo** joue un rôle clé dans l'hébergement des services, tandis que **Solstice** assure la gestion du réseau et l'interconnexion avec l'extérieur.

Si vous souhaitez plonger plus en détail dans la configuration de **Moon**, la seconde machine de services, cliquez sur le lien suivant : 📎 Moon.

Les prochaines sections vous guideront à travers chaque étape de cette mission. 🛰️

---

Création et Connexion aux Machines Virtuelles

Dans ce projet, j'ai créé deux machines de services et une machine mandataire à l'aide de l'outil **Xen**. Les commandes utilisées sont les suivantes :

root@capbreton:~# xen-create-image --hostname=SE4.Apollo --dhcp --bridge=pontKS --dir=/usr/local/xen --size=10GB --dist=daedalus --memory=2048M --force
root@capbreton:~# xen-create-image --hostname=SE4.Solstice --dhcp --bridge=pontKS --dir=/usr/local/xen --size=10GB --dist=daedalus --memory=2048M --force

Pour démarrer les machines :

xen create /etc/xen/SE4.Apollo.cfg
xen create /etc/xen/SE4.Solstice.cfg

Et pour accéder aux consoles des VMs :

xen console SE4.Apollo
xen console SE4.Solstice

---

Montage des Partitions /var et /home sur Apollo

Pour améliorer la gestion des données, j'ai monté les répertoires **/var** et **/home** sur des partitions LVM dédiées.

        1. **Création des Fichiers de Partition**

Depuis le serveur Capbreton, j'ai créé les fichiers de partitions dans **/dev/virtual** :

root@capbreton:/dev/virtual# ls
SE4.Apollo.var  SE4.Apollo.home  SE4.Moon.var  SE4.Moon.home
        1. **Modification des Fichiers de Configuration**

J'ai modifié les fichiers **.cfg** pour attacher les partitions LVM aux machines :

disk = [
    'file:/usr/local/xen/domains/SE4.Apollo/disk.img,xvda2,w',
    'file:/usr/local/xen/domains/SE4.Apollo/swap.img,xvda1,w',
    'phy:/dev/virtual/SE4.Apollo.home,xvdb,w',
    'phy:/dev/virtual/SE4.Apollo.var,xvdc,w',
]

Une configuration similaire a été appliquée à Moon.

---

Configuration Réseau

Chaque machine a été configurée avec des adresses IPv4 fixes sur un réseau privé et une configuration automatique pour IPv6.

        1. **Machines de Services (Apollo et Moon)**

Exemple de configuration dans **/etc/network/interfaces** pour Apollo :

auto eth0
iface eth0 inet static
    address 172.16.0.2/24
    gateway 172.16.0.1

iface eth0 inet6 auto

Moon utilise une configuration similaire avec l’adresse **172.16.0.3**.

        1. **Machine Mandataire (Solstice)**

Solstice agit comme passerelle IPv4 pour les machines de services :

auto eth0
iface eth0 inet static
    address 172.16.0.1/24

iface eth0 inet6 auto

auto eth1
iface eth1 inet static
    address 193.48.57.166/27
    gateway 193.48.57.161

---

Mise en Place d’un Serveur DNS

J'ai configuré un serveur **BIND9** pour gérer les noms de domaine **apollo-exploration.online** et **moonrises.online**.

        1. **Configuration de BIND9**

Installation et vérification de la version :

apt install bind9 -y
named -v

Ajout de l'interface **eth1** pour gérer l'IPv6 :

auto eth1
iface eth1 inet6 auto

Redémarrage du service :

systemctl restart networking

---

Mise en Place du Serveur Apache (HTTP et HTTPS)

J'ai mis en place **Apache2** pour héberger mon site web. L’installation s’est faite en plusieurs étapes :

1️⃣ Installation et activation du **HTTP** 2️⃣ Configuration de la redirection **HTTPS** via la mandataire (**Solstice**) 3️⃣ Ajout du support **HTTPS** sur **Apollo**

        1. **Installation d’Apache et Activation du HTTP**
apt update && apt install apache2 -y

Test en accédant à **http://apollo-exploration.online** → OK ✅

        1. **Redirection HTTPS via Solstice**

Ajout du proxy inversé dans **/etc/apache2/sites-available/default-ssl.conf** :

<VirtualHost *:443>
    ServerName apollo-exploration.online
    SSLProxyEngine on
    ProxyPass / https://apollo-exploration.online/
    ProxyPassReverse / https://apollo-exploration.online/
</VirtualHost>
        1. **Activation du HTTPS sur Apollo**
a2enmod ssl
systemctl restart apache2

Ajout du site HTTPS dans **/etc/apache2/sites-available/default-ssl.conf** :

<VirtualHost *:443>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    SSLEngine on
    SSLCertificateFile /etc/apache2/sites-available/apollo-exploration.online.crt
    SSLCertificateKeyFile /root/myserver.key
    SSLCertificateChainFile /etc/apache2/sites-available/GandiCert.pem
</VirtualHost>

Activation et redémarrage :

a2ensite default-ssl.conf
systemctl reload apache2

---

      1. **Conclusion**

🔹 **Serveur Apache opérationnel avec redirection HTTPS via Solstice** 🔹 **Redirections de port fonctionnelles et persistantes** 🔹 **Sécurisation avec Fail2Ban et DNSSEC activé** 🔹 **Site web disponible et sécurisé en HTTPS**

---

Tout est fonctionnel, et après plusieurs défis techniques (problèmes de configurations Apache, persistance des règles iptables, DNSSEC...), **Apollo est maintenant pleinement opérationnel !** 🚀