Informatique : c’est quoi une DMZ ?
Sommaire
I. Présentation
Dans cet article, je vais aborder une notion fondamentale en sécurité informatique : la notion de DMZ, c'est-à-dire de zone démilitarisée.
Je vais vous expliquer à quoi ça sert, comment ça fonctionne et nous verrons des exemples à travers quelques schémas.
II. Qu'est-ce qu'une DMZ en informatique ?
Tout d'abord, il faut savoir que DMZ, ça signifie en anglais DeMilitarized Zone, et en français zone démilitarisée. Pour comprendre l'origine de ce terme, il faut s'intéresser à l'histoire, non pas à l'histoire de l'informatique, mais à l'histoire de la Corée et à la Guerre Froide. La zone démilitarisée Coréenne est une zone tampon (représentée par des terres inhabitées et où l'accès est très limité) qui sert de frontière entre la Corée du Nord et la Corée du Sud.
Sur l'image ci-dessous, on peut voir que la zone démilitarisée crée une véritable séparation entre la Corée du Nord et la Corée du Sud.
Quel est le rapport entre la DMZ entre les deux Corée et une DMZ en informatique ? Et bien, si l'on compare la situation des deux Corée avec un réseau informatique, on peut voir quelques similitudes et imaginer que :
- La Corée du Nord, c'est le réseau Internet (ou le réseau local, comme vous voulez)
- La Corée du Sud, c'est le réseau local (ou Internet)
- La zone démilitarisée est une séparation entre les deux qui est là pour des raisons de sécurité
Effectivement, on peut considérer que le réseau local est une zone de confiance, tandis qu'Internet est une zone à risque. Grâce à la DMZ, on va chercher à protéger le réseau local d'Internet, tout en permettant la communication entre les deux zones, mais de façon contrôlée et filtrée.
En informatique, la DMZ est un sous-réseau isolé à la fois du réseau local et de l'internet, c'est en quelque sorte une zone tampon, entre un réseau sécurisé et un réseau non sécurisé. Bien sûr, le réseau non sécurisé c'est Internet, car on sait qu'Internet est dangereux.
Mais, alors, qu'est-ce que l'on en fait de cette DMZ ?
Dans la DMZ, on va venir connecter des serveurs avec des rôles spécifiques. Plus précisément, en DMZ on va connecter des serveurs qui ont besoin d'accéder à Internet et d'être joignables depuis Internet. Par exemple, un serveur Web si vous hébergez un site Internet, ou alors un serveur de messagerie pour l'envoi et la réception d'e-mails. On peut aussi positionner un serveur proxy qui sert de relais pour la navigation à Internet entre les postes de travail et Internet.
Depuis quelques années maintenant, il est très courant d'utiliser un reverse proxy plutôt que d'exposer directement les serveurs, que ce soit les serveurs Web ou les serveurs de messagerie. Ce serveur va gérer les connexions entrantes, en provenance d'Internet, pour les relayer vers le(s) bon(s) serveur(s).
L'objectif étant de ne jamais exposer directement sur Internet les serveurs et postes de travail connectés au réseau local de l'entreprise. Les flux de ces équipements doivent passer par la DMZ, et donc par la zone tampon, afin de contrôler, relayer et filtrer les échanges entre le réseau local et Internet.
L'intérêt de la DMZ, c'est de créer une zone étanche dans laquelle sera contenu un pirate informatique en cas de compromission d'un serveur. En théorie, car cela dépend aussi de la configuration en place et notamment du firewall (pare-feu) car c'est bien lui qui crée la séparation entre les différentes zones : le réseau local (LAN), Internet et la DMZ.
III. Architecture réseau d'une DMZ
Pour mettre en place une zone démilitarisée au sein d'une architecture réseau, vous avez besoin d'un firewall (c'est-à-dire un pare-feu). On peut créer une DMZ avec un seul firewall, mais dans certains cas il y a deux firewalls.
A. DMZ avec un seul pare-feu
Prenons l'exemple le plus courant : la création d'une DMZ avec un seul et unique firewall. Avec cette configuration, il faut imaginer un pare-feu avec trois zones déclarées où chaque zone dispose de sa propre adresse IP. Ainsi, une machine dans le réseau local passera par le pare-feu pour accéder à la DMZ (ou à Internet, selon la politique en place).
Sur le schéma ci-dessous, il est important de préciser que le réseau local et la DMZ ont un adresse IP qui s'appuie sur les classes d'adresses IP privées.
On peut imaginer que le serveur en DMZ soit le serveur de messagerie de l'entreprise. On le positionne en DMZ car il est exposé sur Internet : il doit accéder à Internet pour envoyer les e-mails, mais aussi être joignable depuis Internet pour recevoir les e-mails. De ce fait, il représente un risque en termes de sécurité.
Depuis le réseau, on autorise les machines à contacter le serveur de messagerie, en DMZ, via quelques protocoles et ports seulement : SMTP pour l'envoi des e-mails et IMAP pour la réception des e-mails.
Éventuellement, on peut ajouter le protocole HTTPS pour accéder au Webmail. Par contre, le serveur de messagerie n'est pas autorisé à réaliser un ping vers le réseau local, ni à établir une connexion Bureau à distance ou un transfert de fichiers vers une machine du réseau local, etc. Le pare-feu devra refuser les flux des autres protocoles (ICMP, SSH, RDP, etc.) pour des raisons de sécurité.
Le positionnement du serveur de messagerie permet de créer une politique de sécurité stricte et adaptée au sein du pare-feu.
B. DMZ avec deux pare-feu
Si vous avez un peu plus d'argent, vous pouvez mettre en œuvre une DMZ basée sur deux niveaux de pare-feu. De cette façon, la DMZ est créée grâce à la zone tampon située entre les deux pare-feu.
L'idéal c'est de mettre en place un serveur proxy en DMZ pour que la connexion Internet de tous les équipements du réseau local passe par ce serveur proxy situé en DMZ, ce dernier sera alors un relais. De cette façon, les machines du réseau local ne sont jamais en contact direct avec Internet. Attention, la mise en place d'un proxy est tout à fait possible lorsqu'il n'y a qu'un seul pare-feu.
Avec deux pare-feu, on peut appliquer la configuration suivante :
- Le pare-feu n°1 autorise seulement les communications entre Internet et la DMZ
- Le pare-feu n°2 autorise seulement les communications entre le réseau local et la DMZ
Dans les deux cas, avec des protocoles et des ports spécifiques. Si un attaquant parvient à passe-outre la politique de sécurité du pare-feu n°1 et prendre la main du serveur situé en DMZ, il devra passer une seconde barrière : le pare-feu n°2, afin d'accéder au réseau et aux serveurs connectés directement sur ce segment du réseau.
Dans cet exemple, je montre uniquement le flux lié à la messagerie, mais si vous souhaitez que vos utilisateurs accèdent à Internet en direct (sans passer par votre éventuel proxy), il faudra bien sûr autoriser les protocoles HTTP/HTTPS.
Que ce soit avec un ou deux pare-feu, gardez à l'esprit que l'objectif sera de protéger notre réseau de confiance, à savoir le réseau local, grâce à la zone démilitarisée.
Bonjour,
Merci pour cet article. J’ai cependant une question:
Quel est l’intérêt de mettre en place 2 niveaux de Pare-feu ? Les flux sont les mêmes sur les 2 images, et 1 seul Pare-feu peut très bien gérer plusieurs zones ?
Cordialement,
Phil
sécurité en profondeur, il faut plusieurs couches de sécurités. Un hacker peut réussir à passer une couche donc il en faut plusieurs.
Bonjour,
Très bon article comme d’habitude.
Je complèterai en renforçant le pare-feux en n’autorisant que les sorties vers des URL/IP précises pour le serveur en DMZ (vers les serveurs des màj par exemple) vu qu’une des premières choses que va faire un pirate (s’il arrive à compromettre le serveur en DMZ) sera de télécharger sa trousse à outils pour continuer le piratage.
Pour les 2 pare-feux, l’idée est de ralentir un pirate. L’idéal serait d’avoir deux pare-feux de marque/système différents. Ainsi s’il pète le premier, il lui faudra trouver une autre solution pour péter le deuxième, ce qui donnera une chance aux admins de détecter l’attaque.
Voili voilou….
Olivier
Bonjour je prépare actuellement un projet pour l’école concernant la mise en place d’une fédération avec un AD FS, et je souhaite donc inclure une DMZ, mais j’ai encore du mal avec ces notions….
Mon infrastructure contient deux firewall (un passif et un actif) et pour intégrer la dmz, je dois forcément inclure un troisième firewall, mais je n’arrive pas à imaginer comment sur mon shéma j’aimerais savoir comment je peux organiser ma dmz et comment la relié, et surtout comment relié mon troisième firewall qui sera externe au réseau
C’est n’importe quoi ce que vous dites @olivier, car si dans la DMZ nous avons un serveur Web par exemple, il doit pouvoir répondre aux requêtes URL qui lui seront envoyés, on ne peut donc pas restreindre les sorties. Bref.
Bonjour, très bel article, explication facile et fluide. Merci infiniment.