NAT dynamique : règle d'accès à Internet

Formation Stormshield Network Security

Tutorial Thumbnail

Le NAT Dynamique (Network Address Translation) consiste à fournir à un réseau local un accès à Internet à votre réseau local. L'objectif est donc de translater un réseau IP privé en une adresse IP publique.



Principe

Rappelons le, mais typiquement le réseau local n'est pas routable sur Internet (10.28.0.0/24, 192.168.0.0/24...). Il est nécessaire donc d'utiliser l'adresse IP publique fournie par votre FAI (par exemple via la fibre optique ou par l'interface modem PPPoE...).


Le NAT fonctionne en remplaçant l'adresse IP locale d'une machine par votre adresse IP publique afin d'accéder aux ressources situées en dehors de votre réseau. Pour ce faire, le routeur va attribuer chaque nouvelle connexion un port aléatoire éphémère pour les différencier.


Sur les pares-feux SNS, les règles NAT doivent être réalisées à la main. Pour cela, accéder à l'interface Web du SNS, puis rendez-vous dans la section CONFIGURATION > POLITIQUE DE SÉCURITÉ > Filtrage et NAT, puis le second onglet "NAT" :




Une règle de NAT en général est séparée en deux sections qui sont :

  • Le trafic avant translation : il s'agit du trafic original, trafic souhaitant être translaté, trafic arrivant sur les interfaces du pare-feu SNS.
  • Le trafic après translation : le paquet IP sortant des interfaces du pare-feu SNS.


Par défaut sur le pare-feu, aucune règle par défaut n'est créée car un pare-feu n'as pas forcément besoin d'accéder soit à Internet. Dans cette partie de l'interface, il peut y avoir plusieurs règles de NAT et l'ordre de lecture des règles est séquentiel.


Ces règles sont appliquées dans l'ordre de la priorité la plus haute vers la plus basse. Par défaut, chaque règle NAT est désactivée.


À noter que dans ce cas, la construction des règles NAT est toujours la même pour chaque réseau et il est important de réaliser ces règles avec précaution, car en cas d'erreur, ces règles peuvent éventuellement couper l'accès au SNS ! La connexion en mode console sera nécessaire afin de reprendre la main... Gardez également à l'esprit que les règles de filtrages ne remplacent pas les règles de NAT, elles sont également nécessaires.



Création d'une règle simple afin d'accéder à Internet

Lors de la création d'une règle NAT simple, celle-ci permets de rendre accessible une ressource en dehors d'un réseau, telle qu'elle est présentée. Cette ressource peut être par exemple un serveur Web, un serveur de messagerie, nécessitant d'être accessible depuis l'extérieur (Internet par exemple).


Source originale avant translation

Au niveau de l'édition, soit vous glissez-déposez chaque objet à son emplacement, ou bien vous double-cliquez sur la règle afin d'ouvrir l'assistant de création.

La partie "Source original" est le réseau local, la machine qui souhaite avoir un accès au réseau Internet. Deux volets sont présents qui sont : l'onglet Général et Configuration Avancée.


Dans l'onglet Général, vous pouvez choisir votre réseau source avant translation :




Vous n'êtes pas obligé de sélectionner une interface source. Le SNS détecte l'interface qui porte le réseau et qu'en cas d'usurpation, l'IPS de Stormshield bloquera cet accès.


Vous pouvez choisir également le groupe en lecture seul "Network_Internals", mais je vous conseille de créer une règle par réseau, afin de mieux visualiser les choses 😉

Si vous souhaitez, vous pouvez dédier, filtrer une règle à un utilisateur, un groupe récupérés depuis un annuaire LDAP configuré sur le pare-feu SNS. Nous verrons cela plus en détails prochainement dans la formation.



La partie Configuration Avancée est généralement la partie la moins utilisée. Elle recense d'option de paramétrer le port source et ainsi que le DSCP (pour la QoS). Aussi, vous pouvez choisir la méthode d'authentification afin que la règle matche :



Dans notre cas, nous n'allons pas modifier ces options.



Destination originale avant translation

Au niveau de la partie "Destination originale", on souhaite spécifier l'accès au réseau Internet. Dans la partie Générale, recherchez l'objet "Internet" et ajoutez-le en tant que machines destinations :




De plus, vous voyez également que vous pouvez spécifier une liste de ports de destination. Il est possible de mettre plusieurs type de ports.


Dans la partie Configuration Avancée, vous pouvez spécifier une interface de sortie, dans le cas où vous avez plusieurs passerelles de sortie à Internet. La publication ARP consiste à faire en sorte que si l'adresse IP publique de destination (avant application du NAT) est une IP virtuelle et n'est pas celle de l'UTM, alors le mécanisme va publier l'adresse MAC et IP de l'interface de sortie, généralement nécessaire pour les accès à des machines depuis Internet.




Dans notre cas, nous souhaitons créer une règle NAT permettant à un réseau local d'accéder à Internet. Ici, notre réseau local "Network_In" (1.2.3.0/24) doit accéder à Internet :




Nous allons ainsi spécifier le réseau source qui doit avoir accès à Internet, à destination de l'objet "Internet" (différent des réseaux locaux, de l'objet "Network_Internals"), qui est le trafic original avant translation.


Pourquoi ne pas mettre "Any" au lieu de l'objet "Internet" ? 🤔

Le fait de mettre l'objet "Internet", permets de translater uniquement le trafic destiné à accéder à Internet. Si jamais vous mettez l'objet "Any", ce dernier représente tout le trafic, que cela soit des réseaux privée ou non, il va donc translater tout le trafic qui passe à travers cette règle NAT. Si jamais vous faite cette erreur, vous risquez donc de perdre l'accès à votre pare-feu SNS. Faite très attention !


