NAT et journalisation du pare-feu
La journalisation est l'outil de diagnostic numéro un en sécurité réseau. Sans logs, vous travaillez à l'aveugle. Cette leçon approfondit le NAT et montre comment exploiter les journaux pour diagnostiquer et détecter les menaces.
Le NAT en détail
Le NAT (Network Address Translation) est la raison pour laquelle des dizaines de postes internes peuvent partager une seule IP publique. Il fonctionne en modifiant les en-têtes des paquets IP à la volée.
PAT (Port Address Translation) : le mode le plus utilisé en PME :
- Le pare-feu remplace l'IP source privée (192.168.1.x) par son IP publique
- Il ajoute un port source unique pour chaque connexion dans sa table de traduction
- Au retour, il retrouve la connexion dans sa table et renvoie le paquet au bon poste interne
Poste A (192.168.1.10:54321) → internet → Pare-feu traduit en (82.45.x.x:54321)
Poste B (192.168.1.11:54322) → internet → Pare-feu traduit en (82.45.x.x:54322)
Port forwarding (DNAT) : exposer un service interne :
- Le pare-feu reçoit une connexion entrante sur son IP publique port 443
- Il la redirige vers le serveur web interne (ex : 192.168.1.50:443)
- L'internet "voit" le pare-feu, pas le serveur interne
Configuration dans pfSense : Firewall → NAT → Port Forward
Journalisation : lire les logs du pare-feu
Les logs du pare-feu enregistrent chaque connexion autorisée ou bloquée. Apprendre à les lire est essentiel pour le diagnostic réseau et la détection d'intrusions.
Un log typique contient :
- Date/heure de la connexion
- Interface (WAN, LAN, DMZ)
- Action (pass / block)
- Protocole (TCP, UDP, ICMP)
- IP source et port source
- IP destination et port destination
Exemple de log pfSense :
Jun 21 09:15:32 WAN block 192.168.0.1 → 82.45.xx.xx:22 (TCP)
Jun 21 09:15:33 LAN pass 192.168.1.10 → 8.8.8.8:53 (UDP)
La première ligne : une connexion SSH (port 22) bloquée depuis internet : tentative d'intrusion probable. La seconde : une requête DNS interne : trafic normal.
Détecter des comportements anormaux dans les logs
Patterns à surveiller :
- Scan de ports : une même IP externe tente de se connecter à de nombreux ports en quelques secondes
- Connexions répétées bloquées : une IP externe tente de se connecter à SSH ou RDP de manière répétée (force brute)
- Trafic inhabituel vers l'extérieur : un poste interne envoie du trafic vers des IPs inconnues à 3h du matin (malware potentiel)
- Volumes inhabituels : transfert de données massif vers l'extérieur (exfiltration de données)
Cas concret
L'admin réseau remarque dans les logs que le poste 192.168.1.45 génère 500 connexions sortantes vers des IPs diverses sur le port 25 (SMTP) en 10 minutes.
Analyse et réaction :
- Ce poste envoie du spam : il est probablement infecté par un malware
- Action immédiate : bloquer le port 25 sortant pour ce poste dans le pare-feu (règle spécifique IP source)
- Isoler le poste du réseau en changeant son VLAN vers un VLAN quarantaine
- Lancer une analyse antimalware complète depuis un média externe
Erreurs fréquentes
- Ne jamais consulter les logs : les logs sont une mine d'informations : configurer au moins une consultation hebdomadaire.
- Logger tout le trafic sans filtrage : génère des volumes énormes inutilisables. Logger uniquement les blocages et les connexions critiques (SSH entrant, RDP).
- Garder les logs localement sans backup : en cas d'attaque, les attaquants peuvent effacer les logs locaux.
À retenir
- Le PAT permet à plusieurs postes de partager une IP publique via des ports sources uniques
- Le port forwarding expose un service interne à internet de façon contrôlée
- Les logs du pare-feu permettent de diagnostiquer les problèmes et détecter les intrusions
- Un poste générant du trafic SMTP sortant massif = compromission probable
Mini-exercice
Sur pfSense (ou simulé), allez dans Status → System Logs → Firewall. Filtrez les logs pour n'afficher que les "block". Identifiez l'IP qui tente le plus de connexions bloquées. De quel pays provient-elle (chercher l'IP sur ipinfo.io) ?