Vous êtes sur la page 1sur 44

TR2 : Technologies de l'Internet

 Chapitre VI
NAT statique et dynamique
Overloading (PAT)
Overlapping, port Forwarding
Serveur Proxy, DMZ

1
NAT : Network Address Translation
 Le NAT a été proposé en 1994 sous la RFC 1631
comme solution à court terme face au manque
d'adresses IP.
 Son objectif principal était de permettre aux
adresses IP d'être partagées par un grand nombre
de périphériques réseau.
 En une dizaine d'années d'existence, il a donné le
temps nécessaire pour concevoir le nouveau
protocole d'adressage IPv6 et, aujourd’hui, le
début de son déploiement.

2
Intérêt du NAT
 Le NAT permet d'utiliser des adresses n'ayant pas
de signification globale (par exemple des adresses
privées définies dans la RFC 1918, non routables)
pour se connecter à travers l'Internet en traduisant
celles-ci en adresses globales routables
 Rend possible l’accès à l’extérieur depuis et vers
ces machines

3
Principe du NAT
 Le routeur NAT de sortie va modifier l’entête IP de
tout paquet provenant d’une machine locale interne
en remplaçant l’adresse source IP privée par une
adresse publique globale unique avant d'envoyer
les paquets vers le réseau externe.

4
La portée du NAT
 On peut utiliser le NAT dans différents cas :
 On dispose d'une multitude d'hôtes adressées de
manière privée et on a une seule ou quelques
adresses IP globales (publiques).
 Le NAT est configuré sur un routeur en bordure
d'un réseau d'extrémité, étant identifié comme
étant le côté interne(inside), qui connecte un
réseau public comme l'Internet, identifié comme
étant le côté externe (outside).
 Le NAT permet aussi de fournir une solution
élégante de renumérotation pour les organisations
qui changent de fournisseur de service ou qui
migrent vers le CIDR

5
La portée du NAT
 Vu de l’extérieur, le routeur se fait passer pour la
machine source : le réseau Intranet est invisible
depuis l’extérieur
 Il contribue à améliorer la sécurité des réseaux
internes puisqu'il les cache.
 On peut aussi rendre accessible des hôtes qui sont
localement et globalement dans le même adressage,
autrement dit on permet une connectivité d'adresses
se chevauchant (overlapping) de part et d'autre du
routeur NAT.
 On peut utiliser également le NAT pour distribuer la
charge TCP vers un hôte virtuel qui répond à la
place de plusieurs serveurs réels selon un principe
de type round-robin.

6
Traduction NAT statique
 Fonctionne à l’aide d’une table statique
 la correspondance @privée / @publique est fixe
 A chaque @privée correspond à une @publique

7
Traduction NAT statique
 le routeur se fait passer pour l’ensemble des
machines d’adresses publiques au niveau des
requêtes ARP du premier routeur extérieur
 Proxy ARP: le routeur NAT met dans sa table ARP
son adresse Ethernet pour toutes les adresses
publiques
 Au retour d’un paquet dans le routeur NAT,
il redirige le paquet vers la bonne machine de
l’Intranet
 Administration en cas de changement de l’Intranet
seulement sur le routeur
 On n’économise pas d’adresses publiques
(pour cela il faut alors faire de la NAT dynamique)

8
La terminologie de Cisco
 Cisco emploie les termes inside local address
pour spécifier le côté interne et inside global
address pour spécifier le côté externe

9
Tables NAT statiques
 Concrètement, on trouvera dans les tables NAT jusqu'à
quatre types d'adresses :
 Inside local address - L'adresse IP assignée à un
hôte à l'intérieur d'un réseau d'extrémité. Il s'agit
probablement d'une adresse privée, non routable.
 Inside global address - La ou les adresses IP
publiques qui représentent les adresses IP locales
internes, les adresses IP routables du routeur NAT.
 Outside local address - L'adresse IP d'un hôte telle
qu'elle apparaît aux hôtes d'un réseau interne. Il ne
s'agit pas nécessairement d'une adresse légitime
routable.
 Outside global address - L'adresse IP réelle
routable d'un hôte qui se situe à l'extérieur du réseau
du routeur NAT.
10
Configuration NAT statique Cisco
 Définition du NAT statique
 (config)#ip nat inside source static 10.1.1.1 200.1.1.1
 (config)#ip nat inside source static 10.1.1.2 200.1.1.2

11
Configuration NAT statique Cisco
 Définition des interfaces Inside/Outside
 (config)#interface Ethernet 0/0
(config-if)#ip nat inside
(config)# interface Serial 0/0
(config-if)#ip nat outside
 Contrôle de la configuration des interfaces
 (config)#show ip interface brief
