Skip to content

Instantly share code, notes, and snippets.

@stephdl
Last active April 30, 2026 07:04
Show Gist options
  • Select an option

  • Save stephdl/56e821d10c6eb24cd9a1d3aa1cc1cc87 to your computer and use it in GitHub Desktop.

Select an option

Save stephdl/56e821d10c6eb24cd9a1d3aa1cc1cc87 to your computer and use it in GitHub Desktop.
# TP Koffi — Système d'information multi-sites

Fiche synthèse — Système d'information multi-sites

Vue d'ensemble

Dans cet exercice, tu vas construire de zéro un système d'information complet qui simule deux entreprises reliées entre elles via Internet. Tu vas jouer le rôle de l'administrateur réseau et système responsable de toute l'infrastructure.

L'objectif final : deux bureaux (Paris et Nantes) peuvent se parler de façon sécurisée via un tunnel VPN, des serveurs sont accessibles depuis Internet, et les utilisateurs s'authentifient via un annuaire centralisé.


Schéma réseau global

                        ┌─────────────────────────────────────┐
                        │     RÉSEAU INTERNET SIMULÉ          │
                        │        194.0.0.0/16                 │
                        │                                     │
   194.0.1.1            │  194.0.0.1        194.0.0.2         │           194.0.2.1
  ┌──────────┐          │ ┌──────────┐    ┌──────────┐        │          ┌──────────┐
  │ pfSense  │          │ │ Serveur  │    │  OpenWrt │        │          │ pfSense  │
  │  PARIS   │◄─────────┤ │  Linux   │    │  Road    │        ├─────────►│  NANTES  │
  │ WAN:     │          │ │  DMZ     │    │ Warrior  │        │          │ WAN:     │
  │194.0.1.1 │          │ │194.0.0.1 │    │194.0.2.1 │        │          │194.0.3.1 │
  └────┬─────┘          │ └──────────┘    └──────────┘        │          └────┬─────┘
       │                └─────────────────────────────────────┘               │
       │ LAN                                                               LAN │
       │ 10.10.0.1                                                 10.20.0.1  │
       ▼                                                                       ▼
  ┌─────────────────────┐                                    ┌─────────────────────┐
  │   RÉSEAU PARIS      │                                    │   RÉSEAU NANTES     │
  │   10.10.0.0/16      │   ◄══════ VPN IPsec ══════►       │   10.20.0.0/16      │
  │                     │                                    │                     │
  │ Windows Server 2025 │                                    │ Client Windows      │
  │ (AD DS)             │                                    │ 10.20.0.x (DHCP)    │
  │ 10.10.0.10          │                                    │                     │
  │                     │                                    │ [RODC optionnel]    │
  │ Client Windows      │                                    │ 10.20.0.20          │
  │ 10.10.0.x (DHCP)    │                                    └─────────────────────┘
  └─────────────────────┘

Plan d'adressage complet

⚠️ Note pédagogique sur les adresses IP

Les adresses du réseau 194.0.0.0/16 utilisées ici sont des adresses IP publiques réelles, attribuées à des organisations en Europe. Dans un vrai environnement, tu ne pourrais pas les utiliser librement. Dans notre lab VirtualBox, ces adresses restent strictement confinées à ta machine et ne sortent jamais sur Internet. C'est une convention pédagogique qui t'habitue à travailler avec des adresses publiques tout en restant en sécurité.

Réseau Internet simulé — 194.0.0.0/16

Hôte IP Rôle
Serveur Linux DMZ 194.0.0.1 WordPress, GLPI, Dolibarr
pfSense Paris (WAN) 194.0.1.1 Passerelle site Paris
pfSense Nantes (WAN) 194.0.3.1 Passerelle site Nantes
OpenWrt Road Warrior 194.0.2.1 Télétravailleur VPN

Réseau interne Paris — 10.10.0.0/16

Hôte IP Rôle
pfSense Paris (LAN) 10.10.0.1 Passerelle + DHCP
Windows Server 2025 10.10.0.10 AD DS, DNS
Client Windows Paris DHCP 10.10.1.x Poste utilisateur

Réseau interne Nantes — 10.20.0.0/16

Hôte IP Rôle
pfSense Nantes (LAN) 10.20.0.1 Passerelle + DHCP
Client Windows Nantes DHCP 10.20.1.x Poste utilisateur
RODC Nantes (optionnel) 10.20.0.20 Contrôleur de domaine en lecture

Réseaux VirtualBox à créer

Nom réseau VirtualBox Type VBox Plage IP Utilisé par
internet-lab NAT Network 194.0.0.0/16 Tous les WAN + DMZ
lan-paris Internal Network 10.10.0.0/16 pfSense Paris LAN + VMs Paris
lan-nantes Internal Network 10.20.0.0/16 pfSense Nantes LAN + VMs Nantes

Les réseaux Internal Network de VirtualBox sont complètement isolés : les VMs peuvent se parler entre elles sur ce réseau, mais elles n'ont aucun accès à ta machine hôte ni à Internet. C'est exactement ce qu'on veut pour simuler des réseaux privés d'entreprise.


Liste des machines virtuelles

VM OS CPU RAM Disque Réseau(x)
srv-dmz Debian 13 2 2 Go 20 Go internet-lab
pfsense-paris pfSense CE 1 1 Go 8 Go internet-lab + lan-paris
pfsense-nantes pfSense CE 1 1 Go 8 Go internet-lab + lan-nantes
srv-paris Windows Server 2025 2 4 Go 60 Go lan-paris
client-paris Windows 11 2 4 Go 50 Go lan-paris
client-nantes Windows 11 2 4 Go 50 Go lan-nantes
openwrt-rw OpenWrt 1 512 Mo 4 Go internet-lab
rodc-nantes (optionnel) Windows Server 2025 2 2 Go 40 Go lan-nantes

Conseil matériel : cet environnement est gourmand. Prévois au minimum 16 Go de RAM sur ta machine hôte. Tu n'as pas besoin de tout démarrer en même temps — on procède module par module.


Ordre de réalisation recommandé

Module 1 → Créer les réseaux VirtualBox
Module 2 → Installer et configurer pfSense Paris et Nantes
Module 3 → Monter le serveur Linux DMZ (Debian 13)
Module 4 → Configurer le VPN IPsec site-à-site
Module 5 → Installer Windows Server 2025 + Active Directory
Module 6 ⭐ → RODC Nantes + Road Warrior OpenWrt (défi optionnel)

Compétences que tu vas acquérir

  • Concevoir un plan d'adressage réseau multi-sites
  • Configurer des réseaux virtuels sous VirtualBox
  • Administrer un pare-feu pfSense (interfaces, DHCP, NAT, règles)
  • Sécuriser un serveur Linux exposé sur Internet (UFW + CrowdSec)
  • Déployer des applications web (WordPress, GLPI, Dolibarr)
  • Mettre en place un tunnel VPN IPsec site-à-site
  • Installer et administrer un Active Directory Windows Server 2025
  • (Bonus) Comprendre le rôle d'un RODC et configurer un accès VPN nomade

Bonne chance — ce lab est ambitieux, mais chaque étape est guidée. Prends le temps de comprendre ce que tu fais avant de passer à la suivante.

Module 1 — Création des réseaux VirtualBox

Objectif

Avant de créer la moindre machine virtuelle, tu vas préparer l'infrastructure réseau dans VirtualBox. C'est comme poser les câbles et les switches dans une vraie salle serveur : si le réseau n'est pas là, rien ne peut se connecter.

À la fin de ce module, tu auras trois réseaux virtuels prêts à accueillir tes machines :

  • Un réseau qui simule Internet
  • Un réseau privé pour le bureau de Paris
  • Un réseau privé pour le bureau de Nantes

Concept — Les types de réseau dans VirtualBox

VirtualBox propose plusieurs façons de connecter des machines virtuelles entre elles et vers l'extérieur. Voici les trois qui t'intéressent ici :

