Sécuriser le réseau avec pfSense : segmentation, DMZ
Découper le réseau en zones de confiance, filtrer les flux entre elles avec un pare-feu à états, exposer un service en DMZ, et verrouiller l'accès au réseau dès la prise murale.
L'essentiel
- Un VLAN cloisonne, un pare-feu filtre : il décide, flux par flux, selon une politique écrite.
- À états : le pare-feu mémorise les connexions autorisées, les réponses passent sans règle de retour.
- Politique par défaut : tout ce qui n'est pas autorisé est interdit (liste blanche).
- Une règle se place sur l'interface d'entrée du paquet ; la première règle qui correspond l'emporte.
- Zones : WAN (aucune confiance), DMZ (serveurs exposés), LAN, invités, gestion.
- DMZ → LAN interdit : un serveur exposé compromis ne mène nulle part.
- La matrice des flux (source, destination, service, décision, justification) précède toute configuration.
- pfSense : Firewall → Rules / Aliases / NAT ; une nouvelle interface bloque tout ; journaux dans Status → System Logs.
- Redirection de port = publier un serveur de la DMZ sur l'adresse publique, au port près.
- Au niveau 2 : port-security, DHCP snooping, DAI, et 802.1X pour fermer les prises aux inconnus.
Les deux règles d'or
1. Tout ce qui n'est pas autorisé est interdit : on part d'un refus total et on n'ouvre que les flux nécessaires (liste blanche), au plus juste.
2. La première règle qui correspond l'emporte : les règles d'une interface sont lues de haut en bas ; une règle large placée en haut rend inutiles les règles placées en dessous.
Piège classique : la règle trop large en haut
Sur le LAN, si « Default allow LAN to any » reste en premier, une règle « bloquer LAN vers DMZ en SSH » ajoutée en dessous ne sera jamais lue : le paquet a déjà été autorisé. Place toujours les règles les plus précises en haut, les plus générales en bas (glisser-déposer dans l'onglet, puis Save et Apply Changes).
Commandes clés
| Pour… | Où ou quoi |
|---|---|
| Assigner et adresser les interfaces | console : options 1 et 2 · Interfaces → Assignments |
| Écrire les règles | Firewall → Rules (onglet de l'interface d'entrée) · Firewall → Aliases |
| Publier un serveur | Firewall → NAT → Port Forward avec règle associée |
| Contrôler | Status → System Logs → Firewall · Diagnostics → States |
| Tester un port | curl -I https://172.16.80.10 · Test-NetConnection 172.16.80.10 -Port 443 · nmap -Pn -p 443 |
| Port-security (Cisco) | switchport port-security maximum 3 · … violation shutdown |
| Snooping et DAI (Cisco) | ip dhcp snooping vlan 10 · ip dhcp snooping trust · ip arp inspection vlan 10 |