Mécanismes logiques de sécurité: NAT

Concepts
La translation, ou masquage, d’adresse, encore appelée NAT (Network Address Translation), a été
initialement développée pour pallier la pénurie d’adresses IP liée au protocole IP.
Si une adresse IP peut théoriquement prendre...
n’importe quelle valeur entre 0.0.0.0 et 255.255.255.255, certaines adresses IP sont cependant réservées à des usages particuliers.
Ainsi, toute adresse se terminant par 255 correspond traditionnellement à une adresse de sous réseau
entier, également appelée adresse de broadcast. Il n’est également pas recommandé d’utiliser les adresses IP se terminant par un zéro, ces adresses pouvant être utilisées par certains systèmes également comme des adresses de broadcast (systèmes Unix BSD par exemple).
En outre, les adresses IP de 224.0.0.0 à 255.255.255.255 sont réservées au réseau multicast (un équivalent IP aux systèmes de diffusion multimédia ) : aucune machine ne doit prendre une telle adresse, ces dernières étant alors réservées à des réseaux de diffusion multicast.
Enfin, la RFC 1918 spécifie certaines classes d’adresses comme ne devant être utilisées que pour des réseaux privés : par définition, ces classes d’adresses ne sont pas routables sur l’Internet. La RFC 1918 définit 3 classes d’adresses privées, résumées dans le tableau ci dessous :

 

La translation d’adresse permet alors de disposer sur un réseau interne d’adresses de classes  privées, tout en autorisant l’émission de requêtes à destination de l’Internet. Le mécanisme retenu consiste alors à utiliser un équipement actif spécialement configuré, qui va traduire les adresses privées en adresses officielles, et vice versa : fonctionnellement, il s’agit donc d’une simple traduction d’adresse bi-directionnelle basée sur des tables de correspondances, et selon un fonctionnement de type « Proxy » ou « relais ».
Selon le nombre d’adresses internes et privées, il existe trois types de translation d’adresse :
                                                                      
Masquage d’adresse
Egalement connue sous le nom de Port Address Translation (ou PAT), cette technique est utilisée lorsque l’on ne dispose que d’une seule adresse officielle Internet mais que l’on souhaite permettre à N machines internes de communiquer avec l’extérieur.
Lorsque l’équipement actif réalisant la translation réceptionne un paquet sortant, il établit un contexte de session et relaye le paquet vers l’extérieur en se choisissant un port source qui identifiera l’émetteur. Vu de l’extérieur, les requêtes semblent toutes provenir d’une seule et même machine (généralement le routeur d’interconnexion).

Le seul inconvénient de cette technique réside dans le fait qu’il est ici impossible d’avoir un serveur interne accessible depuis l’extérieur : cette technique ne fonctionne donc que si toutes les machines, coté réseau interne, sont des clients.

Conversion dynamique d’adresse
Cette méthode est utilisée lorsque l’on dispose de N adresses officielles mais que le nombre de machines coté interne est supérieur à N. Dans ce cas de figure on joue alors sur le fait qu’il est très peu probable que toutes les machines internes décident de communiquer avec l’extérieur en même temps.
L’équipement actif dispose alors d’un pool d’adresses, qu’il va alors allouer dynamiquement au fil des communications aux clients. Quand un client termine sa session, l’adresse allouée est alors remise dans le pool des adresses libres.
Exemple :
· On dispose d’adresses officielles de 145.10.10.1 à 145.10.10.10 (soit 10 adresses en tout)
· Le réseau interne est composé de 200 machines ayant pour adresses 192.168.1.1 à 192.168.1.200
· La machine 192.168.1.50 émet une trame vers l’extérieur : le NAT lui alloue une adresse officielle en 145.10.10.1 (généralement la première libre)
· La machine 192.168.1.68 émet une trame vers l’extérieur : le NAT lui alloue une adresse officielle en 145.10.10.2
· La machine 192.168.1.50 termine sa requête : l’adresse 145.10.10.1 est alors libérée
· La machine 192.168.1.78 émet une trame vers l’extérieur : le NAT peut alors lui allouer n’importe quelle adresse libre (donc y compris 145.10.10.1 qui vient d’être libérée).
· Etc.
L’inconvénient majeur de cette technique réside dans le fait qu’il peut arriver un moment où il n’existe plus une seule adresse libre dans le pool d’adresses officielles : dans ce cas, le client ne pourra pas être servi. En outre, l’allocation des adresses étant purement dynamique, on ne pourra pas mettre en place un serveur coté interne puisque celui-ci n’aura pas la garantie d’obtenir toujours la même adresse.

Conversion statique d’adresse
Il s’agit du cas le plus simple : on dispose d’autant d’adresses officielles que d’adresses internes et on alloue alors statiquement les adresses officielles une à une. Il est désormais possible de mettre en place un serveur puisque ce dernier aura toujours la même adresse officielle

0 com:

Enregistrer un commentaire

Suggérer des améliorations à apporter au blog, des articles, des commentaires ou des liens sur la sécurité informatique.Merci