Au niveau des ports de destination, nous souhaitons translater tout le trafic tel que les demandes HTTP, ICMP. Il est bien évidemment possible de créer une règle NAT de de dédier celle-ci à certains ports.



Source après translation

Après translation, c'est cette partie qui sortira sur l'interface du pare-feu. Étant donné que nous avons vu qu'un réseau local n'est pas accessible depuis Internet, nous devons modifier l'adresse IP source par l'adresse IP publique de notre FAI (ou celle de notre Box Internet qui porte l'adresse IP publique du FAI). Niveau théorique du NAT, on va modifier le champ "Source" par l'adresse IP publique vers la destination, qui elle ne change pas.


On va modifier ainsi deux choses : la source et les ports sources.


L'interface source sera effectivement l'interface de sortie raccordée au pare-feu. Il peut s'agir de votre IP publique, de votre modem, ou bien l'adresse IP privée du réseau de la box d'accès à Internet. Il s'agit donc de la source qui sera routable sur Internet, l'équipement qui à accès à Internet :




Dans notre règle de NAT, nous avons définis trois paramètres :

  • Machine source translatée : adresse IP de l'interface de sortie du pare-feu (par défaut : "Firewall_out"), connectée à Internet.
  • Port source translaté : choisir l'objet "ephemeral_fw", qui est une rangée de numéro de ports allant de 20000 à 59999, utilisé pour des protocoles de la couche de transport. Ils sont utilisés pendant une courte période, lors de la durée d’une session de communication. Ces ports de courte durée sont alloués automatiquement dans une plage prédéfinie.
  • Activer l'option "Choisir aléatoirement le port source translaté" : sans l'option, chaque connexion utilisera un port qui commencera de 20000 en incrémentant toujours de 1 pour chacune des connexions établies, ce qui peut rendre prévisible la connexion. Le fait d'activer cette option permets alors de choisir de manière aléatoire le numéro de port de connexion, augmentant ainsi la prédiction du numéro de port de connexion.


👉 La destination quant à elle ne change pas et de même que pour le port de destination. Il s'agit de l'adresse publique du serveur de destination (serveur Web par exemple).

À noter que quand dans la colonne, la case est blanche, les valeurs sont celles du trafic original :



Ainsi, voici à ce quoi ressemble la partie après translation :




Règle complète

Voici un aperçu général de la règle créée :




Dans ce cas, vous n'êtes pas obligé de spécifier une interface mais utile pour gagner un peu plus de temps, vous pouvez quand même spécifier l'interface de sortie du pare-feu afin d'éviter au SNS d'analyser et de trouver la correspondance avec le réseau et l'interface.


Modifier les options de la règle

Des options peuvent êtres activées : le niveau de filtrage et NAT dans le tunnel IPsec (avant chiffrement, après déchiffrement). Ces options sont uniquement disponibles en double-cliquant sur la règle NAT, puis dans la partie "Options" :




Nous verrons la partie "Niveau de trace" dans la partie "Règles de filtrage" dans le cadre de la formation.


Avec cette règle de configurée, on n'oublie pas de l'activer en double cliquant sur l'état "On" , et normalement le réseau local source disposera d'un accès à Internet ! 😀


👉 Cependant, il est nécessaire de créer des règles de filtrages afin d'autoriser l'accès à Internet. Par défaut, le pare-feu bloque tout trafic et c'est justement l'objectif du prochain tutoriel de cette formation.


Règle de partage d'adresse source (masquerading)

La règle de partage d'adresse source (masquerading) permets de définir automatiquement les ports éphémères, qui est la seule différence. Dans notre cas nous avons réalisé la configuration de la règle de NAT au complet, afin de mieux situer et comprendre les choses.



Les séparateurs

Les séparateurs sont des repères visuels, afin de mieux classifier et ranger vos différentes règles. Il s'agit ici juste d'une question d'affichage et n'impacte pas les règles. Vous pouvez y insérer du texte, mais également changer la couleur de celui-ci :




Le séparateur comptabilise le nombre de règles englobées et l'intervalle des règles comprises au prochain séparateur. Vous pouvez déplier / replier également celui-ci :




Les jeux de règles

Stormshield a décidé de proposer un système de slot, un système de jeux de 10 règles. Par défaut, six règles sont prédéfinis par défaut dont 4 volets vides.

Vous pouvez retrouver ce menu en haut à gauche de l'interface :




Le slot actif est caractérisé par l'icône vert ou un icône orange indiquant que les modifications ont été enregistrées, mais qu'elle n'ont pas été activées et prises en compte par l'administrateur, si jamais vous cliquez sur le bouton "Plus tard" :




Chaque changement de slot prends en compte le changement des règles de filtrages et des règles de NAT !


Il est très conseillé de ne pas modifier ou d'ajouter vos propres règles dans les slots par défaut mais d'utiliser un slot vide pour vos règles de filtrages et de NAT. Si jamais vous avez un problème avec vos règles, il sera très facile de modifier le slot en cours d'utilisation en CLI.



N'oubliez pas qu'une règle de NAT et de filtrage sont à prendre en compte toutes les deux et sont à faire en même temps, et inversement ! Une règle de NAT n'est pas suffisante pour autoriser le trafic à accéder à la ressource. Dans le cadre d'une règle de NAT dynamique, lors de l'accès à Internet, il est nécessaire de créer par la suite des règles de filtrages autorisant ces flux 😉

Niveau Intermédiaire

Technologie utilisée :

Proposer une modification
Antoine
Par Antoine
Rédigé le Jeudi 26 Octobre 2023