NAT Network (Réseau NAT)

Pense à un réseau NAT comme à une box Internet dans ta machine. Les VMs connectées dessus peuvent :

  • Communiquer entre elles
  • Accéder à Internet via ta machine hôte
  • Être joignables les unes des autres par leur IP

C'est ce qu'on utilisera pour simuler Internet : toutes les machines qui ont une IP "publique" en 194.0.0.0/16 seront sur ce réseau.

Pourquoi pas juste "NAT" simple ? Le NAT simple dans VirtualBox isole chaque VM dans sa propre bulle : elles peuvent aller sur Internet, mais elles ne se voient pas entre elles. Le NAT Network permet la communication inter-VMs, ce qu'on a absolument besoin ici.

Internal Network (Réseau interne)

C'est un réseau complètement isolé, comme un switch d'entreprise coupé du monde. Les VMs connectées dessus :

  • Se voient entre elles
  • N'ont aucun accès à ta machine hôte
  • N'ont aucun accès à Internet

C'est exactement ce qu'on veut pour les réseaux privés de Paris et Nantes. Le DHCP sera fourni par pfSense, pas par VirtualBox.


Exercice 1.1 — Créer le réseau NAT "internet-lab"

Ce réseau simulera Internet. Les pfSense et le serveur Linux DMZ y auront une patte.

Étape 1 — Ouvrir le gestionnaire de réseaux

  1. Lance VirtualBox
  2. Dans le menu du haut, clique sur FichierOutilsNetwork Manager (ou Gestionnaire de réseau)
  3. Clique sur l'onglet NAT Networks

Étape 2 — Créer le réseau

  1. Clique sur le bouton Créer (icône +)
  2. Un réseau apparaît avec un nom générique. Double-clique dessus pour le renommer
  3. Configure-le comme suit :
Paramètre Valeur
Nom internet-lab
Préfixe IPv4 194.0.0.0/16
DHCP Désactivé
IPv6 Désactivé

Pourquoi désactiver le DHCP ? Dans notre simulation, chaque machine aura une IP fixe configurée manuellement. On ne veut pas que VirtualBox attribue des adresses à notre place — c'est le rôle des pfSense pour les réseaux internes, et les IPs "publiques" seront configurées statiquement.

  1. Clique sur Appliquer

Vérification ✅

Dans la liste des NAT Networks, tu dois voir internet-lab avec le préfixe 194.0.0.0/16.


Exercice 1.2 — Créer le réseau interne "lan-paris"

Ce réseau isolé représente le réseau local du bureau de Paris.

Étape 1

Dans le Network Manager, clique cette fois sur l'onglet Host-only Networks...

Attends — en fait, pour un Internal Network, il n'y a pas d'interface graphique dans le Network Manager. Les réseaux internes se créent directement lors de la configuration de chaque VM. Il suffit de taper le même nom dans toutes les VMs qui doivent se trouver sur ce réseau — VirtualBox s'occupe du reste.

On reviendra donc à ce réseau lors de la configuration des VMs pfSense et Windows. Retiens simplement les noms :

Réseau Nom à utiliser dans VBox Plage IP gérée par
Internet simulé internet-lab (NAT Network) Manuel (IP fixes)
LAN Paris lan-paris (Internal Network) pfSense Paris (DHCP)
LAN Nantes lan-nantes (Internal Network) pfSense Nantes (DHCP)

Exercice 1.3 — Télécharger les ISO nécessaires

Profite de ce temps de préparation pour récupérer toutes les images dont tu auras besoin.

Debian 13 (Trixie)

  1. Va sur https://www.debian.org/download
  2. Télécharge l'image netinst (installation minimale, ~400 Mo) pour amd64
  3. Note le chemin où tu l'as sauvegardée

pfSense CE

  1. Va sur https://www.pfsense.org/download/
  2. Sélectionne :
    • Architecture : AMD64 (64-bit)
    • Installer : DVD Image (ISO) Installer
  3. Télécharge et note le chemin

Windows Server 2025

  1. Va sur https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-2025
  2. Télécharge la version d'évaluation 180 jours (ISO, ~5 Go)
  3. Note le chemin

Windows 11

  1. Va sur https://www.microsoft.com/fr-fr/software-download/windows11
  2. Télécharge l'outil de création de média et génère un ISO
  3. Note le chemin

OpenWrt

  1. Va sur https://openwrt.org/downloads
  2. Cherche la dernière version stable, image x86/64, format combined-ext4 ou combined-squashfs
  3. Télécharge l'image .img.gz et décompresse-la
  4. Note le chemin

Récapitulatif du module 1

Tu as maintenant :

  • Le réseau NAT internet-lab créé dans VirtualBox (194.0.0.0/16, DHCP désactivé)
  • Compris le fonctionnement des Internal Networks (lan-paris, lan-nantes)
  • Téléchargé tous les ISO nécessaires

➡ Tu peux passer au Module 2 : Installation et configuration des pfSense.


Pour aller plus loin

Si tu veux en savoir plus sur les modes réseau de VirtualBox, la documentation officielle est très bien faite : https://www.virtualbox.org/manual/ch06.html

Module 2 — Installation et configuration des pfSense

Objectif

Dans ce module, tu vas installer et configurer les deux pare-feux pfSense qui servent de passerelles pour les bureaux de Paris et de Nantes. Chaque pfSense a deux pattes réseau :

  • Une patte côté "Internet" (194.0.x.x) — c'est l'interface WAN
  • Une patte côté réseau interne (10.10.x.x ou 10.20.x.x) — c'est l'interface LAN

À la fin de ce module, les machines derrière chaque pfSense auront accès à Internet (simulé) et se verront entre elles.


Concept — Qu'est-ce qu'un pare-feu / passerelle ?

Un pare-feu (firewall) est un équipement qui filtre le trafic réseau entre deux zones. Il décide ce qui peut passer et ce qui doit être bloqué.

Une passerelle (gateway) est le point de sortie d'un réseau local vers l'extérieur. C'est l'adresse que tu configures sur tes postes quand tu leur dis "pour aller quelque part que tu ne connais pas, passe par là".

pfSense cumule les deux rôles : c'est un pare-feu open source qui fait aussi routeur, DHCP, VPN, et bien plus. Il tourne sur un OS basé sur FreeBSD et se configure via une interface web.

Poste Paris                pfSense Paris              Internet simulé
10.10.0.50  ────────────►  LAN: 10.10.0.1  ─────────►  WAN: 194.0.1.1
             "je veux aller                "je transmets
              sur 194.0.0.1"                et je filtre"

Exercice 2.1 — Créer la VM pfSense Paris

Étape 1 — Nouvelle machine virtuelle

  1. Dans VirtualBox, clique sur Nouvelle
  2. Configure les paramètres de base :
Paramètre Valeur
Nom pfsense-paris
Type BSD
Version FreeBSD (64-bit)
RAM 1024 Mo
Disque dur Créer un nouveau disque VDI, 8 Go

Étape 2 — Configurer les interfaces réseau

C'est la partie la plus importante : pfSense a besoin de deux cartes réseau.

  1. Dans les paramètres de la VM, va dans Réseau
  2. Adaptateur 1 (ce sera le WAN) :
    • Activer : ✓
    • Mode d'accès réseau : Réseau NAT
    • Nom : internet-lab
  3. Adaptateur 2 (ce sera le LAN) :
    • Activer : ✓
    • Mode d'accès réseau : Réseau interne
    • Nom : lan-paris (tape exactement ce nom, VirtualBox le crée automatiquement)

Étape 3 — Monter l'ISO pfSense

  1. Dans les paramètres, va dans Stockage
  2. Clique sur le lecteur optique (icône CD)
  3. Sélectionne l'ISO pfSense que tu as téléchargé au module 1