interface Ethernet 0/0
ip address 10.1.1.5 255.255.255.0
ip nat inside
!
interface Serial 0/0
ip address 200.1.1.251 255.255.255.0
ip nat outside
!
ip nat inside source static 10.1.1.2 200.1.1.2
ip nat inside source static 10.1.1.1 200.1.1.1
12
Traduction NAT dynamique
 Appelée aussi IP masquerading
 Permet d’attribuer (associer) dynamiquement lors
des connexions des adresses IP publiques aux
adresses privées
 L’adresse source des paquets devient l’adresse
externe du routeur
 Problème : comment le routeur se rappelle-t-il
des correspondances ?
 La configuration définit un pool d’adresses globales
internes et des critères pour désigner l’ensemble
des adresses locales internes qui doivent être
remplacées.

13
Traduction NAT dynamique
 Pool d’adresses publiques NAT allouées à la demande

14
Association connexion/@privée
 Le routeur alloue à la demande les adresses
publiques (globales internes) du pool NAT à des
adresses sources privées d’une plage bien définie
 L’allocation se fait au moment du premier paquet
qui sort en se rappelant le numéro de port source

15
Table dynamique NAT
 Le routeur remplace l’adresse source et le port
source par l’adresse prélevée dans le pool le port
virtuel associés.
 Le routeur alloue les adresses définies dans le pool
jusqu’à épuisement de celles-ci
 L’entrée dynamique demeure dans la table tant que
du trafic est échangé entre ces deux adresses.
 On peut configurer le délai d’expiration
(durée pendant laquelle le routeur doit attendre en
l’absence d’échanges avant de supprimer l’entrée)
 ip nat translation timeout <seconds>
 On peut aussi supprimer la table manuellement
 clear ip nat translation

16
Configuration Cisco du NAT dynamique
 Adresses locales soumises au NAT
 (config)#access-list <access-list_num> permit
<source_ip> <wildcard_mask>
 Pool d'adresses globales
 (config)#ip nat pool <name> <start_ip> <end_ip>
 Définition du NAT
 (config)#ip nat inside source list <access-list_num>
pool <name>
 Définition des interfaces Inside/Outside
 (config)#interface <type> <number>
(config-if)#ip nat inside
(config)# interface <type> <number>
(config-if)#ip nat outside

17
Exemple traduction NAT dynamique

18
Exemple traduction NAT dynamique
 (config)#show ip interface brief
interface Ethernet 0/0
ip address 10.1.1.5 255.255.255.0
ip nat inside
!
interface Serial 0/0
ip address 200.1.1.251 255.255.255.0
ip nat outside
!
ip nat pool monpool 200.1.1.1 200.1.1.2 netmask
255.255.255.252
ip nat inside source list 1 pool monpool
!
access-list 1 permit host 10.1.1.2
access-list 1 permit host 10.1.1.1

19
Traduction PAT dynamique (overloading)
 Dans la traduction NAT dynamique, il faut avoir
suffisamment d’adresses publiques pour assurer
une bonne connectivité des postes clients.
 Autant d’adresses publiques que de clients
(adr. privées) connectés en même temps.
 Adapté à une utilisation de type « roulement ».
 Pb si le nombre d’adresses publiques disponibles
est inférieur à celui des clients à servir.
 L’overloading, ou traduction PAT (Port Address
Translation), permet à NAT de mieux s’adapter à
l’augmentation des clients Internet d’une
entreprise, au moyen de quelques adresses
publiques seulement.

20
Overloading (PAT)
 PAT tire parti du fait que le serveur ne fait pas la
différence entre ces deux situations

21
Overloading (PAT)
 Pour servir une grande quantité d’adresses locales
internes à l’aide d’une ou quelques adresses
globales internes enregistrées, la traduction
étendue PAT emploie les ports en plus de l’adresse

22
Translation de port (port virtuel)
 Substitution du port source initial par un port source
virtuel unique à chaque connexion
 Une seule adresse publique suffit alors pour un
nombre quelconque de machines dans l’Intranet
 Les ports virtuels différents attribués à chaque
connexion permettent ainsi de différencier les
destinataires des paquets entrants

23
PAT avec 1 seule adresse publique
 Adresses locales soumises au NAT
 (config)#access-list <access-list_num> permit
<source_ip> <wildcard_mask>
 Définition du NAT
 (config)#ip nat inside source list <access-list_num>
interface <type> <number> overload
 Définition des interfaces Inside/Outside
 (config)#interface <type> <number>
(config-if)#ip nat inside
(config)# interface <type> <number>
(config-if)#ip nat outside

24
PAT avec 1 seule adresse publique
 (config)#show ip interface brief
interface Ethernet 0/0
ip address 10.1.1.5 255.255.255.0
ip nat inside
!
interface Serial 0/0
ip address 200.1.1.251 255.255.255.0
ip nat outside
!
ip nat inside source list 1 interface Serial 0/0
overload
!
access-list 1 permit host 10.1.1.2
access-list 1 permit host 10.1.1.1
 show ip nat translations pour afficher les tables
