Chapitre 115 minIntermédiaire
C'est quoi pfSense ? Pare-feu à états, CE et Plus
Par Josselyn C., prof de BTS SIO. Mis à jour le .
À la fin de ce chapitre, tu sauras
- expliquer ce que fait un pare-feu à états et ce que change sa table d'états ;
- choisir entre pfSense CE, pfSense Plus, OPNsense et un pare-feu commercial ;
- situer pfSense dans l'infrastructure du laboratoire et dire qui fait quoi ;
- lire le plan d'adressage de Sorbier Logistique utilisé dans tout le cours.
4 exercices corrigés1 schéma
pfSense est un système d'exploitation libre, basé sur FreeBSD, qui transforme un ordinateur ou une machine virtuelle en pare-feu et routeur, administré par une interface web. Son cœur est un pare-feu à états : il retient chaque connexion autorisée et laisse passer ses réponses sans règle supplémentaire. Ce chapitre explique ce que fait un pare-feu à états, présente les deux éditions de pfSense et leurs concurrents, puis installe le décor du cours : le réseau de Sorbier Logistique et le pare-feu qui le protège.
À quoi sert un pare-feu
Un pare-feu (firewall) est un équipement placé à la frontière entre plusieurs réseaux, qui décide pour chaque paquet s'il passe ou non, selon une politique de filtrage écrite par l'administrateur. Il sert à trois choses :
- protéger le réseau interne d'Internet : rien n'entre sans y avoir été invité ;
- cloisonner le réseau interne en zones (postes, serveurs, Wi-Fi invité, DMZ) et ne laisser passer entre elles que les flux nécessaires ;
- tracer : chaque flux refusé, et chaque flux autorisé que l'on veut suivre, laisse une ligne dans les journaux.
Il le fait en lisant les en-têtes des paquets : interface d'arrivée, adresses IP source et destination, protocole (TCP, UDP, ICMP, ESP…), ports source et destination, et pour TCP les drapeaux (SYN, ACK…). La cybersécurité des infrastructures explique comment on décide de la politique ; ce cours explique comment on l'écrit, la vérifie et l'exploite sur pfSense.
Filtrage sans état et filtrage avec état
Un filtre sans état (stateless) juge chaque paquet isolément. C'est le cas d'une ACL de routeur Cisco (cours Routage et commutation). Pour qu'un poste ouvre une page web, il faut deux règles : l'aller (poste vers serveur, port de destination 443) et le retour (serveur vers poste, port source 443, vers un port quelconque au-dessus de 1023). La règle de retour est un trou : n'importe quel paquet qui prétend venir du port 443 entre.
Un pare-feu avec état (stateful) garde en mémoire une table d'états : une ligne par connexion en cours, avec ses deux adresses, ses deux ports, le protocole et l'état de la connexion. Quand le premier paquet d'une connexion (le SYN de TCP) est autorisé par une règle, le pare-feu crée la ligne. Les paquets suivants, dans un sens comme dans l'autre, sont comparés à la table avant les règles : s'ils appartiennent à une connexion connue, ils passent aussitôt. Une réponse qui ne correspond à aucune connexion ouverte est refusée.
Trois conséquences pratiques :
- on écrit une seule règle, dans le sens où la connexion s'ouvre, sur l'interface par laquelle le premier paquet entre dans le pare-feu. Ajouter une règle de retour ne sert à rien et ouvre un trou ;
- la table d'états a une taille limitée : pfSense la dimensionne selon la mémoire (10 % de la RAM par défaut). Une table pleine refuse les nouvelles connexions, c'est l'effet recherché par certaines attaques par déni de service ;
- supprimer une règle ne coupe pas les connexions déjà établies : elles vivent dans la table d'états jusqu'à leur fin ou leur expiration. Pour couper tout de suite, on supprime les états (Diagnostics > States, ou l'option de réinitialisation des états).
Depuis pfSense CE 2.8.0, les états sont par défaut liés à l'interface (Interface Bound States) : une ligne d'état créée sur l'interface POSTES ne vaut que pour des paquets qui passent par cette interface. Avant, les états étaient « flottants » et valaient sur toutes les interfaces. Le réglage est dans System > Advanced > Firewall & NAT, option State Policy. Netgate a changé ce défaut pour renforcer la sécurité : garde-le.
Les autres familles de pare-feu
| Famille | Ce qu'elle regarde | Exemples |
|---|---|---|
| Filtre de paquets sans état | Chaque paquet isolément | ACL d'un routeur ou d'un switch de niveau 3 |
| Pare-feu à états | Les connexions | pfSense, OPNsense, nftables sous Linux, pare-feu Windows |
| Pare-feu applicatif, proxy | Le contenu des échanges (URL, commandes) | Proxy web, pare-feu applicatif web (WAF) devant un site |
| Pare-feu « nouvelle génération » (NGFW) | Les connexions, plus l'application reconnue, l'utilisateur, la réputation, l'IPS intégré | Stormshield, Fortinet, Palo Alto, Sophos |
pfSense est un pare-feu à états, auquel des paquets ajoutent des fonctions de NGFW : IPS avec Suricata, listes de réputation et filtrage DNS avec pfBlockerNG (chapitre 12), proxy inverse avec HAProxy (chapitre 7).
pfSense en quelques dates
pfSense est né en 2004 d'une reprise du projet m0n0wall. Il est aujourd'hui développé par l'entreprise américaine Netgate, qui vend aussi des boîtiers pare-feu. Il repose sur FreeBSD et sur son filtre de paquets pf, venu d'OpenBSD, d'où son nom. Tout s'administre depuis une interface web (le webConfigurator), et toute la configuration tient dans un seul fichier XML, config.xml, ce qui rend la sauvegarde et la restauration très simples (chapitre 14).
Fonctions incluses dès l'installation : filtrage avec état, NAT, routage statique et passerelles multiples, VLAN, serveur et relais DHCP (Kea), résolveur DNS (Unbound), VPN IPsec et OpenVPN, portail captif, mise en grappe CARP. Fonctions ajoutées par des paquets officiels : WireGuard, Suricata, pfBlockerNG, HAProxy, ACME (certificats Let's Encrypt), agent Zabbix, NET-SNMP.
pfSense CE ou pfSense Plus ?
Netgate distribue pfSense sous deux éditions.
| pfSense CE (Community Edition) | pfSense Plus | |
|---|---|---|
| Licence | Libre (Apache 2.0), code public | Propriétaire |
| Prix | Gratuit | Inclus avec les boîtiers Netgate ; abonnement payant sur ton propre matériel ou en machine virtuelle |
| Versions maintenues (novembre 2026) | 2.9.0 et 2.8.1 | 26.07 et 26.03 |
| Rythme | Irrégulier : une version majeure tous les un à deux ans | Plusieurs versions par an, numérotées année.mois |
| Nouveautés | Arrivent après Plus, ou pas du tout | Certaines sont exclusives, comme la console de gestion centralisée Netgate Nexus |
| Support | Forum communautaire | Support de Netgate selon l'abonnement |
L'interface et les menus sont les mêmes pour tout ce que traite ce cours. En TP et pour tes réalisations d'E6, tu utilises pfSense CE : gratuit, complet, et c'est l'édition que l'on trouve dans les maquettes et dans beaucoup de PME. L'offre gratuite de pfSense Plus pour un usage personnel (Home+Lab) a été supprimée par Netgate en 2023 : ne te fie pas aux tutoriels qui la proposent.
pfSense, OPNsense et les autres
OPNsense est né en 2015 d'une reprise du code de pfSense par l'entreprise néerlandaise Deciso. Il est entièrement libre (licence BSD), publie deux versions par an (en janvier et en juillet), propose une interface plus moderne et intègre nativement des fonctions que pfSense ajoute par paquets (WireGuard, IDS Suricata, listes de blocage DNS). Les notions sont les mêmes : interfaces, règles lues de haut en bas, alias, NAT, états. Ce que tu apprends ici se transpose en quelques minutes.
| Notion | pfSense | OPNsense |
|---|---|---|
| Règles par interface | Firewall > Rules | Firewall > Rules |
| Alias | Firewall > Aliases | Firewall > Aliases |
| Redirection de port | Firewall > NAT > Port Forward | Firewall > NAT > Port Forward (Destination NAT dans les versions récentes) |
| IDS/IPS | Paquet Suricata | Services > Intrusion Detection (intégré) |
| WireGuard | Paquet WireGuard | VPN > WireGuard (intégré) |
| Sauvegarde | Diagnostics > Backup & Restore | System > Configuration > Backups |
En entreprise, tu croiseras aussi des pare-feu commerciaux : Stormshield (français, qualifié par l'ANSSI, très présent dans les administrations et l'enseignement), Fortinet, Sophos, Palo Alto, et les passerelles UniFi dans les petites structures. La logique reste la même ; seuls les menus changent.
Le pare-feu de Sorbier Logistique
Le cours Cybersécurité des infrastructures a décidé l'architecture de Sorbier : le pare-feu route tous les VLAN du siège, pour que chaque flux entre deux zones soit filtré et journalisé au même endroit. Le switch de cœur SW-COEUR ne route plus : il transporte les VLAN jusqu'au pare-feu sur un lien 802.1Q (trunk). Ce pare-feu est un pfSense CE, installé dans une machine virtuelle de l'hyperviseur Proxmox VE du siège, sous le nom pf1.
Voici le plan d'adressage, repris tel quel des cours précédents. La passerelle de chaque VLAN est sa dernière adresse utilisable, portée par pfSense.
| VLAN | Interface pfSense | Réseau | Passerelle (pfSense) | Contenu |
|---|---|---|---|---|
| 10 | POSTES | 192.168.10.64/26 | 192.168.10.126 | Postes des salariés, imprimantes ; DHCP de .65 à .115 |
| 20 | SERVEURS | 192.168.10.176/28 | 192.168.10.190 | srv-ad .177 et srv-ad2 .181 (Active Directory, DNS, DHCP), srv-fichiers .178, srv-gestion .179, srv-journaux .180 (Wazuh, Zabbix et Grafana), srv-collecte .182 (collecteur d'événements Windows) |
| 21 | APPLIS | 192.168.21.0/24 | 192.168.21.254 | Applications internes (intranet, horaires) et VM de recette, ouvert quand le VLAN 20 a été plein |
| 30 | ENTREPOT | 192.168.10.128/27 | 192.168.10.158 | Terminaux de scan, imprimantes d'étiquettes |
| 40 | VISITEURS | 192.168.10.0/26 | 192.168.10.62 | Wi-Fi invité, portail captif |
| 50 | TELEPHONIE | 192.168.10.160/28 | 192.168.10.174 | Téléphones IP, caméras |
| 60 | DMZ | 192.168.10.224/28 | 192.168.10.238 | srv-web .225 (suivi des livraisons pour les clients) |
| 99 | ADMIN | 192.168.10.208/28 | 192.168.10.222 | Poste d'administration .209, bastion .210, adresses de gestion des switchs, des bornes et de l'hyperviseur |
| — | WAN | 203.0.113.16/29 | Box de l'opérateur 203.0.113.22 | Adresse publique du pare-feu 203.0.113.17 |
Le domaine Active Directory est ad.sorbier.example (cours Windows Server). L'opérateur a attribué à Sorbier le bloc 203.0.113.16/29 : six adresses utilisables, de .17 à .22. Le pare-feu en utilise une, .17 ; les autres serviront au NAT 1:1 (chapitre 6) et au pare-feu de secours (chapitre 13).
Deux sites complètent le décor. L'entrepôt de Mâcon (192.168.20.0/24) a son propre pfSense, d'adresse publique 198.51.100.40, relié au siège par un tunnel IPsec (chapitre 10). Il a deux serveurs Windows, décrits dans le cours Windows Server : dc-macon (192.168.20.10), contrôleur de domaine en lecture seule (RODC) et DNS du site, et srv-macon (192.168.20.11), serveur de fichiers (seconde cible DFS du dossier Logistique) qui porte aussi le DHCP du site. Les nomades (commerciaux, techniciens d'astreinte) se connectent par VPN : WireGuard dans le réseau 10.8.0.0/24, OpenVPN dans 10.8.1.0/24 (chapitre 9).
Qui fait quoi dans l'infrastructure
Le pare-feu n'est qu'une brique de l'infrastructure de Sorbier. Chaque service a un seul responsable : savoir dire lequel évite des configurations en double, et c'est une question classique d'oral.
| Besoin | Qui s'en charge | Où c'est expliqué |
|---|---|---|
| Héberger les machines virtuelles (dont pfSense) | Proxmox VE | Virtualisation |
| Relier les machines d'un VLAN, transporter les VLAN | Switchs Cisco (SW-COEUR, switchs d'étage) | Routage et commutation |
| Router entre les VLAN, filtrer, traduire, VPN, portail captif | pfSense | Ce cours |
| Comptes, groupes, GPO | Active Directory (srv-ad, srv-ad2) | Windows Server |
| Adresses des postes (DHCP), noms internes (DNS) | DHCP et DNS de l'AD ; pfSense relaie le DHCP et résout Internet | Chapitre 8 |
| Stocker les partages et les sauvegardes | TrueNAS | Stockage et NAS avec TrueNAS |
| Surveiller les métriques, alerter, tableaux de bord | Zabbix et Grafana (srv-journaux) | Supervision |
| Collecter les journaux de sécurité, détecter | Wazuh (srv-journaux) | Chapitre 15 |
Exercices
Exercice 1 sur 4 Avec ou sans état Réussi À revoir
Un poste 192.168.10.71 consulte le site https://www.service-public.fr, dont l'adresse est 203.0.113.200 (adresse fictive).
- Sur un routeur avec une ACL sans état, quelles règles faut-il écrire pour que la page s'affiche ? Quel est le risque de la règle de retour ?
- Sur pfSense, combien de règles faut-il, et sur quelle interface ?
- Que contient la ligne de la table d'états créée par la connexion ?
Voir la réponseMasquer la réponse de l'exercice 1
- Deux règles : à l'aller, source
192.168.10.71(port quelconque) vers203.0.113.200port de destination TCP 443 ; au retour, source203.0.113.200port source 443 vers192.168.10.71, ports au-dessus de 1023. La règle de retour laisse entrer tout paquet qui prétend venir du port 443, même s'il ne répond à aucune connexion : un attaquant peut choisir 443 comme port source pour franchir le filtre. - Une seule règle, sur l'interface POSTES (celle où le premier paquet entre dans le pare-feu) : source POSTES subnets, destination any, TCP, port de destination 443, action Pass. Les réponses sont acceptées par la table d'états.
- Le protocole (TCP), l'adresse et le port du poste (
192.168.10.71:52344par exemple), l'adresse et le port du serveur (203.0.113.200:443), l'adresse publique et le port utilisés après le NAT sortant, et l'état de la connexion TCP (établie, en fermeture…).
Tu avais trouvé ?
Exercice 2 sur 4 CE ou Plus ? Réussi À revoir
Trois situations : (a) une maquette de TP pour ta réalisation d'E6 ; (b) une PME qui achète un boîtier Netgate 4200 ; (c) une collectivité dont la politique de sécurité impose un pare-feu qualifié par l'ANSSI. Que choisis-tu dans chaque cas ? Justifie en une phrase.
Voir la réponseMasquer la réponse de l'exercice 2
(a) pfSense CE : gratuit, libre, installable en machine virtuelle, avec toutes les fonctions nécessaires à une maquette. (b) pfSense Plus, livré avec le boîtier : l'édition prévue pour ce matériel, avec ses mises à jour plus fréquentes et le support de Netgate. (c) Ni l'un ni l'autre : un pare-feu qualifié par l'ANSSI, comme un Stormshield ; la qualification atteste qu'un produit a été évalué par un laboratoire agréé, ce qu'aucune édition de pfSense ne revendique.
Tu avais trouvé ?
Exercice 3 sur 4 Supprimer une règle ne suffit pas Réussi À revoir
Un technicien découvre qu'une règle autorise par erreur les visiteurs à joindre srv-fichiers en SMB. Il supprime la règle et applique les changements. Dix minutes plus tard, un transfert de fichier lancé depuis le Wi-Fi invité avant la suppression continue. Explique pourquoi, et ce qu'il aurait dû faire.
Voir la réponseMasquer la réponse de l'exercice 3
La connexion SMB a été autorisée à son ouverture et inscrite dans la table d'états. Les paquets suivants sont comparés à la table avant les règles : la suppression de la règle empêche les nouvelles connexions, pas celles qui existent. Il fallait, après la suppression, effacer les états concernés : Diagnostics > States, filtre sur l'adresse 192.168.10.178 ou sur l'adresse du visiteur, puis supprimer les lignes (ou utiliser l'onglet de réinitialisation des états). Il faut aussi rechercher dans les journaux ce que ce visiteur a pu lire, puisque le cloisonnement a été défaillant.
Tu avais trouvé ?
Exercice 4 sur 4 À chacun son rôle Réussi À revoir
Pour chaque besoin, dis quel élément de l'infrastructure de Sorbier s'en charge : (1) attribuer une adresse aux postes du VLAN 10 ; (2) empêcher le Wi-Fi invité de joindre les serveurs ; (3) résoudre le nom srv-fichiers.ad.sorbier.example ; (4) alerter quand le pare-feu sature son processeur ; (5) détecter une rafale de connexions refusées depuis la même adresse d'Internet.
Voir la réponseMasquer la réponse de l'exercice 4
(1) Le DHCP de l'Active Directory (srv-ad et srv-ad2) ; pfSense ne fait que relayer les demandes, puisque les postes et le serveur sont dans deux VLAN différents. (2) pfSense, par les règles de l'interface VISITEURS. (3) Le DNS de l'Active Directory, qui fait autorité pour la zone ad.sorbier.example. (4) Zabbix, qui interroge pfSense en SNMP, avec un tableau de bord Grafana. (5) Wazuh, qui reçoit les journaux du pare-feu et déclenche une alerte sur une rafale de blocages.
Tu avais trouvé ?