Le NAT
Le protocole IPv4, qui a été conçu à une époque où la connectivité à grande échelle n’était pas encore une considération majeure, présente un problème fondamental dans le monde moderne connecté : la pénurie d’adresses IP. Le nombre croissant d’appareils connectés à Internet a épuisé le pool d’adresses IP disponibles, rendant difficile l’allocation d’adresses IP uniques à chaque nouvel appareil.
Dans ce contexte, il est important de distinguer deux types de réseaux : le réseau public d’Internet et les réseaux privés. Le réseau public d’Internet est le vaste espace où chaque appareil doit avoir une adresse IP unique pour être identifiable. Les réseaux privés, en revanche, sont des espaces clos où chaque appareil possède une adresse IP unique au sein de ce réseau local, mais cette adresse peut être réutilisée dans d’autres réseaux privés. Ces adresses privées ne sont pas routables sur Internet.
C’est ici qu’intervient le NAT. Le NAT est un mécanisme qui permet à plusieurs appareils d’un réseau privé de se connecter à Internet via une seule adresse IP publique. Il agit comme un intermédiaire entre un réseau privé et le réseau public d’Internet, permettant ainsi une utilisation plus efficace des adresses IP limitées disponibles. Grâce au NAT, les appareils au sein d’un réseau privé peuvent accéder à Internet même s’ils n’ont pas d’adresse IP publique. Le NAT est donc, en quelque sorte, le pont qui permet de passer du réseau privé au réseau public, facilitant ainsi notre vie dans un monde de plus en plus connecté.
Le fonctionnement du NAT repose sur une série d’opérations de mappage et de remplacement d’adresses IP et de numéros de port. Lorsqu’un ordinateur d’un réseau privé envoie un paquet de données à un serveur distant sur Internet, le routeur doté de la fonctionnalité NAT intervient. Le routeur garde une table de traduction qui est utilisée pour maintenir une correspondance entre les adresses IP internes et les détails de la session de communication.
Le NAT dynamique
Dans le cas d’un ordinateur d’un réseau privé cherchant à communiquer avec un serveur distant, le paquet de données initial contiendrait l’adresse IP privée de la source et le port source choisi par le système d’exploitation. Lorsque ce paquet atteint le routeur NAT, le champ de l’adresse IP source est remplacé par l’adresse IP publique du routeur. De même, le port source est souvent modifié pour un autre numéro de port unique qui n’est pas actuellement utilisé pour une autre session NAT. Ce nouveau numéro de port et l’adresse IP publique du routeur deviennent le nouveau couple identifiant la session de communication dans le réseau public.
Le routeur NAT met à jour sa table de traduction avec cette correspondance. Toute réponse du serveur distant serait alors adressée à l’adresse IP publique du routeur et au port source modifié. Lorsque ce paquet de réponse atteint le routeur, celui-ci consulte sa table de traduction pour déterminer à quelle adresse IP et à quel port internes le paquet doit être transmis. Les champs de l’adresse IP et du port de destination sont alors modifiés en conséquence, et le paquet est transmis à l’ordinateur dans le réseau privé.
Ce mécanisme permet non seulement la conservation des adresses IP, mais assure également que les sessions de communication demeurent uniques et traçables, grâce à la table de traduction maintenue par le routeur NAT. Ce tableau est dynamique et constamment mis à jour, avec des entrées qui peuvent être supprimées en fonction de critères tels que la durée de vie de la session ou la détection d’une fin de communication. Ainsi, le NAT sert de passerelle entre les réseaux privés et Internet.
Il est important de noter que le mécanisme du NAT dynamique fonctionne principalement pour les communications initiées à partir d’un réseau privé vers le réseau public. C’est-à-dire que les paquets doivent être initiés à partir du réseau privé pour que le dispositif NAT puisse créer une entrée dans sa table de traduction d’adresses. Les paquets provenant du réseau public d’Internet ne traverseront pas le NAT pour atteindre le réseau privé. Pour permettre cela, des configurations spécifiques, telles que le port forwarding mentionné dans la section suivante, doivent être mises en place.
Un autre avantage important du NAT réside dans la sécurité qu’il apporte aux utilisateurs. En masquant les adresses IP privées derrière une adresse IP publique unique, le NAT agit comme une première ligne de défense contre les menaces externes. Les PC du réseau privé ne sont pas directement exposés aux menaces potentielles d’Internet, telles que les scans de port malveillants ou les tentatives d’intrusion, car leur présence est en quelque sorte “dissimulée” derrière le dispositif NAT. Cette obscurité rend plus difficile pour les acteurs malveillants de cibler des machines spécifiques à l’intérieur du réseau privé, offrant ainsi un niveau supplémentaire de sécurité.
Le NAT statique
Héberger un serveur à domicile peut poser un défi particulier lorsqu’on utilise le NAT. Comme évoqué précédemment, le NAT est principalement conçu pour gérer des communications initiées depuis le réseau privé vers le réseau public. Lorsque vous hébergez un serveur chez vous, le besoin est inversé : les connexions doivent être initiées depuis le réseau public pour accéder à une ressource spécifique à l’intérieur de votre réseau privé. Pour surmonter cet obstacle, une technique appelée “port forwarding” ou redirection de port est souvent utilisée.
Le port forwarding permet de spécifier qu’un port particulier sur l’adresse IP publique du dispositif NAT doit être redirigé vers une adresse IP et un port spécifiques à l’intérieur du réseau privé. Par exemple, si vous hébergez un serveur web sur un PC dans votre réseau privé, vous pourriez configurer le port forwarding pour rediriger toutes les requêtes entrantes sur le port 80 (le port HTTP standard) vers l’adresse IP du PC qui héberge le serveur web.
Pour mettre en place le port forwarding, vous devez accéder à l’interface de configuration de votre routeur. Une fois dans l’interface, vous trouverez généralement une section dédiée au port forwarding où vous pourrez entrer les informations nécessaires : le numéro du port à écouter sur le réseau public, le numéro du port de destination à l’intérieur du réseau privé, et l’adresse IP de la machine du réseau privé à laquelle les paquets doivent être envoyés. Cette configuration crée une règle statique dans la table de traduction d’adresses du dispositif NAT.
Les hôtes totalement exposés
Après avoir exploré les mécanismes du port forwarding pour exposer des services spécifiques d’un réseau privé au réseau public, il peut être utile de discuter d’une autre méthode couramment utilisée : le concept de DMZ. Dans cette configuration, une machine spécifique du réseau privé est désignée comme étant en “DMZ”. Cette machine est alors entièrement exposée au réseau public, ce qui signifie que tous les ports non filtrés sont redirigés vers cette machine spécifique.
Le concept de DMZ est souvent utilisé pour des serveurs qui nécessitent un accès depuis l’Internet public pour de multiples services ou applications. En exposant complètement l’hôte, on élimine le besoin de configurer des règles de port forwarding individuelles pour chaque service ou application. Ainsi, la DMZ offre une alternative au port forwarding pour les situations où un accès plus ouvert au réseau public est nécessaire, tout en mettant en évidence des considérations de sécurité qui ne doivent pas être négligées.
Il est important de comprendre que placer une machine en DMZ expose cette dernière à un risque de sécurité considérable. Tous les services actifs et les ports ouverts sur cette machine seront accessibles depuis le réseau public. Cela nécessite donc des mesures de sécurité très strictes, notamment un pare-feu robuste sur la machine elle-même, des mises à jour de sécurité régulières, et idéalement, une surveillance constante de l’activité du réseau. C’est par conséquent une option à considérer avec soin, en pesant les avantages contre les inconvénients en matière de sécurité et de gestion du réseau.
Pour configurer une machine en DMZ, il suffit d’entrer dans l’interface de gestion de votre dispositif NAT et de spécifier l’adresse IP de l’hôte qui sera exposé. L’option peut s’appeler de différentes manières, telles que “DMZ”, “Exposed Host” ou “Public Host”, selon le fabricant et le modèle du routeur. Une fois cette configuration en place, toute requête entrante depuis le réseau public qui n’est pas déjà associée à une règle de port forwarding existante sera directement envoyée à l’adresse IP de cet hôte.