25
Chevauchement d’adresses (overlapping)
 La traduction dynamique peut également être
utilisé dans le cas où un réseau interne ne recourt
pas aux adresses réservées à l’usage privé telles
que définies dans la RFC 1918 mais à des adresses
publiques déjà enregistrées par une autre société.
 Exemple: Si une société se trouve
malencontreusement dans cette situation ou elle
utilise des adresses déjà enregistrées et utilisées
sur le réseau public et que les hôtes internes se
connectent à Internet, la traduction NAT apporte
une solution à ce problème.
 Dans ce cas, l’adresse source et destination sont
remplacées (overlapping).

26
Chevauchement d’adresses (overlapping)

27
Port Forwarding (redirection de port)
 Inconvénient du PAT : on ne peut pas initier une
connexion depuis l’extérieur car on ne connait pas
le port source réel (impossible d’avoir un serveur
WEB par exemple dans l’Intranet)
 Solution : port forwarding
 Le port forwarding consiste à rediriger un
paquet vers une machine précise en fonction du
port de destination de ce paquet.
 Ainsi, lorsque l'on n'a qu'une seule adresse
publique avec plusieurs machines derrière en
adressage privé, on peut initialiser une
connexion de l'extérieur vers l'une de ses
machines (une seule par port TCP/UDP)

28
Port Forwarding & port mapping
 On met en dur dans la table NAT du routeur
 port fixe: port privé/ adresse privée

 Expl : la machine
10.0.0.1 possède
un serveur Web.

 Port Forwarding 80: 80/10.0.0.1


Les paquets arrivant de l’extérieur vers le routeur
195.0.0.254, 80 seront redirigés vers 10.0.0.1, 80
 Pb si deux serveurs Web sur 2 machines différentes
 Le “port mapping” consiste à mapper le port de la
machine interne à un port fixe différent
Ex : 8080:80/10.0.0.2 et serveur Web sur 10.0.0.2

29
Port Forwarding avec Cisco
 Définition
 ip nat inside source static { tcp | udp }
<localaddr> <localport> <globaladdr>
<globalport>
 Exemple
 ip nat inside source static tcp 10.0.0.1 80
195.0.0.254 80
ip nat inside source static tcp 10.0.0.2 80
195.0.0.254 8080
 Dans cet exemple, les paquets arrivants depuis
l’extérieur sur le port 80 sont envoyées au port
80 de la machine 10.0.0.1, et ceux arrivants
depuis l’extérieur sur le port 8080 sont envoyées
au port 80 de la machine 10.0.0.2

30
Problèmes Nat Dynamique
 Applications n’utilisant pas UDP/TCP (pas de port)
 Exemple ICMP
 Il faut faire une configuration spéciale du
routeur pour lui dire de se référer à autre chose
que le port
 Le numéro d’identifiant du paquet ICMP par
exemple
 Authentification et cryptage
 Pas de mécanisme d’authentification de bout en
bout puisque le paquet est modifié
 Encryptage de l’entête IP à la source et
vérification à l’arrivée
 Possibilité de tunneling (mise en place de Tunnel
IPSEC vers l’extérieur)

31
Problèmes NAT et FTP coté client
 Problématique côté client
 En mode FTP actif, la négociation des ports de
