1. La translation d’adresses réseau (NAT et PAT / NAPT)

Puisque les adresses IP privées (RFC 1918) ne peuvent pas naviguer sur l’Internet public, la passerelle en bordure de réseau doit substituer l’adresse IP source privée des paquets sortants par son adresse IP publique unique : c’est le mécanisme de NAT (Network Address Translation).

Dans 99% des cas réels, les entreprises utilisent le PAT (Port Address Translation / NAPT ou Overload) :

Plusieurs hôtes internes partagent UNE SEULE adresse IP publique grâce aux numéros de ports :
PC 1 interne : 192.168.1.15:49152  ───► Routeur NAT (Porte 203.0.113.5:60001) ───► Serveur Web
PC 2 interne : 192.168.1.20:49152  ───► Routeur NAT (Porte 203.0.113.5:60002) ───► Serveur Web

Le routeur maintient une table de correspondance dynamique en mémoire. Lorsque la réponse revient depuis Internet, il consulte le port destination pour réinjecter le paquet vers la bonne machine interne.

2. Les Listes de Contrôle d’Accès (ACL – Access Control Lists)

Les ACLs sont des filtres de sécurité appliqués sur les interfaces de routeurs ou de switchs L3 pour autoriser ou bloquer des flux selon des règles ordonnées :

  • ACLs standard (numérotées de 1 à 99 sur Cisco) : Filtrent uniquement sur l’adresse IP source du paquet. Trop imprécises (bloquent tout le trafic sans distinction de protocole ou de port).
  • ACLs étendues (numérotées de 100 à 199) : Filtrent sur l’adresse IP source, l’adresse IP destination, le protocole (TCP, UDP, ICMP) et les numéros de ports :
    # Exemple : Autoriser le sous-réseau 192.168.1.0/24 à naviguer sur le Web (80/443),
    # mais bloquer tout accès SSH (port 22) vers le serveur sensible 10.0.0.50 :
    access-list 101 deny tcp 192.168.1.0 0.0.0.255 host 10.0.0.50 eq 22
    access-list 101 permit tcp 192.168.1.0 0.0.0.255 any eq 80
    access-list 101 permit tcp 192.168.1.0 0.0.0.255 any eq 443
    # Règle implicite finale : Deny Any Any (tout le reste est rejeté par défaut !)

3. Les pare-feux à inspection d’état (Stateful Firewalls) et NGFW

Un simple routeur filtrant les paquets (Stateless) traite chaque paquet de manière isolée sans mémoire historique. À l’inverse, un pare-feu à état (Stateful Inspection) suit le contexte global de chaque connexion dans une table d’état :

  • Lorsqu’un utilisateur interne initie une connexion sortante vers un site web externe, le pare-feu mémorise la session (IP et ports source/dest, flags TCP).
  • Les paquets de réponse entrants venant du site web sont automatiquement autorisés car rattachés à une session légitime préexistante (état ESTABLISHED / RELATED). Tout paquet venant de l’extérieur non sollicité est immédiatement détruit.
  • Next-Generation Firewalls (NGFW – Fortinet FortiGate, Palo Alto, pfSense, OPNsense) : Vont au-delà de la couche 4 en inspectant la charge applicative (couche 7), en analysant les flux chiffrés SSL/TLS, et en intégrant des systèmes de prévention d’intrusion (IPS/IDS) et de filtrage antivirus de flux.

Atelier Netfilter / Linux : Configurez une règle de base avec NFTables ou UFW pour n’autoriser les flux entrants sur votre serveur que s’ils correspondent à des connexions préexistantes : ct state established,related accept.