Formation NAT et Firewall — pfSense, Windows avancé, Stormshield

Support interactif niveau AIS/TSSR : comprendre le NAT, lire des règles firewall, comparer pfSense, Pare-feu Windows avancé et Stormshield, puis appliquer un cas concret : autoriser uniquement le poste admin à se connecter en SSH vers un serveur du réseau 192.168.x.x.

Vue globale
NAT et filtrage : deux rôles différents
Le NAT modifie les adresses IP ou les ports dans les paquets. Le firewall décide si le trafic est autorisé ou bloqué. Les deux travaillent souvent ensemble mais ne font pas la même chose.
LAN192.168.x.0/24 Firewall / RouteurNAT + règles WAN / autre réseauInternet / serveurs
Idée clé : une redirection NAT ne suffit pas toujours. Il faut aussi une règle firewall qui autorise le trafic correspondant.
NAT
NAT : sortie, entrée, redirection de port et double NAT
Le NAT ne sert pas uniquement à “donner Internet”. Il peut traduire une source en sortie, publier un service interne en entrée, ou s’empiler dans un scénario de double NAT avec box opérateur + pfSense.

1. NAT sortant : les clients internes vont vers Internet

Client LAN 192.168.1.50 pfSense NAT sortant source changée 192.168.1.50 → IP WAN Internet voit l’IP WAN Exemple : un PC 192.168.1.50 consulte un site web. Le site voit l’adresse WAN du firewall, pas l’IP privée du PC.

Explication : le NAT sortant remplace l’adresse IP source privée par l’adresse de sortie du firewall. Sans cela, les IP privées comme 192.168.x.x ne sont pas routables sur Internet.

2. NAT entrant / Port Forward : publier un service interne

Client externe Internet / WAN Port Forward WAN:2222 → LAN:22 NAT + règle firewall Serveur interne 192.168.1.10:22 Exemple : WAN:2222 est redirigé vers 192.168.1.10:22 pour SSH.

Explication : le NAT entrant modifie la destination. Le paquet arrive sur l’IP WAN du firewall, puis le firewall le redirige vers une machine interne. Il faut presque toujours une règle firewall associée.

3. Exemples concrets de redirections NAT entrantes

ServicePort externeDestination internePort interneRemarque sécurité
VPN WireGuardUDP 51820pfSense ou serveur VPNUDP 51820Bonne pratique pour accéder ensuite au LAN sans exposer RDP/SSH.
OpenVPNUDP 1194pfSenseUDP 1194Souvent préférable à exposer directement des services internes.
RDPTCP 3389 ou port changé192.168.1.20TCP 3389Très risqué exposé à Internet ; préférer VPN ou bastion.
SSHTCP 2222192.168.1.10TCP 22Limiter par IP source, clé SSH obligatoire, fail2ban.
FTPTCP 21 + plage passive192.168.1.30TCP 21 + ports passifsFTP est pénible avec NAT ; préférer SFTP/FTPS.
ImmichTCP 443reverse proxyTCP 443 ou 2283Passer par reverse proxy HTTPS, authentification, mises à jour.
Nextcloud / GLPITCP 443reverse proxyTCP 443Éviter d’exposer directement les conteneurs applicatifs.

4. Double NAT : Box opérateur → pfSense → machine finale

Internet client externe Box opérateur NAT 1 WAN:443 → pfSense WAN pfSense NAT 2 443 → reverse proxy Machine finale Immich / reverse proxy 192.168.20.30:443 Il faut configurer deux redirections : une sur la box vers pfSense, puis une sur pfSense vers le serveur final.

Explication : en double NAT, le paquet est traduit deux fois. Si la redirection est configurée uniquement sur pfSense mais pas sur la box, le paquet n’arrive jamais à pfSense. L’idéal est souvent de mettre la box en bridge ou DMZ vers pfSense si possible.

Différence NAT / firewall

  • NAT : change l’adresse ou le port.
  • Firewall : décide si le flux passe.
  • State table : garde le suivi des connexions.
  • Logs : permettent de prouver pass/block.

Points de vigilance

  • Exposer RDP/SSH directement est risqué.
  • Préférer VPN pour l’administration.
  • Limiter les IP sources si possible.
  • Documenter chaque redirection.
  • Désactiver les redirections inutilisées.
pfSense
Firewall pfSense
Dans pfSense, les règles s’appliquent sur l’interface où le paquet entre. L’ordre est essentiel : la première règle correspondante gagne.

Exemple : autoriser SSH uniquement depuis PC admin

OrdreInterfaceActionSourceDestinationPortDescription
1LAN_ADMINPass192.168.10.10192.168.20.10TCP 22/2222Autoriser SSH admin
2LAN_ADMINBlock192.168.10.0/24192.168.20.10TCP 22/2222Bloquer les autres clients
Si une règle “LAN vers any” est placée avant le blocage, le trafic peut passer. Toujours vérifier l’ordre des règles et les logs.
Windows avancé
Pare-feu Windows Defender avec fonctions avancées