Exercice 2.2 — Installer pfSense

  1. Démarre la VM pfsense-paris
  2. L'installeur pfSense démarre automatiquement. Accepte les conditions de licence
  3. Choisis Install pfSense
  4. Sélectionne la disposition clavier French (accent keys)
  5. Pour le partitionnement, choisis Auto (ZFS)Stripe → sélectionne ton disque (ada0) → YES pour confirmer l'effacement
  6. L'installation se lance (quelques minutes)
  7. À la fin, choisis Reboot
  8. Retire l'ISO du lecteur optique avant le redémarrage (paramètres → stockage → éjecter)

Exercice 2.3 — Configuration initiale des interfaces

Au premier démarrage, pfSense te pose quelques questions dans la console (interface texte).

Assignation des interfaces

pfSense détecte tes deux cartes réseau. Il te demande de les assigner :

Valid interfaces are:
em0   xx:xx:xx:xx:xx:xx  (l'adaptateur 1 — internet-lab)
em1   xx:xx:xx:xx:xx:xx  (l'adaptateur 2 — lan-paris)

Should VLANs be set up now? → n
Enter the WAN interface name → em0
Enter the LAN interface name → em1

Comment identifier quelle carte est laquelle ? VirtualBox attribue les cartes dans l'ordre : Adaptateur 1 = em0, Adaptateur 2 = em1. En cas de doute, note les adresses MAC dans les paramètres VirtualBox et compare.

Configuration de l'IP WAN (interface "internet")

Une fois au menu principal de pfSense (les 16 options numérotées), choisis 2 — Set interface(s) IP address.

Configure l'interface WAN :

Paramètre Valeur
Interface WAN (em0)
IPv4 via DHCP ? N
Adresse IPv4 194.0.1.1
Masque de sous-réseau (CIDR) 16
Passerelle IPv4 (laisser vide — pfSense est lui-même la "sortie")
IPv6 via DHCP ? N
IPv6 address (laisser vide)

Pourquoi pas de passerelle sur le WAN ? Dans notre simulation, il n'y a pas de "vrai" routeur Internet au-dessus. Les deux pfSense se voient directement sur le même réseau NAT VirtualBox. On ajoutera les routes nécessaires pour le VPN plus tard.

Configuration de l'IP LAN

Configure ensuite l'interface LAN :

Paramètre Valeur
Interface LAN (em1)
IPv4 via DHCP ? N
Adresse IPv4 10.10.0.1
Masque de sous-réseau (CIDR) 16
Activer le serveur DHCP ? Y
Plage DHCP début 10.10.1.1
Plage DHCP fin 10.10.1.254

Exercice 2.4 — Accéder à l'interface web de pfSense

pfSense se configure principalement via son interface web (webConfigurator). Pour y accéder, tu as besoin d'une machine sur le réseau lan-paris.

Option pratique pour le lab

La façon la plus simple est d'ajouter temporairement un adaptateur Host-Only à pfSense pour accéder à l'interface web depuis ta machine hôte. Mais une approche plus propre et pédagogique est de passer par le client Windows que tu installeras au module 5.

Pour l'instant, tu peux continuer la configuration de base depuis la console pfSense (option 2 du menu). Nous reviendrons sur l'interface web lors du module 5, quand le client Windows sera disponible.

Astuce : Tu peux aussi créer une VM Debian minimale temporaire avec un bureau graphique, la connecter sur lan-paris, et accéder à http://10.10.0.1 depuis son navigateur. C'est une technique courante en lab.


Exercice 2.5 — Créer la VM pfSense Nantes

Répète exactement les mêmes étapes que pour Paris, avec les valeurs suivantes :

Paramètre Valeur
Nom VM pfsense-nantes
Adaptateur 1 (WAN) NAT Network internet-lab
Adaptateur 2 (LAN) Internal Network lan-nantes
IP WAN 194.0.3.1
Masque WAN 16
IP LAN 10.20.0.1
Masque LAN 16
Plage DHCP début 10.20.1.1
Plage DHCP fin 10.20.1.254

Exercice 2.6 — Configuration de l'interface web pfSense (Paris)

Une fois que tu as un poste client sur lan-paris (module 5), connecte-toi à l'interface web :

  1. Ouvre un navigateur sur le client Windows Paris
  2. Va sur http://10.10.0.1
  3. Identifiants par défaut :
    • Login : admin
    • Mot de passe : pfsense

Assistant de configuration initiale

pfSense lance un assistant. Configure-le comme suit :

Étape Valeur
Hostname pfsense-paris
Domain si-lab.local
DNS primaire 8.8.8.8
DNS secondaire 8.8.4.4
Fuseau horaire Europe/Paris
WAN — IP 194.0.1.1 / 16 (vérification)
LAN — IP 10.10.0.1 / 16 (vérification)
Mot de passe admin Choisis un mot de passe fort et note-le

Règles de base à vérifier

Dans Firewall → Rules → LAN, vérifie qu'il existe une règle qui autorise tout le trafic sortant depuis le LAN. Elle est créée par défaut et ressemble à :

Action : Pass
Interface : LAN
Source : LAN net
Destination : any

Cette règle permet à tes machines internes de communiquer vers l'extérieur. C'est voulu pour un lab — en production, on serait beaucoup plus restrictif.


Exercice 2.7 — Vérification de la connectivité

Depuis la console pfSense (option 7 — Ping host), teste :

Depuis pfsense-paris :
→ Ping 194.0.3.1 (pfSense Nantes)     doit répondre ✓
→ Ping 194.0.0.1 (Serveur DMZ)        doit répondre ✓ (une fois le module 3 fait)

Depuis un client Windows sur lan-paris :

→ Ping 10.10.0.1 (pfSense Paris LAN)  doit répondre ✓
→ Ping 194.0.0.1                       doit répondre ✓ (grâce au NAT pfSense)

Récapitulatif du module 2

Tu as maintenant :

  • pfsense-paris installé avec WAN 194.0.1.1 et LAN 10.10.0.1
  • pfsense-nantes installé avec WAN 194.0.3.1 et LAN 10.20.0.1
  • DHCP actif sur les deux LAN
  • Connectivité entre les deux pfSense sur le réseau internet simulé

➡ Tu peux passer au Module 3 : Le serveur Linux en DMZ.

Module 3 — Serveur Linux DMZ (Debian 13)

Objectif

Tu vas monter un serveur Linux exposé sur le réseau Internet simulé. Il héberge trois applications web utilisées en entreprise :

  • WordPress — site/intranet de communication interne
  • GLPI — gestion du parc informatique et des tickets de support
  • Dolibarr — ERP/CRM (gestion commerciale, facturation)

Ce serveur sera protégé par :

  • UFW — un pare-feu applicatif simple à configurer
  • CrowdSec — un système de détection et blocage des attaques

Concept — C'est quoi une DMZ ?

DMZ signifie Demilitarized Zone — zone démilitarisée. Dans un réseau d'entreprise, c'est une zone intermédiaire entre Internet et le réseau interne, où on place les serveurs qui doivent être accessibles depuis l'extérieur.

Internet ──► DMZ (serveurs web, mail...) ──► Réseau interne (bloqué par défaut)

L'idée : si un attaquant compromet un serveur en DMZ, il se retrouve dans une zone isolée et ne peut pas facilement accéder au réseau interne. Dans notre lab, le serveur srv-dmz est directement sur le réseau "internet simulé" — c'est une DMZ simplifiée.


Exercice 3.1 — Créer la VM Debian 13

Création de la VM

Paramètre Valeur
Nom srv-dmz
Type Linux
Version Debian (64-bit)
RAM 2048 Mo
Disque VDI, 20 Go
Réseau Adaptateur 1 NAT Network internet-lab

Monte l'ISO Debian 13 netinst dans le lecteur optique.


Exercice 3.2 — Installer Debian 13

Lance la VM et suis l'installation graphique de Debian :

  1. Langue : Français
  2. Pays : France
  3. Clavier : Français
  4. Hostname : srv-dmz
  5. Domaine : si-lab.local
  6. Mot de passe root : choisis-en un fort, note-le
  7. Compte utilisateur : tu peux en créer un, mais dans ce lab on travaille en root
  8. Partitionnement : Assisté, disque entier, tout dans une seule partition
  9. Miroir Debian : choisis un miroir français (ex: deb.debian.org)
  10. Sélection des logiciels : décoche tout sauf Utilitaires usuels du système et Serveur SSH

On installe un serveur minimal. Pas d'interface graphique — tout se fait en ligne de commande. C'est la bonne pratique pour un serveur de production.


Exercice 3.3 — Configurer l'IP statique

Debian a besoin d'une IP fixe sur le réseau "internet simulé".

Connecte-toi en root, puis édite le fichier de configuration réseau :

nano /etc/network/interfaces

Remplace le contenu existant pour l'interface enp0s3 (ou le nom que Debian a donné à ta carte réseau — vérifie avec ip link) par :

auto enp0s3
iface enp0s3 inet static
    address 194.0.0.1
    netmask 255.255.0.0
    gateway 194.0.1.1

Pourquoi 194.0.1.1 comme passerelle ? Le serveur DMZ est sur Internet. Pour joindre le reste du monde (ou simuler un accès vers les réseaux internes), on lui donne comme passerelle le pfSense Paris — il sera le routeur de référence pour les flux sortants.

Applique la configuration :

systemctl restart networking
ip addr show enp0s3

Tu dois voir 194.0.0.1/16 apparaître.

Teste la connectivité :

ping -c 3 194.0.1.1

Exercice 3.4 — Mettre à jour le système

Avant d'installer quoi que ce soit, mets le système à jour :

apt update && apt upgrade -y

Exercice 3.5 — Configurer UFW (pare-feu)

UFW (Uncomplicated Firewall) est une interface simplifiée pour le pare-feu Linux iptables. Il te permet d'écrire des règles en langage presque naturel.

Installation

apt install ufw -y

Politique par défaut : tout bloquer en entrée

ufw default deny incoming
ufw default allow outgoing

C'est le principe du moindre privilège : on bloque tout, puis on ouvre uniquement ce qui est nécessaire. Si tu fais l'inverse (tout autoriser puis bloquer), tu risques d'oublier quelque chose.

Autoriser SSH (indispensable !)

ufw allow 22/tcp

Attention : active toujours SSH avant d'activer UFW. Sinon tu te coupes toi-même l'accès au serveur.

Autoriser les services web

ufw allow 80/tcp    # HTTP
ufw allow 443/tcp   # HTTPS

Activer UFW

ufw enable

VFW te demande confirmation. Réponds y.

Vérifier les règles

ufw status verbose

Tu dois voir quelque chose comme :

Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW IN    Anywhere
80/tcp                     ALLOW IN    Anywhere
443/tcp                    ALLOW IN    Anywhere

Exercice 3.6 — Installer CrowdSec

CrowdSec est un système de sécurité collaboratif. Il analyse les logs de ton serveur, détecte les comportements suspects (trop de tentatives de connexion SSH, scan de ports, attaques web...) et bloque automatiquement les IPs malveillantes. Il partage aussi ces IPs avec sa communauté.

Installation

curl -s https://install.crowdsec.net | bash
apt install crowdsec -y

Installer le bouncer UFW

Le "bouncer" est le composant qui applique concrètement les blocages. CrowdSec détecte, le bouncer agit.

apt install crowdsec-firewall-bouncer-iptables -y

Vérifier que CrowdSec tourne

cscli version
cscli collections list

Tu dois voir des "collections" de détection installées, notamment crowdsecurity/linux et crowdsecurity/sshd.

Vérifier les décisions (blocages actifs)

cscli decisions list

Au début, la liste est vide — normal, personne n'a encore attaqué ton serveur. Avec le temps (ou lors de tests), tu verras des IPs apparaître ici.


Exercice 3.7 — Installer le serveur web (Apache + PHP + MariaDB)

Les trois applications (WordPress, GLPI, Dolibarr) ont besoin d'un serveur web, PHP et une base de données.

Installer Apache, PHP et MariaDB

apt install apache2 php php-mysql php-curl php-gd php-xml php-mbstring \
            php-zip php-intl php-ldap php-apcu mariadb-server -y

Sécuriser MariaDB

mysql_secure_installation

Réponds aux questions :

  • Switch to unix_socket authentication → n
  • Change the root password → Y (choisis un mot de passe fort, note-le)
  • Remove anonymous users → Y
  • Disallow root login remotely → Y
  • Remove test database → Y
  • Reload privilege tables → Y

Activer les modules Apache utiles

a2enmod rewrite ssl headers
systemctl restart apache2

Exercice 3.8 — Installer WordPress

Créer la base de données

mysql -u root -p

Dans le prompt MySQL :

CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'MotDePasseWP2024!';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Télécharger et installer WordPress

cd /var/www/html
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz
mv wordpress wp
chown -R www-data:www-data wp
chmod -R 755 wp
rm latest.tar.gz

Configurer WordPress

cp /var/www/html/wp/wp-config-sample.php /var/www/html/wp/wp-config.php
nano /var/www/html/wp/wp-config.php

Modifie ces lignes :

define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'wp_user' );
define( 'DB_PASSWORD', 'MotDePasseWP2024!' );
define( 'DB_HOST', 'localhost' );

Créer le VirtualHost Apache pour WordPress

nano /etc/apache2/sites-available/wordpress.conf

Colle ce contenu :

<VirtualHost *:80>
    ServerName wp.si-lab.local
    DocumentRoot /var/www/html/wp

    <Directory /var/www/html/wp>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/wordpress_error.log
    CustomLog ${APACHE_LOG_DIR}/wordpress_access.log combined
</VirtualHost>
a2ensite wordpress.conf
systemctl reload apache2

Exercice 3.9 — Installer GLPI

GLPI (Gestion Libre de Parc Informatique) est un outil open source français de gestion de parc et de helpdesk.

Créer la base de données

mysql -u root -p
CREATE DATABASE glpi CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'glpi_user'@'localhost' IDENTIFIED BY 'MotDePasseGLPI2024!';
GRANT ALL PRIVILEGES ON glpi.* TO 'glpi_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Télécharger GLPI

cd /tmp
wget https://github.com/glpi-project/glpi/releases/download/10.0.16/glpi-10.0.16.tgz
tar -xzf glpi-10.0.16.tgz -C /var/www/html/
chown -R www-data:www-data /var/www/html/glpi

VirtualHost Apache pour GLPI

nano /etc/apache2/sites-available/glpi.conf
<VirtualHost *:80>
    ServerName glpi.si-lab.local
    DocumentRoot /var/www/html/glpi/public

    <Directory /var/www/html/glpi/public>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/glpi_error.log
    CustomLog ${APACHE_LOG_DIR}/glpi_access.log combined
</VirtualHost>
a2ensite glpi.conf
systemctl reload apache2

Finaliser l'installation via le navigateur

Depuis un poste client, ouvre http://194.0.0.1/glpi et suis l'assistant d'installation :

  • Langue : Français
  • Base de données : localhost, user glpi_user, mot de passe MotDePasseGLPI2024!, base glpi
  • Identifiants par défaut après install : glpi / glpi

Important : après l'installation, supprime le fichier d'installation :

rm /var/www/html/glpi/install/install.php

Exercice 3.10 — Installer Dolibarr

Dolibarr est un ERP/CRM open source français, très utilisé par les PME.

Créer la base de données

mysql -u root -p
CREATE DATABASE dolibarr CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'doli_user'@'localhost' IDENTIFIED BY 'MotDePasseDoli2024!';
GRANT ALL PRIVILEGES ON dolibarr.* TO 'doli_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Télécharger Dolibarr

cd /tmp
wget https://github.com/Dolibarr/dolibarr/archive/refs/tags/19.0.3.tar.gz
tar -xzf 19.0.3.tar.gz -C /var/www/html/
mv /var/www/html/dolibarr-19.0.3 /var/www/html/dolibarr
chown -R www-data:www-data /var/www/html/dolibarr

VirtualHost Apache pour Dolibarr

nano /etc/apache2/sites-available/dolibarr.conf
<VirtualHost *:80>
    ServerName erp.si-lab.local
    DocumentRoot /var/www/html/dolibarr/htdocs

    <Directory /var/www/html/dolibarr/htdocs>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/dolibarr_error.log
    CustomLog ${APACHE_LOG_DIR}/dolibarr_access.log combined
</VirtualHost>
a2ensite dolibarr.conf
systemctl reload apache2

Finaliser via navigateur

Ouvre http://194.0.0.1/dolibarr/htdocs/install/ depuis un client :

  • Suis l'assistant, renseigne les paramètres MariaDB
  • Crée le compte administrateur Dolibarr

Exercice 3.11 — Vérification globale

Depuis n'importe quelle machine du lab qui a accès à 194.0.0.1, vérifie :

http://194.0.0.1/wp       → Page d'accueil WordPress   ✓
http://194.0.0.1/glpi     → Interface GLPI              ✓
http://194.0.0.1/dolibarr → Interface Dolibarr          ✓

Vérifie aussi que CrowdSec et UFW sont toujours actifs :

ufw status
systemctl status crowdsec

Récapitulatif du module 3

Tu as maintenant :

  • srv-dmz sous Debian 13 avec IP 194.0.0.1
  • UFW configuré (SSH, HTTP, HTTPS uniquement)
  • CrowdSec installé et actif
  • WordPress, GLPI et Dolibarr opérationnels

➡ Tu peux passer au Module 4 : VPN IPsec site-à-site.

Module 4 — VPN IPsec site-à-site (Paris ↔ Nantes)

Objectif

Tu vas créer un tunnel VPN chiffré entre les deux bureaux. Une fois en place, un poste de Paris pourra communiquer avec un poste de Nantes comme s'ils étaient sur le même réseau local, même s'ils passent par Internet.


Concept — Qu'est-ce qu'un VPN IPsec ?

VPN (Virtual Private Network) : un tunnel chiffré entre deux points à travers un réseau non sécurisé (Internet).

IPsec (Internet Protocol Security) : un protocole standard qui chiffre et authentifie les paquets IP. C'est l'un des VPN les plus utilisés en entreprise pour relier des sites distants.

Un tunnel IPsec site-à-site fonctionne en deux phases :

Phase 1 — IKE (Internet Key Exchange)
  └─ Les deux pfSense se présentent mutuellement
  └─ Ils négocient les algorithmes de chiffrement
  └─ Ils échangent des clés de session

Phase 2 — ESP (Encapsulating Security Payload)
  └─ Le vrai tunnel de données est établi
  └─ Les paquets sont chiffrés et envoyés
Paris LAN          pfSense Paris           pfSense Nantes        Nantes LAN
10.10.0.0/16  ────► 194.0.1.1 ═══════════════ 194.0.3.1 ◄──── 10.20.0.0/16
                    [chiffre]   tunnel IPsec   [déchiffre]

Exercice 4.1 — Configurer la Phase 1 sur pfSense Paris

Connecte-toi à l'interface web de pfSense Paris depuis le client Windows Paris : http://10.10.0.1

Va dans VPN → IPsec → Tunnels.

Clique sur + Add P1 pour ajouter une Phase 1.

Configure comme suit :

Paramètres généraux

Paramètre Valeur
Key Exchange version IKEv2
Internet Protocol IPv4
Interface WAN
Remote Gateway 194.0.3.1 (IP WAN de pfSense Nantes)
Description VPN-Paris-Nantes

Authentification

Paramètre Valeur
Authentication Method Mutual PSK (clé pré-partagée)
My identifier My IP Address
Peer identifier Peer IP Address
Pre-Shared Key MonSecretVPN2024!Labsi (choisis quelque chose de robuste, note-le bien — il devra être identique des deux côtés)

Chiffrement Phase 1

Clique sur Add an Encryption Algorithm et configure :

Paramètre Valeur
Encryption Algorithm AES 256 bits
Hash Algorithm SHA256
DH Group 14 (2048 bits)

Pourquoi AES-256 et SHA-256 ? Ce sont les recommandations actuelles de l'ANSSI pour les VPN IPsec. On évite les algorithmes plus anciens comme DES, 3DES ou MD5 qui sont considérés comme faibles aujourd'hui.

Laisse les autres paramètres par défaut et clique Save.


Exercice 4.2 — Configurer la Phase 2 sur pfSense Paris

La Phase 2 définit quels réseaux vont passer dans le tunnel.

Sous la Phase 1 que tu viens de créer, clique sur Show Phase 2 Entries puis + Add P2.

Paramètre Valeur
Mode Tunnel IPv4
Local Network Network — 10.10.0.0 / 16
Remote Network Network — 10.20.0.0 / 16
Description LAN-Paris vers LAN-Nantes

Chiffrement Phase 2

Paramètre Valeur
Encryption Algorithms AES 256 bits
Hash Algorithms SHA256
PFS Key Group 14 (2048 bits)

Clique Save puis Apply Changes.


Exercice 4.3 — Configurer le VPN côté pfSense Nantes

Connecte-toi à l'interface web de pfSense Nantes : http://10.20.0.1 (depuis le client Windows Nantes).

Répète exactement les mêmes étapes, en inversant les IPs et les réseaux :

Phase 1 — Nantes

Paramètre Valeur
Remote Gateway 194.0.1.1 (IP WAN de pfSense Paris)
Description VPN-Nantes-Paris
Pre-Shared Key MonSecretVPN2024!Labsi (identique à Paris !)

Phase 2 — Nantes

Paramètre Valeur
Local Network 10.20.0.0 / 16
Remote Network 10.10.0.0 / 16
Description LAN-Nantes vers LAN-Paris

Exercice 4.4 — Ouvrir le pare-feu pour IPsec

pfSense bloque par défaut tout trafic entrant sur le WAN. Il faut ouvrir les ports utilisés par IPsec.

Sur pfSense Paris ET Nantes (même opération sur les deux)

Va dans Firewall → Rules → WAN et crée ces règles :

Règle 1 — IKE (négociation de clés)

Paramètre Valeur
Action Pass
Protocol UDP
Source (IP de l'autre pfSense)
Destination WAN address
Destination Port 500
Description IPsec IKE

Règle 2 — NAT-T (IPsec traversal NAT)

Paramètre Valeur
Action Pass
Protocol UDP
Source (IP de l'autre pfSense)
Destination WAN address
Destination Port 4500
Description IPsec NAT-T

Pour Paris, la source est 194.0.3.1. Pour Nantes, la source est 194.0.1.1.

pfSense crée automatiquement les règles pour le trafic IPsec sur l'interface virtuelle enc0 — tu n'as pas à t'en occuper.

Règle sur l'interface IPsec (autoriser le trafic dans le tunnel)

Va dans Firewall → Rules → IPsec et crée une règle permissive pour le lab :

Paramètre Valeur
Action Pass
Source any
Destination any
Description Autoriser tout trafic VPN (lab)

En production, on serait beaucoup plus précis sur les sources et destinations autorisées. Pour un lab, on simplifie.


Exercice 4.5 — Établir le tunnel et vérifier

Initier la connexion

Va dans VPN → IPsec → Status sur pfSense Paris.

Tu dois voir ton tunnel avec le statut ESTABLISHED. Si ce n'est pas le cas, clique sur la flèche ▶ pour initier la connexion.

Vérifier le tunnel

Status         : ESTABLISHED  ✓
Local subnet   : 10.10.0.0/16
Remote subnet  : 10.20.0.0/16
Bytes in/out   : commence à monter dès que du trafic passe

Test de connectivité inter-sites

Depuis pfSense Paris, utilise l'outil de diagnostic (Diagnostics → Ping) :

Ping depuis l'interface LAN vers 10.20.0.1 (pfSense Nantes LAN)  → ✓

Depuis le client Windows Paris (une fois installé au module 5) :

ping 10.20.0.1     → répond ✓  (pfSense Nantes)
ping 10.20.0.x     → répond ✓  (client Windows Nantes)

Exercice 4.6 — Comprendre les logs IPsec

pfSense enregistre tout ce qui se passe avec IPsec. C'est précieux pour déboguer.

Va dans Status → System Logs → VPN.

Tu dois voir des lignes comme :

IKEv2 SA established successfully
CHILD_SA established [10.10.0.0/16 === 10.20.0.0/16]

Si tu vois des erreurs, les causes les plus fréquentes sont :

  • Pre-Shared Key différente des deux côtés → vérifie caractère par caractère
  • Algorithmes de chiffrement non concordants → vérifie que Phase 1 et Phase 2 sont identiques des deux côtés
  • Règles firewall manquantes → vérifie les règles WAN (ports 500 et 4500 UDP)

Récapitulatif du module 4

Tu as maintenant :

  • Tunnel IPsec IKEv2 établi entre Paris (194.0.1.1) et Nantes (194.0.3.1)
  • Les réseaux 10.10.0.0/16 et 10.20.0.0/16 peuvent se joindre via le tunnel
  • Règles firewall en place sur les deux pfSense
  • Tunnel vérifié dans les logs et par ping

➡ Tu peux passer au Module 5 : Windows Server 2025 et Active Directory.

Module 5 — Windows Server 2025 et Active Directory

Objectif

Tu vas installer un contrôleur de domaine Active Directory à Paris. L'AD centralise l'authentification de tous les utilisateurs de l'entreprise : un seul compte pour se connecter sur n'importe quel poste du domaine.

Ensuite, tu joindras les postes clients (Paris et Nantes) au domaine.


Concept — Qu'est-ce qu'un Active Directory ?

Active Directory (AD) est l'annuaire d'identités de Microsoft. C'est la colonne vertébrale de la quasi-totalité des réseaux d'entreprise Windows.

Il fournit :

  • L'authentification centralisée : un utilisateur = un compte = un mot de passe, valable partout
  • Les stratégies de groupe (GPO) : règles appliquées automatiquement aux postes et utilisateurs
  • L'annuaire LDAP : répertoire de tous les objets (utilisateurs, ordinateurs, groupes...)
  • Le DNS intégré : résolution des noms dans le domaine
                    Contrôleur de domaine (Paris)
                    srv-paris — 10.10.0.10
                    Domaine : si-lab.local
                         │
              ┌──────────┴──────────┐
              │                     │
    client-paris                client-nantes
    10.10.x.x                   10.20.x.x
    (rejoindra le               (rejoindra le
    domaine via LAN)            domaine via VPN)

Le poste de Nantes rejoint le domaine via le tunnel VPN IPsec — c'est exactement pourquoi on a fait le module 4 avant celui-ci.


Exercice 5.1 — Créer la VM Windows Server 2025

Paramètres de la VM

Paramètre Valeur
Nom srv-paris
Type Microsoft Windows
Version Windows 2022 (64-bit) (le plus proche dispo dans VBox)
RAM 4096 Mo
Disque VDI, 60 Go
Réseau Adaptateur 1 Internal Network lan-paris

Monte l'ISO Windows Server 2025.

Installation

  1. Démarre la VM
  2. Sélectionne la langue et le clavier (Français)
  3. Clique Installer maintenant
  4. Choisis Windows Server 2025 Standard (Expérience de bureau) — on veut l'interface graphique
  5. Accepte la licence
  6. Installation personnalisée → sélectionne le disque → Suivant
  7. L'installation dure 15-20 minutes
  8. Définis le mot de passe administrateur local (ex: Admin2024!Lab) — note-le

Exercice 5.2 — Configurer l'IP statique de Windows Server

Une fois le bureau Windows chargé :

  1. Clique droit sur l'icône réseau (barre des tâches) → Paramètres réseau et Internet
  2. Centre réseau et partageModifier les paramètres de la carte
  3. Clique droit sur l'adaptateur → Propriétés
  4. Sélectionne Protocole Internet version 4 (TCP/IPv4)Propriétés

Configure :

Paramètre Valeur
Adresse IP 10.10.0.10
Masque de sous-réseau 255.255.0.0
Passerelle par défaut 10.10.0.1 (pfSense Paris)
DNS préféré 127.0.0.1 (lui-même — il sera le serveur DNS après l'install AD)
DNS auxiliaire 10.10.0.1

Renomme aussi l'ordinateur :

  1. Clique droit sur Ce PCPropriétésRenommer ce PC
  2. Nom : SRV-PARIS
  3. Redémarre

Exercice 5.3 — Installer le rôle Active Directory Domain Services

  1. Ouvre le Gestionnaire de serveur (s'ouvre automatiquement au démarrage)
  2. Clique sur GérerAjouter des rôles et des fonctionnalités
  3. Type d'installation : Installation basée sur un rôle ou une fonctionnalité → Suivant
  4. Sélection du serveur : sélectionne SRV-PARIS → Suivant
  5. Rôles de serveurs : coche Services de domaine Active Directory
  6. Une fenêtre s'ouvre pour ajouter les fonctionnalités requises → clique Ajouter des fonctionnalités
  7. Clique Suivant plusieurs fois jusqu'à Installer
  8. L'installation prend quelques minutes

Exercice 5.4 — Promouvoir le serveur en contrôleur de domaine

Une fois l'installation du rôle terminée, une notification jaune apparaît dans le Gestionnaire de serveur.

  1. Clique sur la notification jaunePromouvoir ce serveur en contrôleur de domaine
  2. Opération de déploiement : sélectionne Ajouter une nouvelle forêt
  3. Nom de domaine racine : si-lab.local
  4. Clique Suivant

Options du contrôleur de domaine

Paramètre Valeur
Niveau fonctionnel forêt Windows Server 2016 (compatibilité maximale)
Niveau fonctionnel domaine Windows Server 2016
Serveur DNS ✓ coché
Catalogue global ✓ coché
RODC ✗ non coché
Mot de passe DSRM Dsrm2024!Lab (noté soigneusement — c'est le mot de passe de récupération)
  1. Clique Suivant à travers les écrans suivants — les avertissements sur la délégation DNS sont normaux dans un lab
  2. Vérification de la configuration requise : des avertissements sont normaux, les erreurs bloquantes sont rares
  3. Clique Installer — le serveur redémarrera automatiquement

Exercice 5.5 — Créer des utilisateurs dans l'AD

Connecte-toi avec SILAB\Administrator et le mot de passe administrateur que tu as défini.

  1. Dans le Gestionnaire de serveur → OutilsUtilisateurs et ordinateurs Active Directory
  2. Développe si-lab.local
  3. Clique droit sur UsersNouveauUtilisateur

Crée ces deux utilisateurs de test :

Utilisateur 1 — Paris

Champ Valeur
Prénom Alice
Nom Martin
Nom d'ouverture de session amartin
Mot de passe User2024!Paris
L'utilisateur doit changer... décoché (pour le lab)
Le compte n'expire jamais coché

Utilisateur 2 — Nantes

Champ Valeur
Prénom Bob
Nom Dupont
Nom d'ouverture de session bdupont
Mot de passe User2024!Nantes
L'utilisateur doit changer... décoché

Exercice 5.6 — Créer et configurer la VM client Windows Paris

Paramètres de la VM

Paramètre Valeur
Nom client-paris
Type Microsoft Windows
Version Windows 11 (64-bit)
RAM 4096 Mo
Disque VDI, 50 Go
Réseau Internal Network lan-paris

Installation Windows 11

Astuce : Windows 11 exige un compte Microsoft pendant l'installation. Pour un lab, tu peux contourner : lors de l'écran de connexion à Internet, appuie sur Shift+F10 pour ouvrir un terminal et tape :

oobe\bypassnro

Le PC redémarrera et te proposera "Configurer pour une organisation" qui permet un compte local.

Rejoindre le domaine si-lab.local

  1. Clique droit Ce PCPropriétésRenommer ce PC (Avancé)
  2. Clique sur Modifier
  3. Nom de l'ordinateur : CLIENT-PARIS
  4. Membre d'un domaine : si-lab.local
  5. Clique OK → entre les identifiants admin du domaine : Administrator / Admin2024!Lab
  6. Redémarre

Au redémarrage, tu peux te connecter avec SILAB\amartin et le mot de passe User2024!Paris.


Exercice 5.7 — Créer la VM client Windows Nantes

Paramètres de la VM

Paramètre Valeur
Nom client-nantes
Type Microsoft Windows
Version Windows 11 (64-bit)
RAM 4096 Mo
Disque VDI, 50 Go
Réseau Internal Network lan-nantes

Configuration réseau

Le DHCP de pfSense Nantes doit lui attribuer automatiquement une IP en 10.20.1.x. Vérifie avec ipconfig.

Point critique : le client de Nantes doit résoudre les noms du domaine si-lab.local. Comme le contrôleur de domaine est à Paris (10.10.0.10), il faut que le DNS pointe vers lui — ce qui n'est possible que si le VPN est actif.

Configure le DNS manuellement sur client-nantes :

Paramètre Valeur
DNS préféré 10.10.0.10 (AD Paris, joignable via VPN)

Rejoindre le domaine

Même procédure que pour client-paris :

  1. Renomme : CLIENT-NANTES
  2. Rejoint le domaine : si-lab.local
  3. Entre les identifiants administrateur du domaine
  4. Redémarre

Au redémarrage, connecte-toi avec SILAB\bdupont / User2024!Nantes.

Si la jonction au domaine échoue : vérifie que le tunnel VPN IPsec est bien établi (ping 10.10.0.10 depuis client-nantes). Sans VPN actif, le client de Nantes ne peut pas joindre le contrôleur de domaine.


Exercice 5.8 — Vérification globale

Depuis client-paris (connecté en amartin) :

ping client-nantes.si-lab.local    → ✓ répond via VPN
ping srv-paris.si-lab.local        → ✓ répond

Depuis client-nantes (connecté en bdupont) :

ping srv-paris.si-lab.local        → ✓ répond via VPN
ping client-paris.si-lab.local     → ✓ répond via VPN

Dans l'outil Utilisateurs et ordinateurs Active Directory sur srv-paris, tu dois voir dans Computers :

  • CLIENT-PARIS
  • CLIENT-NANTES

Récapitulatif du module 5

Tu as maintenant :

  • Windows Server 2025 installé comme contrôleur de domaine si-lab.local
  • Utilisateurs amartin (Paris) et bdupont (Nantes) créés dans l'AD
  • client-paris et client-nantes joints au domaine
  • Les deux postes peuvent communiquer via le tunnel VPN

➡ Tu peux passer au Module 6 (optionnel ⭐) : RODC Nantes et Road Warrior OpenWrt.

Module 6 ⭐ — RODC Nantes et Road Warrior OpenWrt

Ce module est optionnel — mais il vaut vraiment le coup

Si tu es arrivé jusqu'ici, félicitations : tu as monté un système d'information complet, fonctionnel, sécurisé. Ce module va encore plus loin sur deux sujets avancés qui font la différence en entreprise :

  1. Le RODC : un contrôleur de domaine en lecture seule à Nantes — meilleure résilience, plus sécurisé
  2. Le Road Warrior : permettre à un télétravailleur de se connecter au VPN depuis n'importe où avec un routeur OpenWrt

Partie A — RODC (Read-Only Domain Controller) à Nantes

Concept — Pourquoi un RODC ?

Imagine que le bureau de Nantes perd sa connexion VPN vers Paris. Les utilisateurs de Nantes ne peuvent plus s'authentifier auprès du contrôleur de domaine (qui est à Paris). Résultat : plus personne ne peut se connecter. L'activité est bloquée.

Un RODC est une copie en lecture seule de l'Active Directory, installée localement à Nantes. Il peut :

  • Authentifier les utilisateurs de Nantes même si le VPN est coupé
  • Répondre aux requêtes DNS localement
  • Répliquer les changements depuis Paris quand le VPN est disponible

Ce qu'il ne peut pas faire :

  • Modifier des objets dans l'AD (c'est le principe — lecture seule)
  • Être utilisé pour créer des utilisateurs ou changer des mots de passe (il délègue ça à Paris)
Si VPN OK :
  client-nantes → s'authentifie sur RODC local (rapide)
  RODC → réplique les changements depuis srv-paris (Paris)

Si VPN coupé :
  client-nantes → s'authentifie sur RODC local (continue à fonctionner !)
  RODC → fonctionne en mode dégradé (pas de nouveaux comptes, pas de changement mdp)

C'est particulièrement adapté aux sites distants avec des liaisons parfois instables — exactement notre scénario.


Exercice 6A.1 — Créer la VM RODC Nantes

Paramètres de la VM

Paramètre Valeur
Nom rodc-nantes
Type Microsoft Windows
Version Windows 2022 (64-bit)
RAM 2048 Mo
Disque VDI, 40 Go
Réseau Internal Network lan-nantes

Installe Windows Server 2025 Standard avec expérience de bureau (même procédure que srv-paris).


Exercice 6A.2 — Configurer l'IP statique du RODC

Paramètre Valeur
Adresse IP 10.20.0.20
Masque 255.255.0.0
Passerelle 10.20.0.1 (pfSense Nantes)
DNS préféré 10.10.0.10 (srv-paris — pour joindre le domaine)
DNS auxiliaire 127.0.0.1 (lui-même, une fois promu)

Renomme l'ordinateur en RODC-NANTES et redémarre.


Exercice 6A.3 — Pré-créer le compte RODC dans l'AD Paris

Avant d'installer le rôle sur le RODC, il faut pré-créer son compte dans l'AD depuis Paris. C'est une sécurité : seul un administrateur de domaine peut autoriser l'ajout d'un contrôleur de domaine.

Depuis srv-paris :

  1. Utilisateurs et ordinateurs Active Directory → clique droit sur Domain ControllersPré-créer le compte de contrôleur de domaine en lecture seule
  2. L'assistant s'ouvre
  3. Nom de l'ordinateur : RODC-NANTES
  4. Site : Default-First-Site-Name (on n'a pas configuré les sites AD, on simplifie)
  5. Fonctionnalités supplémentaires : laisse les options DNS et Catalogue global cochées
  6. Délégation d'installation et d'administration : tu peux laisser vide pour le lab (l'admin du domaine s'en chargera)
  7. Stratégie de réplication des mots de passe : laisse par défaut pour commencer
  8. Clique Suivant jusqu'à Terminer

Exercice 6A.4 — Installer AD DS sur le RODC et le promouvoir

Depuis rodc-nantes, en étant connecté en administrateur local :

  1. Ouvre le Gestionnaire de serveurAjouter des rôles → installe Services de domaine Active Directory (même procédure qu'au module 5)
  2. Clique sur la notification jaunePromouvoir ce serveur en contrôleur de domaine
  3. Opération de déploiement : Ajouter un contrôleur de domaine à un domaine existant
  4. Domaine : si-lab.local
  5. Clique sur Modifier et entre les identifiants d'un administrateur du domaine

Options du contrôleur de domaine

Paramètre Valeur
DNS Server
Read-only domain controller (RODC) important !
Site Default-First-Site-Name
Mot de passe DSRM Dsrm2024!Nantes
  1. Utiliser le compte pré-créé : sélectionne RODC-NANTES (le compte que tu as pré-créé à l'étape précédente)
  2. Clique SuivantInstaller — le serveur redémarre

Exercice 6A.5 — Vérifier la réplication

Depuis srv-paris, ouvre une invite de commandes et tape :

repadmin /showrepl

Tu dois voir RODC-NANTES dans les partenaires de réplication avec le statut 0 consecutive failure(s).

Pour forcer une réplication immédiate :

repadmin /syncall /AdeP

Test de résilience VPN

Voici le test qui prouve l'intérêt du RODC :

  1. Coupe le tunnel VPN : sur pfSense Nantes, va dans VPN → IPsec et désactive temporairement le tunnel
  2. Sur client-nantes, déconnecte et reconnecte la session avec SILAB\bdupont
  3. L'authentification doit toujours fonctionner grâce au RODC local
  4. Réactive le tunnel VPN une fois le test terminé

Partie B — Road Warrior VPN avec OpenWrt

Concept — C'est quoi un Road Warrior ?

Un Road Warrior est un utilisateur nomade qui se connecte au réseau d'entreprise depuis l'extérieur — en télétravail, en déplacement, depuis un café. Il a besoin d'un accès VPN depuis n'importe où.

La différence avec le VPN site-à-site (module 4) :

  • Site-à-site : deux équipements fixes se connectent ensemble automatiquement
  • Road Warrior : un client individuel initie la connexion depuis n'importe où, avec une IP variable

Dans notre lab, on simule ce télétravailleur avec un routeur OpenWrt sur le réseau internet simulé (194.0.2.1). Derrière ce routeur pourrait se trouver un ordinateur portable du télétravailleur.

Télétravailleur (n'importe où)
  OpenWrt (194.0.2.1)
      └── Tunnel IKEv2/EAP ──────────► pfSense Paris (194.0.1.1)
                                              └── Accès au SI complet

Exercice 6B.1 — Créer la VM OpenWrt

Paramètres de la VM

OpenWrt s'installe différemment : il ne propose pas d'installeur graphique, on utilise directement une image disque.

  1. Dans VirtualBox, crée une nouvelle VM :
Paramètre Valeur
Nom openwrt-rw
Type Linux
Version Other Linux (64-bit)
RAM 512 Mo
  1. Ne crée pas de disque à cette étape — on va utiliser l'image téléchargée

  2. Dans les paramètres → Stockage → clique sur Contrôleur SATA → ajoute un disque → Choisir un fichier de disque existant

  3. Sélectionne l'image .img OpenWrt que tu as téléchargée (et décompressée) au module 1

  4. Réseau — Adaptateur 1 : NAT Network internet-lab


Exercice 6B.2 — Configurer l'IP d'OpenWrt

Au premier démarrage, OpenWrt démarre et affiche une console. Connecte-toi sans mot de passe (compte root, pas de mot de passe par défaut).

Configure l'interface réseau :

uci set network.lan.ipaddr='194.0.2.1'
uci set network.lan.netmask='255.255.0.0'
uci set network.lan.gateway='194.0.1.1'
uci commit network
service network restart

OpenWrt gère les interfaces avec son système uci (Unified Configuration Interface) — c'est son équivalent de la modification de fichiers de config, mais en ligne de commande unifiée.

Vérifie la connectivité :

ping -c 3 194.0.1.1    # pfSense Paris
ping -c 3 194.0.0.1    # Serveur DMZ

Exercice 6B.3 — Configurer pfSense Paris pour accepter les Road Warriors

Créer les certificats (PKI)

Pour IKEv2 Road Warrior, il faut des certificats. pfSense a un gestionnaire de PKI intégré.

Sur pfSense Paris, va dans System → Cert Manager → CAs+ Add :

Paramètre Valeur
Descriptive name CA-VPN-Lab
Method Create an internal Certificate Authority
Common Name ca.si-lab.local
Key Length 4096
Digest Algorithm SHA256

Clique Save.

Ensuite, dans Certificates+ Add :

Paramètre Valeur
Method Create an internal Certificate
Descriptive name Cert-pfSense-Paris
Certificate Authority CA-VPN-Lab
Common Name 194.0.1.1
Certificate Type Server Certificate

Exercice 6B.4 — Configurer la Phase 1 Road Warrior sur pfSense Paris

Va dans VPN → IPsec → Mobile Clients (onglet spécifique pour les road warriors) et active-le :

Paramètre Valeur
Enable IPsec Mobile Client Support
User Authentication Local Database
Virtual Address Pool 10.30.0.0/24 (pool d'IPs attribuées aux VPN clients)
DNS Default Domain si-lab.local
DNS Server 1 10.10.0.10 (AD Paris)

Clique Save.

Ensuite, va dans Tunnels+ Add P1 pour la Phase 1 Road Warrior :

Paramètre Valeur
Key Exchange IKEv2
Interface WAN
Remote Gateway laisser vide (road warrior = IP variable)
Authentication EAP-MSCHAPv2
My Certificate Cert-pfSense-Paris
Chiffrement AES-256, SHA-256, DH Group 14

Phase 2 Road Warrior

Paramètre Valeur
Mode Tunnel IPv4
Local Network LAN subnet (10.10.0.0/16)
Remote Network Mobile Client Pool (10.30.0.0/24)

Exercice 6B.5 — Créer un compte utilisateur VPN

Va dans System → User Manager → Users+ Add :

Paramètre Valeur
Username teleworker
Password VPN2024!Remote

Exercice 6B.6 — Configurer OpenWrt pour se connecter en Road Warrior

Sur la VM OpenWrt, installe le paquet IPsec :

opkg update
opkg install strongswan-full

Crée le fichier de configuration :

vi /etc/ipsec.conf
config setup
    charondebug="ike 1, knl 1, cfg 0"

conn roadwarrior
    keyexchange=ikev2
    left=%defaultroute
    leftfirewall=yes
    right=194.0.1.1
    rightid=194.0.1.1
    rightsubnet=10.10.0.0/16
    leftauth=eap-mschapv2
    rightauth=pubkey
    rightcert=ca.pem
    eap_identity=teleworker
    auto=start
vi /etc/ipsec.secrets
teleworker : EAP "VPN2024!Remote"

Pour que la vérification du certificat fonctionne, tu dois copier le certificat de la CA de pfSense (CA-VPN-Lab) vers OpenWrt. Exporte-le depuis pfSense (System → Cert Manager → CAs → Export CA) et place-le dans /etc/ipsec.d/cacerts/ca.pem sur OpenWrt.

Lance la connexion :

ipsec up roadwarrior

Vérification

ipsec status

Tu dois voir ESTABLISHED et une IP du pool 10.30.0.x attribuée à OpenWrt.

Depuis OpenWrt, teste l'accès au SI :

ping 10.10.0.10    # Serveur AD Paris → ✓
ping 10.10.0.1     # pfSense Paris LAN → ✓
ping 10.20.0.1     # pfSense Nantes LAN → ✓ (via VPN site-à-site)

Récapitulatif du module 6

Tu as maintenant :

Partie A — RODC

  • rodc-nantes installé comme RODC dans le domaine si-lab.local
  • Réplication AD vérifiée entre Paris et Nantes
  • Résilience testée : authentification Nantes fonctionne même VPN coupé

Partie B — Road Warrior

  • PKI configurée sur pfSense Paris
  • Mode Mobile Client activé sur pfSense Paris
  • OpenWrt connecté en IKEv2/EAP-MSCHAPv2
  • Télétravailleur accède au SI complet depuis "l'extérieur"

Félicitations ! 🎉

Tu viens de monter un système d'information complet comprenant :

  • Un réseau multi-sites sécurisé par deux pfSense
  • Un serveur de production en DMZ avec trois applications métier
  • Un VPN site-à-site reliant Paris et Nantes
  • Un annuaire Active Directory centralisé
  • Un accès nomade pour les télétravailleurs
  • Un RODC pour la résilience du site de Nantes

C'est l'architecture que tu retrouves dans de vraies PME. Tu as maintenant les bases pour comprendre, administrer et faire évoluer ce type d'infrastructure.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment