Une DMZ (DeMilitarized Zone, zone démilitarisée) est un sous-réseau isolé placé entre Internet et votre réseau interne (LAN). On y héberge les services qui doivent être joignables depuis Internet (serveur web, mail, DNS public) pour que, en cas de compromission, l'attaquant reste confiné dans cette zone sans atteindre le LAN. Ce guide explique le rôle d'une DMZ, ses deux architectures, la matrice de flux qui en fait la sécurité, une implémentation nftables testée, et pourquoi le « DMZ host » de votre box n'en est pas une. Pour administrateurs et profils blue team.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Ce qu'est une DMZ et pourquoi elle réduit la surface d'attaque.
- Les deux architectures : un seul ou deux pare-feu.
- La matrice de flux entre WAN, DMZ et LAN.
- Implémenter une DMZ avec nftables.
- Pourquoi le DMZ host d'une box est un faux ami.
Qu'est-ce qu'une DMZ ?
Section intitulée « Qu'est-ce qu'une DMZ ? »Le terme vient du vocabulaire militaire : une zone tampon neutre entre deux territoires hostiles. En réseau, une DMZ est un segment isolé entre la zone non fiable (Internet) et la zone de confiance (LAN).
L'idée est simple : un service exposé sur Internet est une cible. S'il est compromis, vous voulez que l'attaquant se retrouve dans une zone cloisonnée, pas au milieu de vos postes de travail et de vos bases de données. La DMZ est cette zone cloisonnée.
C'est une application directe de la défense en profondeur et de la segmentation réseau : chaque zone n'accède qu'à ce qui lui est strictement nécessaire.
Pourquoi une DMZ ?
Section intitulée « Pourquoi une DMZ ? »Sans DMZ, un serveur web exposé vit sur le même réseau que vos données internes : le compromettre donne un pied dans le LAN. Avec une DMZ, vous obtenez trois bénéfices :
- une surface d'attaque réduite : seuls les ports des services publics sont ouverts vers la DMZ ;
- une segmentation claire entre l'exposé et l'interne ;
- une defense en profondeur : franchir la DMZ ne suffit pas pour atteindre le LAN.
Les deux architectures
Section intitulée « Les deux architectures »Il existe deux façons classiques de construire une DMZ, et le choix est un compromis entre coût et robustesse.
| Architecture | Principe | Compromis |
|---|---|---|
| Un seul pare-feu (three-legged) | 1 pare-feu à 3 interfaces : WAN, DMZ, LAN | économique, mais point unique de défaillance |
| Double pare-feu (back-to-back) | 1 pare-feu externe (WAN-DMZ) + 1 interne (DMZ-LAN) | plus sûr, plus coûteux |
L'architecture three-legged (à trois pattes) repose sur un seul équipement portant trois interfaces. Simple et abordable, elle convient aux petits environnements, mais si ce pare-feu tombe ou est contourné, toute la défense s'effondre.
L'architecture back-to-back place deux pare-feu en série, idéalement de constructeurs différents : un attaquant doit alors franchir deux barrières reposant sur des technologies distinctes pour passer de la DMZ au LAN.
La matrice de flux
Section intitulée « La matrice de flux »C'est le cœur de la sécurité d'une DMZ. Chaque flux entre les trois zones est soit autorisé, soit interdit, selon une logique stricte.
| Source vers destination | Règle | Pourquoi |
|---|---|---|
| WAN vers DMZ | autorisé (80, 443, 25, 53...) | services publics |
| WAN vers LAN | interdit | jamais d'accès direct Internet vers interne |
| LAN vers DMZ | autorisé | administration, consultation |
| LAN vers WAN | autorisé | navigation, mises à jour |
| DMZ vers LAN | interdit (règle clé) | un service compromis ne doit pas atteindre le LAN |
| DMZ vers WAN | limité | mises à jour seulement, filtré par port |
La règle DMZ vers LAN interdit est le pivot de toute l'architecture. Si un attaquant prend le contrôle du serveur web en DMZ, cette règle l'empêche d'initier une connexion vers vos machines internes. Les réponses légitimes (quand le LAN interroge la DMZ) transitent, elles, par le suivi de connexion (established, related).
Implémenter une DMZ avec nftables
Section intitulée « Implémenter une DMZ avec nftables »Voici une politique nftables qui implémente cette matrice pour un pare-feu à trois interfaces. Ce ruleset a été chargé et vérifié en lab. Adaptez les noms d'interfaces (eth0, eth1, eth2) aux vôtres.
#!/usr/sbin/nft -fflush ruleset
define WAN = eth0define DMZ = eth1define LAN = eth2
table inet firewall { chain forward { type filter hook forward priority filter; policy drop;
# Retours des connexions deja etablies ct state established,related accept ct state invalid drop
# WAN -> DMZ : services exposes uniquement iifname $WAN oifname $DMZ tcp dport { 80, 443 } accept
# LAN -> DMZ : administration / consultation iifname $LAN oifname $DMZ accept
# LAN -> WAN : navigation iifname $LAN oifname $WAN accept
# DMZ -> WAN : sortie limitee (HTTPS pour les MAJ, DNS) iifname $DMZ oifname $WAN tcp dport 443 accept iifname $DMZ oifname $WAN udp dport 53 accept
# DMZ -> LAN et WAN -> LAN : INTERDITS -> tombent sur policy drop }}Le point pédagogique essentiel : avec policy drop, tout ce qui n'est pas explicitement autorisé est bloqué. Les flux DMZ vers LAN et WAN vers LAN ne nécessitent donc aucune règle : ils sont refusés par défaut. C'est le bon réflexe (une liste d'autorisation, jamais une liste d'interdiction). Pour surveiller les tentatives suspectes, vous pouvez ajouter une règle de journalisation explicite sur DMZ -> LAN avant le drop.
Le « DMZ host » de votre box n'est pas une DMZ
Section intitulée « Le « DMZ host » de votre box n'est pas une DMZ »Attention à un faux ami répandu. Le réglage DMZ host des box grand public (Livebox, Freebox, routeurs TP-Link/Netgear) n'est pas une vraie DMZ.
| DMZ host (box) | Vraie DMZ | |
|---|---|---|
| Mécanisme | redirige tout le trafic vers une IP | sous-réseau isolé |
| Isolation du LAN | aucune | règles de pare-feu strictes |
| DMZ vers LAN | possible | interdit |
Le DMZ host redirige tout le trafic entrant (tous ports, tous protocoles) vers une seule machine interne, qui reste sur le LAN. C'est du port forwarding total : aucune isolation. Si cette machine est compromise, l'attaquant a un accès complet au réseau interne, soit l'exact inverse d'une DMZ. Préférez toujours du port forwarding ciblé (un port précis vers un hôte précis).
La DMZ dans le cloud
Section intitulée « La DMZ dans le cloud »Le concept se transpose directement chez les fournisseurs cloud, sans pare-feu à trois pattes. La DMZ devient un subnet public (qui héberge le reverse proxy ou le load balancer exposé), et le LAN un subnet privé (bases de données et backends sans IP publique). Les flux sont filtrés par des security groups et des NACL au sein d'un VPC. Le principe reste identique : seul l'indispensable est exposé, et le privé n'est jamais joignable directement depuis Internet.
Bonnes pratiques et pièges
Section intitulée « Bonnes pratiques et pièges »- Aucune donnée sensible en DMZ : les bases de données et annuaires restent dans le LAN privé.
- Durcir les hôtes DMZ : surface minimale, mises à jour, services réduits au strict nécessaire.
- Monitorer la DMZ : un IDS comme Snort repère les tentatives d'exploitation, et toute connexion DMZ vers LAN doit déclencher une alerte.
- Micro-segmenter dans la DMZ : un service compromis ne doit pas atteindre ses voisins de la même zone.
- Traiter la DMZ comme semi-hostile, même depuis le LAN : ne lui accordez jamais une confiance implicite.
À retenir
Section intitulée « À retenir »- Une DMZ est un sous-réseau isolé entre Internet et le LAN, qui héberge les services exposés.
- Deux architectures : three-legged (1 pare-feu, économique) et back-to-back (2 pare-feu, plus sûr).
- La règle clé est DMZ vers LAN interdit : un service compromis ne doit pas atteindre l'interne.
- Avec
policy drop, on autorise flux par flux ; les flux interdits ne nécessitent aucune règle. - Le DMZ host des box est du port forwarding total, pas une vraie DMZ.
- Dans le cloud, la DMZ devient un subnet public filtré par security groups, le LAN un subnet privé.
- Aucune donnée sensible en DMZ ; monitorez-la avec un IDS.
FAQ : questions fréquentes sur la DMZ
Section intitulée « FAQ : questions fréquentes sur la DMZ »Une zone tampon entre Internet et le LAN
Une DMZ (DeMilitarized Zone, zone démilitarisée) est un sous-réseau isolé placé entre Internet (non fiable) et le réseau interne (LAN, de confiance).On y héberge les services qui doivent être joignables depuis Internet : serveur web, reverse proxy, mail, DNS public.Le principe vient du vocabulaire militaire (zone tampon) : si un service en DMZ est compromis, l'attaquant se retrouve dans une zone cloisonnée et n'a pas d'accès direct au LAN. C'est une application de la défense en profondeur et de la segmentation réseau.Deux architectures classiques
| Architecture | Principe | Compromis |
|---|---|---|
| Un seul firewall (three-legged) | 1 pare-feu à 3 interfaces : WAN, DMZ, LAN | économique, mais point unique de défaillance |
| Double firewall (back-to-back) | 1 pare-feu externe (WAN-DMZ) + 1 interne (DMZ-LAN) | plus sûr, plus coûteux |
Les services exposés, rien de sensible
À placer en DMZ (accessibles depuis Internet) :- serveur web et reverse proxy ;
- relais mail (SMTP) ;
- DNS public ;
- passerelle VPN.
- bases de données ;
- fichiers et données sensibles ;
- annuaire (Active Directory, LDAP).
Un faux ami
Non, le DMZ host des box grand public n'est pas une vraie DMZ. C'est une fonction qui redirige tout le trafic entrant non sollicité vers une seule machine interne : c'est du port forwarding total, sans aucune isolation.| DMZ host (box) | Vraie DMZ | |
|---|---|---|
| Mécanisme | redirection totale | sous-réseau isolé |
| Isolation du LAN | aucune | règles de pare-feu strictes |
| DMZ vers LAN | possible | interdit |
Segmentation contre zone de sécurité
- Un VLAN est un mécanisme de segmentation : il découpe logiquement un réseau en domaines de diffusion séparés (couche 2). C'est un outil.
- Une DMZ est un concept de sécurité : une zone isolée pour les services exposés, dont les flux sont contrôlés par un pare-feu (couche 3). C'est une intention d'architecture.