Règle graphique

  1. Règles de trafic entrant.
  2. Nouvelle règle > Port.
  3. TCP 22 ou 2222.
  4. Autoriser la connexion.
  5. Profil Domaine.
  6. Onglet Étendue : IP distante autorisée = 192.168.10.10.

PowerShell

New-NetFirewallRule ` -DisplayName "Allow SSH from Admin PC only" ` -Direction Inbound ` -Protocol TCP ` -LocalPort 22 ` -RemoteAddress 192.168.10.10 ` -Action Allow ` -Profile Domain
Dans Windows, les règles de blocage sont prioritaires sur les règles d’autorisation. Il faut tester précisément.
Stormshield
Filtrage sous Stormshield
Stormshield repose beaucoup sur les objets réseau et les politiques de filtrage ordonnées.

Étapes logiques

  1. Créer objet Admin_PC = 192.168.10.10.
  2. Créer objet SRV_SSH = 192.168.20.10.
  3. Créer/vérifier service SSH_TCP_22.
  4. Règle PASS : Admin_PC vers SRV_SSH en SSH.
  5. Règle BLOCK : Réseau_Clients vers SRV_SSH en SSH.
  6. Activer les logs.

Règles type

OrdreActionSourceDestinationServiceLog
1PassAdmin_PCSRV_SSHSSHOui
2BlockRéseau_ClientsSRV_SSHSSHOui
Nomme les objets clairement : SRV_SSH_192.168.20.10, PC_ADMIN_192.168.10.10, NET_CLIENTS_192.168.10.0_24.
Cas concret
Autoriser une seule machine admin en SSH
Seul 192.168.10.10 peut joindre 192.168.20.10 en SSH. Les autres clients du réseau 192.168.10.0/24 doivent être bloqués.
PC Admin192.168.10.10 Autre client192.168.10.50 Firewallfiltrage Serveur SSH192.168.20.10:22

Règles attendues

ActionSourceDestinationPort
Allow192.168.10.10192.168.20.10TCP 22
Block192.168.10.0/24192.168.20.10TCP 22

Tests

# Depuis PC admin ssh user@192.168.20.10 # Depuis autre client ssh user@192.168.20.10 # Serveur Linux journalctl -u ssh -f ss -lntp | grep ssh
DMZ
DMZ : zone intermédiaire pour services exposés
Une DMZ est un réseau séparé destiné aux services accessibles depuis l’extérieur. Le principe est d’éviter qu’un serveur exposé donne un accès direct au LAN interne en cas de compromission.
Internet clients externes Firewall pfSense / Stormshield règles inter-zones DMZ 192.168.30.0/24 LAN interne 192.168.10.0/24 Reverse Proxy Immich / Web

Pourquoi une DMZ ?

  • Isoler les services exposés : reverse proxy, serveur web, VPN, relais mail.
  • Limiter l’impact si un service exposé est compromis.
  • Éviter qu’un serveur public ait accès libre au LAN.
  • Clarifier les règles : Internet → DMZ, DMZ → LAN très limité.

Exemple de règles DMZ

FluxActionBut
WAN → DMZ reverse proxy TCP 443AllowPublier Immich/Nextcloud via HTTPS
DMZ → LAN DB TCP 5432Allow limitéSi application DMZ a besoin DB interne
DMZ → LAN anyBlockEmpêcher pivot vers LAN
LAN Admin → DMZ SSHAllowAdministration contrôlée
Une DMZ n’est utile que si les règles sont restrictives. Si DMZ → LAN est autorisé en “any”, la DMZ perd une grande partie de son intérêt.
Comparatif
Comparatif pfSense / Windows / Stormshield
CritèrepfSenseWindows avancéStormshield
PositionFirewall réseauFirewall local machineFirewall réseau / UTM
LogiqueInterface d’entrée + ordreEntrant/sortant + profilsObjets + règles ordonnées
NATTrès utiliséPas son rôle principalIntégré à la politique
Cas SSHSource admin vers serveurRemoteAddress adminObjet Admin_PC vers SRV_SSH
Diagnostic
Méthode de diagnostic firewall / NAT

Checklist

  1. Bonne IP source ?
  2. Bonne passerelle ?
  3. Service écoute sur le bon port ?
  4. Règle sur la bonne interface ?
  5. Ordre des règles correct ?
  6. NAT nécessaire ?
  7. Logs pass/block ?

Commandes

# Linux ip a ip route ss -lntp nc -vz 192.168.20.10 22 tcpdump -ni eth0 port 22 # Windows Test-NetConnection 192.168.20.10 -Port 22
Quiz
Quiz NAT et firewall