Setup de l'environnement
Auteur : Thibaut Fontaine — Kodetis Dernière mise à jour : 2026
Introduction
Section intitulée « Introduction »Cette page prépare l’environnement complet des TP TAAF : vous démarrez les VMs (cœur puis
labs bonus) au fur et à mesure des actes, via Vagrant (environnement identique et
reproductible). Alternative clé-en-main en salle sans réseau : la golden box USB
préprovisionnée (repo server, BUILD-GOLDEN-BOX.md).
1. Architecture & inventaire
Section intitulée « 1. Architecture & inventaire »Modèle crescendo : on ajoute des VMs acte après acte, toutes sur le même sous-réseau
privé (relevez les IP avec hostname -I — notées IP_VM2, IP_SOC, IP_AUDIT dans les TPs).
L’inventaire ci-dessous est votre point d’entrée unique — VMs cœur + labs bonus.
| VM / Lab | Hostname | Acte · TP | RAM | Déploiement | Type |
|---|---|---|---|---|---|
monitoring | TAAF-MONITORING-001 | Acte 1 | 6 GB | vagrant up monitoring | cœur |
soc | TAAF-SOC-01 | Acte 2 | 3 GB | vagrant up soc | cœur |
audit | TAAF-AUDIT-001 | Acte 3 | 2 GB | vagrant up audit | cœur |
concordia (Zabbix proxy) | TAAF-CDA-001 | Acte 1 · TP6/TP7 | 2 GB | vagrant up concordia | bonus |
| Zabbix Server | sur monitoring | Acte 1 · TP6/TP7 | (incl.) | stack Docker zabbix-server-lab | bonus |
| Active Directory (DC) | KDS-WIN-AD-001 | Acte 2 · Acte 3 | ~4 GB | VM Windows manuelle + scripts PS | bonus |
| Wazuh | sur soc | Acte 2 | +4 GB | stack Docker sur la VM SOC | bonus |
- À l’intérieur de chaque VM Linux, les services tournent en conteneurs Docker (sauf Falco, installé nativement sur l’hôte).
- Vous accédez aux services depuis votre navigateur via l’IP de la VM (ex.
http://IP_VM2:3000pour Grafana), ou via Caddy (*.univ-taaf.internal, bonus).
2. Logiciels requis
Section intitulée « 2. Logiciels requis »Le provider de virtualisation dépend de l’architecture de votre machine.
Vagrant (toutes plateformes)
Section intitulée « Vagrant (toutes plateformes) »| OS | Installation |
|---|---|
| Windows | vagrantup.com |
| macOS | brew install vagrant |
| Linux (Debian/Ubuntu) | sudo apt install vagrant |
vagrant --version # Vagrant 2.4.xProvider — Windows / Linux / Mac Intel (x86_64)
Section intitulée « Provider — Windows / Linux / Mac Intel (x86_64) »Vous utilisez VirtualBox.
| OS | Installation |
|---|---|
| Windows | virtualbox.org |
| Linux (Debian/Ubuntu) | sudo apt install virtualbox |
| macOS Intel | brew install --cask virtualbox |
Provider — Mac Apple Silicon (M1/M2/M3/M4 — arm64)
Section intitulée « Provider — Mac Apple Silicon (M1/M2/M3/M4 — arm64) »VirtualBox ne convient pas sur Apple Silicon. Vous utilisez QEMU + le plugin
vagrant-qemu.
# 1. QEMUbrew install qemu
# 2. Plugin Vagrant pour QEMUvagrant plugin install vagrant-qemuqemu-system-aarch64 --version # QEMU 8+ (idéalement 9+)vagrant plugin list # doit lister vagrant-qemu3. Récupérer l’infra
Section intitulée « 3. Récupérer l’infra »git clone https://gitlab.com/kds-formation/server.gitcd server/manualLes VMs Linux sont nues : Ubuntu + user
taaf-user/Taaf123+git,docker,curl. Aucun service n’est pré-installé — vous les déployez vous-même en installation des services.
4. VMs cœur — démarrage par acte
Section intitulée « 4. VMs cœur — démarrage par acte »On démarre uniquement la VM dont l’acte en cours a besoin.
# Acte 1 — Monitoring (SI observé + observabilité)vagrant up monitoring
# Acte 2 — SIEM (VM nue, à monter soi-même)vagrant up soc
# Acte 3 — Audit / Purple Teamvagrant up auditAu premier lancement, Vagrant télécharge la box de base puis installe Docker. Les lancements suivants sont quasi instantanés.
graph TB subgraph NET["Réseau privé commun (IP relevées par l'étudiant)"] VM2["taaf-monitoring-001 · IP_VM2
SI observé + observabilité
PostgreSQL · NextCloud · Grafana · Prometheus · Loki · Alloy · Falco"] VM3["taaf-soc-01 · IP_SOC
SOC Grafana-natif
Falco · Suricata · Sigma · Alerting"] VM4["taaf-audit-001 · IP_AUDIT
Toolbox audit"] VM3 -->|"détections vers Loki (VM monitoring)"| VM2 VM4 -->|"scans et attaques"| VM2 end BROWSER["Navigateur étudiant"] -->|"Grafana 3000"| VM2 DISCORD(["Discord"]) VM3 -->|"alertes par sévérité"| DISCORD
Ressources des VMs cœur
Section intitulée « Ressources des VMs cœur »| VM | RAM | CPU | Services | Statut |
|---|---|---|---|---|
monitoring | 6 GB | 2 | SI observé (PostgreSQL base_af, NextCloud) + observabilité (Grafana, Prometheus, Loki, Alloy, cAdvisor) | ✅ à déployer |
soc | 3 GB | 2 | SOC Grafana-natif (Falco/Suricata/Sigma/Alerting) | 🚧 monté par l’étudiant (Acte 2) |
audit | 2 GB | 2 | Toolbox (nmap, lynis, syft, grype…) | ✅ à déployer |
5. VMs / labs bonus
Section intitulée « 5. VMs / labs bonus »Ces labs étendent l’environnement pour les TPs avancés. Démarrez-les uniquement quand le TP correspondant le demande, et selon les ressources de votre machine.
Zabbix — supervision SNMP (Acte 1 · TP6/TP7)
Section intitulée « Zabbix — supervision SNMP (Acte 1 · TP6/TP7) »Deux briques : le serveur Zabbix (sur monitoring) et un proxy SNMP sur la VM
bonus concordia (Dôme C, derrière le lien Inmarsat BGAN).
# 1. La VM proxy Concordia (Zabbix Proxy + snmpsim)vagrant up concordiavagrant ssh concordiagit clone https://gitlab.com/kds-formation/zabbix-lab.gitcd zabbix-lab/zabbix-proxy-lab && make upLe serveur Zabbix se monte sur la VM monitoring depuis le même dépôt
(zabbix-lab/zabbix-server-lab, console sur le port 8080). La console SCADA du lab
Concordia est exposée sur http://localhost:3001.
Active Directory — DC Windows (Acte 2 · SIEM Windows + Acte 3 · audit AD)
Section intitulée « Active Directory — DC Windows (Acte 2 · SIEM Windows + Acte 3 · audit AD) »Un contrôleur de domaine Windows Server KDS-WIN-AD-001, domaine univ-taaf.internal.
Elle sert à deux moments :
- Acte 2 — intégration des journaux Windows/AD dans le SIEM (events
4624,4728,4698…). - Acte 3 — audit Active Directory (PingCastle, BloodHound).
Wazuh — HIDS (bonus Acte 2)
Section intitulée « Wazuh — HIDS (bonus Acte 2) »Stack Docker bonus déployée sur la VM soc, avec un agent poussé sur l’AD
(Deploy-Wazuh-Agent.ps1).
6. Accès aux services
Section intitulée « 6. Accès aux services »L’accès se fait par l’IP de la VM depuis votre navigateur.
| Service | VM | URL | Identifiants |
|---|---|---|---|
| Grafana | monitoring | http://IP_VM2:3000 | admin / AdminTAAF2024! |
| Prometheus | monitoring | http://IP_VM2:9090 | — |
| NextCloud | monitoring | http://IP_VM2:8081 | (voir TP) |
| Zabbix (serveur) | monitoring | http://IP_VM2:8080 | (voir TP6) |
| SOC (Grafana) | soc | http://IP_SOC:3000 | admin / (voir TP) |
| Console lab Concordia | concordia | http://localhost:3001 | — |
Pour la toolbox d’audit, entrez dans le conteneur :
vagrant ssh auditdocker exec -it taaf-audit-toolbox bash7. Vérification
Section intitulée « 7. Vérification »vagrant status # état de toutes les VMsvagrant ssh monitoring # se connecter à une VMvagrant ssh monitoring -c "docker compose ps" # état des conteneurs8. Commandes utiles
Section intitulée « 8. Commandes utiles »| Commande | Description |
|---|---|
vagrant up <machine> | Démarrer une VM |
vagrant halt <machine> | Arrêter une VM |
vagrant ssh <machine> | Se connecter en SSH |
vagrant status | État de toutes les VMs |
vagrant destroy <machine> | Supprimer une VM |
vagrant provision <machine> | Relancer le provisionnement |
9. Dépannage
Section intitulée « 9. Dépannage »(Apple Silicon) Erreur « Addressing limited to 32 bits »
Section intitulée « (Apple Silicon) Erreur « Addressing limited to 32 bits » »Cette erreur vient d’une box demandant plus de 3 Go avec QEMU. Le Vagrantfile du
dépôt gère déjà cela (highmem=on). Assurez-vous d’avoir la dernière version du dépôt :
git pullvagrant destroy <machine> && vagrant up <machine>(Apple Silicon) Le plugin QEMU n’est pas trouvé
Section intitulée « (Apple Silicon) Le plugin QEMU n’est pas trouvé »vagrant plugin install vagrant-qemuvagrant plugin list # vérifier la présence de vagrant-qemu(x86) Erreur de virtualisation
Section intitulée « (x86) Erreur de virtualisation »Vérifiez que la virtualisation matérielle est activée dans le BIOS (VT-x pour Intel, AMD-V pour AMD).
Un service ne répond pas sur l’IP de la VM
Section intitulée « Un service ne répond pas sur l’IP de la VM »# Vérifier que les conteneurs tournentvagrant ssh <machine> -c "docker compose ps"
# Vérifier la connectivité inter-VM (depuis une autre VM)ping IP_VM2nc -zv IP_VM2 5432
# Relancer le provisionnementvagrant provision <machine>Espace disque insuffisant
Section intitulée « Espace disque insuffisant »df -hvagrant box prune # nettoyer les boxes obsolètes