transfert des données du client vers le serveur est
initié par le serveur (port d'origine TCP 20) à
destination d'un port TCP > 1024 vers le client.
 Si le client est derrière un routeur NAT dynamique,
ce trafic ne sera pas traduit car il ne fait pas partie
d'une règle NAT pour un trafic initié de l'intérieur.
 Le transfert de données ne sera pas possible, il n'y a
pas de solution NAT
 Solution : établir la connexion à partir du client en mode
passif : le client initie la négociation du port de transfert
 Il faut que le serveur supporte ce mode, ce qui est de
plus en plus courant

32
Problèmes NAT et FTP coté client

33
Problèmes NAT et FTP coté serveur
 Problématique côté serveur
 A côté du premier problème côté client, on peut
rencontrer un problème cumulatif côté serveur.
 Il faut supposer que le serveur est hébergé
derrière, lui aussi, un routeur NAT configuré
avec un transfert de ports.
 Si le client initie lui-même le transfert de
données en mode passif vers des ports
supérieurs à 1024 à destination du serveur,
comment le routeur NAT du serveur peut-il
traduire le trafic entrant à destination de ces
ports qui ne font pas l'objet d'une configuration
spécifique ?

34
Problèmes NAT et FTP coté serveur

35
NAT et FTP coté serveur
 Heureusement les passerelles sont aujourd'hui
capable de suivre le trafic FTP qui nécessite une
inspection du trafic FTP lui-même au niveau de la
couche applicative.
 Sur les passerelles Linux, il faudra par exemple
activer et configurer les modules
ip_conntrack_ftp et ip_nat_ftp du noyau.
 Un routeur Cisco avec un IOS récent supporte cette
fonctionnalité nativement pour le trafic initié sur le
port TCP 21, mais il n’en est pas de même pour
les services FTP écoutant sur un autre port
que le port légal.

36
Autres mécanismes de redirection : proxy
 Serveur mandataire ou proxy : Serveur faisant
l’intermédiaire entre un réseau local et Internet
 Mandaté par une application pour effectuer des
requêtes sur Internet à sa place
 proxy http, proxy ftp, ...
 Souvent multi-proxy: serveur qui gère l’ensemble
des applications usuelles
 Il faut spécifier au niveau des applications ou du
système d’exploitation l’existence du proxy
(effectué par l’utilisateur)
 Mais il existe aussi des proxy-transparents
(redirection au niveau routage et donc invisible à
l’utilisateur)

37
Autres mécanismes de redirection : proxy
 Analyse le contenu des données de l’application
 Permet de faire du cache (proxy web : pages les plus
souvent visitées)
 Contrôle et filtre les requêtes - liste blanche (requêtes
autorisées) - liste noire (requête interdites)
 suivant les comptes utilisateurs (FTP par exemple)
 suivant les adresses sources...
 suivant le contenu des pages WEB ...
 Assure l’authentification des utilisateurs pour gérer
l’accès aux ressources externes.
 Détecte les virus
 Permet de faire des statistiques
 suivi des connexions, logs utilisateurs

38
Autres mécanismes de redirection : proxy
 Peut servir aussi pour faire des contournements de
sécurité
 Contourner un filtrage de requêtes Web dans un pays
grâce à un proxy http situé dans un autre
 Dans l’autre sens, permet à un utilisateur d’accéder à
un site Web restreint à un pays
 Compliquer l’identification d’un Hacker grâce à des
relais de proxys en chaine.
 Ne pas confondre l’utilisation d’un proxy avec celle :
 d’un Firewall qui filtre au niveau des paquets IP et ne
nécessite pas redirection au niveau des applications
 d’un VPN (Virtual Private Network) qui permet à une
machine ou à un réseau local de rejoindre un autre
réseau local distant par protocole de « tunnel »

39
Autres mécanismes de redirection : DMZ
 DMZ = Zone Démilitarisée : désigne à l’origine une zone
neutre qui sépare la Corée du Nord de la Corée du Sud
 Les serveurs situés dans la DMZ sont appelés « bastions »
de par leur position d'avant poste dans le réseau interne.

40
Autres mécanismes de redirection : DMZ
 Sous-réseau, séparé des réseaux locaux et isolé de ceux-
ci et d'Internet par un ou plusieurs pare-feux.
 Composé essentiellement de machines serveurs dont on
veut contrôler l'accès intérieur et/ou extérieur.
 DMZ privée : uniquement accessible par les sous-réseaux
locaux : serveurs internes à l’entreprise
 Expl : serveurs proxy, SMTP, Web intranet,…
 DMZ publique : accessible à la fois depuis l’extérieur
(internet) et l’intérieur (réseau interne de l’entreprise)
 Contient les serveurs susceptibles d'être accédées
depuis Internet.
 Expl : serveurs Web externe, FTP, POP, proxy inverse
(accès extérieur redirigé aux serveurs internes), …
 En cas de compromission d'un des services dans la
DMZ, le pirate n'aura accès qu'aux machines de la
DMZ et non au réseau local.
41
Autres mécanismes de redirection : DMZ
 Architecture DMZ avec pare-feu à trois interfaces
 Le pare-feu devient un point de défaillance unique
pour le réseau et doit être capable de gérer tout le
trafic vers la DMZ ainsi que vers le réseau interne

42
Autres mécanismes de redirection : DMZ
 Architecture DMZ avec deux pare-feu
 Le premier pare-feu (interne ou "front-end") est
configuré pour ne gérer que le trafic destiné à la DMZ.
 Le second pare-feu (externe ou "back-end") ne gère
que le trafic de la DMZ au réseau interne.

43
Autres mécanismes de redirection : DMZ
 La DMZ se définit comme une plage d'adresses IP
(ou une seule adresse IP) n'étant pas soumise aux
règles du pare-feu interne.
 La DMZ permet à ses machines d'accéder à
Internet et/ou de publier des services sur Internet
sous le contrôle du pare-feu externe.
 En cas de compromission d'une machine de la DMZ,
l'accès vers le réseau local est encore contrôlé par
le pare-feu interne
 La DMZ correspond sur certain routeurs au fait de
rediriger tous les ports (et donc tout le traffic
entrant) vers une machine du réseau local

44