Aller au contenu
TAAF-OPS --:-- UTC

Setup de l'environnement

Version Vagrant VirtualBox QEMU

Auteur : Thibaut Fontaine — Kodetis Dernière mise à jour : 2026


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).


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 / LabHostnameActe · TPRAMDéploiementType
monitoringTAAF-MONITORING-001Acte 16 GBvagrant up monitoringcœur
socTAAF-SOC-01Acte 23 GBvagrant up soccœur
auditTAAF-AUDIT-001Acte 32 GBvagrant up auditcœur
concordia (Zabbix proxy)TAAF-CDA-001Acte 1 · TP6/TP72 GBvagrant up concordiabonus
Zabbix Serversur monitoringActe 1 · TP6/TP7(incl.)stack Docker zabbix-server-labbonus
Active Directory (DC)KDS-WIN-AD-001Acte 2 · Acte 3~4 GBVM Windows manuelle + scripts PSbonus
Wazuhsur socActe 2+4 GBstack Docker sur la VM SOCbonus
  • À 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:3000 pour Grafana), ou via Caddy (*.univ-taaf.internal, bonus).

Le provider de virtualisation dépend de l’architecture de votre machine.

OSInstallation
Windowsvagrantup.com
macOSbrew install vagrant
Linux (Debian/Ubuntu)sudo apt install vagrant
Fenêtre de terminal
vagrant --version # Vagrant 2.4.x

Vous utilisez VirtualBox.

OSInstallation
Windowsvirtualbox.org
Linux (Debian/Ubuntu)sudo apt install virtualbox
macOS Intelbrew 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.

Fenêtre de terminal
# 1. QEMU
brew install qemu
# 2. Plugin Vagrant pour QEMU
vagrant plugin install vagrant-qemu
Fenêtre de terminal
qemu-system-aarch64 --version # QEMU 8+ (idéalement 9+)
vagrant plugin list # doit lister vagrant-qemu

Fenêtre de terminal
git clone https://gitlab.com/kds-formation/server.git
cd server/manual

Les 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.


On démarre uniquement la VM dont l’acte en cours a besoin.

Fenêtre de terminal
# 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 Team
vagrant up audit

Au 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
VMRAMCPUServicesStatut
monitoring6 GB2SI observé (PostgreSQL base_af, NextCloud) + observabilité (Grafana, Prometheus, Loki, Alloy, cAdvisor)✅ à déployer
soc3 GB2SOC Grafana-natif (Falco/Suricata/Sigma/Alerting)🚧 monté par l’étudiant (Acte 2)
audit2 GB2Toolbox (nmap, lynis, syft, grype…)✅ à déployer

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.

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).

Fenêtre de terminal
# 1. La VM proxy Concordia (Zabbix Proxy + snmpsim)
vagrant up concordia
vagrant ssh concordia
git clone https://gitlab.com/kds-formation/zabbix-lab.git
cd zabbix-lab/zabbix-proxy-lab && make up

Le 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).

Stack Docker bonus déployée sur la VM soc, avec un agent poussé sur l’AD (Deploy-Wazuh-Agent.ps1).


L’accès se fait par l’IP de la VM depuis votre navigateur.

ServiceVMURLIdentifiants
Grafanamonitoringhttp://IP_VM2:3000admin / AdminTAAF2024!
Prometheusmonitoringhttp://IP_VM2:9090
NextCloudmonitoringhttp://IP_VM2:8081(voir TP)
Zabbix (serveur)monitoringhttp://IP_VM2:8080(voir TP6)
SOC (Grafana)sochttp://IP_SOC:3000admin / (voir TP)
Console lab Concordiaconcordiahttp://localhost:3001

Pour la toolbox d’audit, entrez dans le conteneur :

Fenêtre de terminal
vagrant ssh audit
docker exec -it taaf-audit-toolbox bash

Fenêtre de terminal
vagrant status # état de toutes les VMs
vagrant ssh monitoring # se connecter à une VM
vagrant ssh monitoring -c "docker compose ps" # état des conteneurs

CommandeDescription
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

(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 :

Fenêtre de terminal
git pull
vagrant 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é »
Fenêtre de terminal
vagrant plugin install vagrant-qemu
vagrant plugin list # vérifier la présence de vagrant-qemu

Vérifiez que la virtualisation matérielle est activée dans le BIOS (VT-x pour Intel, AMD-V pour AMD).

Fenêtre de terminal
# Vérifier que les conteneurs tournent
vagrant ssh <machine> -c "docker compose ps"
# Vérifier la connectivité inter-VM (depuis une autre VM)
ping IP_VM2
nc -zv IP_VM2 5432
# Relancer le provisionnement
vagrant provision <machine>
Fenêtre de terminal
df -h
vagrant box prune # nettoyer les boxes obsolètes