Règles de pare-feu
Philosophie : deny by default
pfSense applique une règle fondamentale : tout le trafic est bloqué par défaut. Si tu n'as pas explicitement autorisé un flux, il est rejeté. C'est l'opposé de nombreux routeurs grand public qui laissent tout passer.
Cette approche est appelée liste blanche (ou allowlist) : tu définies ce qui est permis, et le reste est interdit. Chaque règle que tu ajoutes est donc une exception contrôlée à cette interdiction générale.
Deny by default est le principe de base de la sécurité réseau. Même si un attaquant pénètre dans un segment de ton réseau, il ne peut pas atteindre les autres ressources sans que tu l'aies explicitement autorisé.
Ordre d'évaluation des règles
pfSense évalue les règles de haut en bas dans la liste. Dès qu'une règle correspond au paquet, elle s'applique et l'évaluation s'arrête. C'est le principe de la première correspondance gagne (first match wins).
Conséquence pratique : les règles les plus spécifiques (exceptions) doivent être placées avant les règles générales. Une règle « bloquer tout » en haut empêcherait toutes les règles d'autorisation qui suivent.
# Règle 1 — évaluée en premier
BLOCK TCP 192.168.10.5 → any:80 # bloquer cette IP spécifique
# Règle 2 — évaluée seulement si règle 1 ne correspond pas
PASS TCP 192.168.10.0/24 → any:80 # autoriser le reste du LAN
# Règle 3 — jamais atteinte pour le trafic HTTP du LAN
BLOCK any any → any # bloquer tout le reste
Anatomie d'une règle
Dans Firewall > Rules, chaque règle comporte plusieurs champs essentiels :
- Action —
Pass(autoriser),Block(bloquer silencieusement) ouReject(bloquer avec réponse). - Interface — l'interface sur laquelle la règle s'applique (LAN, WAN, VLAN10…).
- Protocole — TCP, UDP, ICMP, any…
- Source — adresse IP ou réseau d'origine du trafic.
- Destination — adresse IP ou réseau cible.
- Port — port source et/ou destination (80, 443, 53…).
- Description — champ libre, mais indispensable pour documenter tes règles.
Les règles s'appliquent au trafic entrant sur l'interface, pas sortant. Une règle sur l'interface LAN filtre le trafic qui provient du LAN vers pfSense. Une règle WAN filtre le trafic qui arrive d'Internet.
Règles LAN par défaut : attention au permissif
Lors de l'installation, pfSense crée automatiquement une règle sur l'interface LAN : « autoriser tout le trafic depuis le LAN vers n'importe quelle destination ». C'est pratique pour démarrer, mais c'est très permissif.
Cette règle permet à n'importe quelle machine du LAN de communiquer avec tout ce qu'elle veut. Pour un homelab ou un réseau segmenté, il vaut mieux la supprimer et créer des règles précises qui n'autorisent que ce dont les machines ont besoin.
# Règle créée automatiquement — trop permissive
PASS IPv4 any LAN net → any:any
# Tout le LAN peut tout faire
# Mieux : des règles ciblées
PASS TCP LAN net → any:443 # HTTPS uniquement
PASS UDP LAN net → DNS_Server:53 # DNS uniquement
BLOCK any LAN net → any # bloquer tout le reste
Les aliases : simplifier les règles
Un alias est un nom donné à un groupe d'adresses IP, de réseaux ou de ports. Plutôt que de répéter les mêmes valeurs dans chaque règle, tu définis l'alias une fois et tu l'utilises partout. Les alias se créent dans Firewall > Aliases.
- Alias IP/réseau — ex.
Serveurs_Internes= 192.168.1.10, 192.168.1.20, 192.168.1.30 - Alias port — ex.
Ports_Web= 80, 443, 8080, 8443 - Alias URL — pfSense télécharge et met à jour automatiquement une liste d'IPs depuis une URL.
# Sans alias — difficile à maintenir
PASS TCP any → 192.168.1.10:443
PASS TCP any → 192.168.1.20:443
PASS TCP any → 192.168.1.30:443
# Avec alias — propre et maintenable
# Alias "Serveurs_HTTPS" = 192.168.1.10, .20, .30
PASS TCP any → Serveurs_HTTPS:443
NAT : accéder à l'intérieur depuis l'extérieur
Le NAT (Network Address Translation) permet à pfSense de rediriger des connexions entrantes depuis Internet vers une machine interne. Il se configure dans Firewall > NAT.
Il existe deux types principaux :
- Port Forward — redirige un port entrant (ex. port 443 sur l'IP publique) vers un serveur interne (ex. 192.168.1.10:443). Utilisé pour exposer un serveur web, un serveur de jeu ou un accès distant.
- Outbound NAT — gère comment pfSense transforme les adresses sources des paquets sortants vers Internet. En mode automatique, il remplace toutes les IPs internes par l'IP publique du WAN.
# Firewall > NAT > Port Forward
Interface : WAN
Protocole : TCP
Dest. port : 443 (HTTPS)
Redirect → : 192.168.1.10 port 443
# pfSense crée automatiquement une règle firewall associée
# pour autoriser ce trafic entrant
Chaque règle Port Forward crée implicitement une règle de pare-feu. Vérifie toujours les règles WAN générées automatiquement pour t'assurer qu'elles sont aussi restrictives que possible (source IP si connue, etc.).
Exemple pratique : VLAN IoT isolé
Scénario : tu as un VLAN IoT (192.168.20.0/24) pour tes objets connectés.
Ces appareils n'ont besoin que d'accéder à Internet en HTTPS et de résoudre des noms DNS.
Ils ne doivent jamais communiquer avec ton LAN principal.
# Règle 1 — bloquer l'accès au LAN et aux autres VLANs
BLOCK any IoT net → 192.168.0.0/16
# Empêche les IoT de toucher le réseau interne
# Règle 2 — autoriser DNS vers pfSense uniquement
PASS UDP IoT net → 192.168.20.1:53
# Règle 3 — autoriser HTTPS vers Internet
PASS TCP IoT net → any:443
# Règle 4 — bloquer tout le reste (explicite)
BLOCK any IoT net → any
Monitoring : states et logs en temps réel
pfSense offre deux outils essentiels pour comprendre et déboguer le trafic :
- Diagnostics > States — affiche toutes les connexions actives trackées par pfSense. Tu peux filtrer par IP source, destination ou interface pour voir ce qui transite en ce moment.
- Status > System Logs > Firewall — journaux en temps réel des paquets bloqués (et autorisés si le logging est activé dans les règles). Indispensable pour diagnostiquer pourquoi un trafic est bloqué.
Pour activer le logging sur une règle spécifique, coche l'option Log dans la configuration de la règle. Attention : logger toutes les règles génère beaucoup de données, active le logging uniquement là où c'est utile (règles de blocage critiques).
- pfSense bloque tout par défaut — tu n'autorises que ce qui est explicitement nécessaire.
- Les règles sont évaluées de haut en bas : place les exceptions avant les règles générales.
- La règle LAN par défaut est trop permissive — remplace-la par des règles précises.
- Les aliases regroupent IPs et ports pour simplifier et maintenir les règles.
- Le Port Forward expose un service interne ; l'Outbound NAT masque les IPs internes.
- Diagnostics > States et les logs firewall sont tes meilleurs alliés pour déboguer.