C'est quoi un firewall ?
Le rôle d'un pare-feu
Un firewall (pare-feu) est un dispositif — logiciel ou matériel — qui filtre le trafic réseau entrant et sortant selon un ensemble de règles. Il se place entre deux zones réseau (typiquement ton réseau local et internet) et décide quels paquets passent et lesquels sont bloqués.
C'est le gardien de ta porte d'entrée réseau. Sans lui, n'importe quel trafic provenant d'internet peut tenter de joindre tes machines. Avec lui, seul ce que tu autorises explicitement entre ou sort.
Un firewall travaille sur des règles : chaque règle définit une condition (source, destination, port, protocole) et une action (autoriser, bloquer, rejeter). Les règles sont évaluées dans l'ordre — la première qui correspond s'applique.
// Schéma simplifié d'un firewall
Internet ──→ [ FIREWALL ] ──→ Réseau local (LAN)
↑
Règles : autoriser / bloquer
- Port 443 (HTTPS) → autorisé
- Port 23 (Telnet) → bloqué
- Tout le reste → bloqué par défaut
Stateless vs Stateful
Il existe deux grandes familles de firewalls selon leur façon d'analyser le trafic :
Pare-feu stateless (sans état)
Un firewall stateless examine chaque paquet de façon indépendante, sans tenir compte du contexte. Il applique ses règles paquet par paquet, sans savoir si ce paquet fait partie d'une connexion déjà établie.
Problème : il est facile de le tromper en forgeant un paquet qui ressemble à une réponse légitime. Les ACL (Access Control Lists) des vieux routeurs Cisco fonctionnaient ainsi.
Pare-feu stateful (avec état)
Un firewall stateful maintient une table d'états — une liste de toutes les connexions actives. Quand un paquet arrive, il vérifie s'il appartient à une connexion connue et légitime. Les paquets orphelins (sans connexion correspondante) sont rejetés.
C'est le standard moderne. pfSense et OPNsense sont tous les deux des firewalls stateful, basés sur pf (Packet Filter), le moteur de FreeBSD.
Pourquoi le stateful est supérieur : il comprend le contexte d'une connexion TCP (SYN → SYN-ACK → ACK). Un paquet entrant qui ne correspond à aucune connexion initiée depuis ton LAN est automatiquement rejeté, même si son port est autorisé. C'est une protection implicite puissante.
// Table d'états — exemple
Source Destination Proto État
192.168.1.10:52341 93.184.216.34:443 TCP ESTABLISHED
192.168.1.12:55012 8.8.8.8:53 UDP SINGLE
192.168.1.10:52399 185.12.4.1:443 TCP TIME_WAIT
→ Un paquet entrant sans entrée dans cette table = rejeté.
Niveaux de pare-feu
Les firewalls existent à deux niveaux distincts, complémentaires et non substituables :
Niveau hôte
Chaque machine possède son propre pare-feu local. Sous Linux c'est
iptables (ancien) ou nftables (moderne), sous Windows
c'est le pare-feu Windows Defender, sous macOS c'est pf.
Il protège uniquement la machine elle-même.
Niveau réseau (appliance)
Un firewall réseau se place entre des zones. Il protège tous les appareils derrière lui, même ceux qui n'ont aucun pare-feu local. C'est là que pfSense et OPNsense interviennent — ils jouent le rôle de routeur + firewall pour tout un réseau.
Un firewall réseau ne remplace pas les firewalls hôtes. La stratégie défense en profondeur consiste à cumuler les deux : si un attaquant franchit la périphérie, les firewalls locaux restent une dernière ligne de défense.
pfSense vs OPNsense
Ces deux distributions sont les solutions open source de référence pour un firewall réseau professionnel. Elles partagent la même base technique mais ont des histoires différentes.
pfSense
Créé en 2004, basé sur FreeBSD et le moteur pf. Développé par Netgate, qui en propose aussi des appliances matérielles. La version communautaire (CE) est gratuite. pfSense Plus est la version commerciale. Interface très mature, énorme communauté, documentation abondante.
OPNsense
Fork de pfSense créé en 2015 par Deciso, suite à des désaccords sur la gouvernance open source. OPNsense a opté pour une philosophie plus transparente, avec des mises à jour hebdomadaires, une interface plus moderne (Bootstrap), et une architecture de plugins mieux structurée. Il intègre nativement Zenarmor (IDS/IPS) et WireGuard.
Lequel choisir ? Pour un homelab ou une nouvelle installation, OPNsense est recommandé en 2024 : mises à jour plus fréquentes, interface plus claire, meilleure intégration des fonctions modernes (WireGuard, Zenarmor). pfSense reste excellent si tu trouves plus de ressources sur ton cas d'usage spécifique ou si tu utilises du matériel Netgate officiel.
// Comparatif rapide
pfSense CE OPNsense
Base OS FreeBSD FreeBSD
Moteur firewall pf pf
Interface Ancienne/stable Moderne (Bootstrap)
Mises à jour Trimestrielles Hebdomadaires
WireGuard natif Non (plugin) Oui
IDS/IPS Snort/Suricata Zenarmor + Suricata
Licence Apache 2.0 BSD 2-Clause
Société Netgate Deciso
Cas d'usage
pfSense et OPNsense s'adaptent à de nombreux contextes :
- Homelab : remplacer la box opérateur basique par un vrai routeur/firewall. Segmentation réseau (VLAN IoT, invités, serveurs), VPN entrant, règles granulaires.
- PME : remplacer un UTM propriétaire coûteux (Fortinet, SonicWall) par une solution open source sur mini-PC. Économies importantes, flexibilité totale.
- Routeur domestique avancé : QoS (priorisation du trafic), blocage publicitaire DNS (pfBlockerNG / Unbound), surveillance du trafic, failover multi-WAN.
- Lab de sécurité : apprendre les concepts réseau avancés dans un environnement contrôlé (IDS, honeypots, capture de trafic).
Ce qu'un firewall ne protège pas
Un firewall est puissant mais ne fait pas tout. Il est important de comprendre ses limites :
- Trafic chiffré (HTTPS) : un firewall standard ne peut pas inspecter le contenu d'une connexion TLS. Il voit la destination et le port, pas les données. L'inspection SSL/TLS est possible mais complexe (man-in-the-middle sur le réseau local).
- Zero-day : une faille inconnue dans une application autorisée passe à travers le firewall sans être détectée. Un IDS/IPS complète le firewall pour ce cas.
- Menaces internes (insider threats) : un utilisateur malveillant sur ton LAN peut faire beaucoup de dégâts si la segmentation réseau est insuffisante.
- Phishing et ingénierie sociale : si un utilisateur télécharge volontairement un malware via HTTPS, le firewall ne bloque pas ce téléchargement (sauf DNS filtering).
Un firewall protège le périmètre réseau. Il ne protège pas contre les erreurs humaines, les logiciels vulnérables, ou les attaques qui passent par des canaux autorisés. La sécurité réseau est une stratégie multicouche.
Matériel requis
Pour faire tourner pfSense ou OPNsense, tu as plusieurs options selon ton budget et ton contexte :
Appliances dédiées
- Netgate (pfSense officiel) : gamme 1100, 2100, 4200. Matériel certifié, support inclus. À partir de ~200€. Idéal en production professionnelle.
- Protectli Vault : mini-PC x86 avec 2 à 6 ports Intel NIC. Très populaire en homelab. Fanless, compact. Modèles VP2420, FW4B. À partir de ~180€.
- PC Engines APU2 : plateforme AMD embarquée très utilisée. 3 ports GbE, carte SIM optionnelle. Robuste, low-power (~6W). Plus difficile à trouver neuf.
Virtualisation (Proxmox)
Dans un homelab sous Proxmox, pfSense/OPNsense tourne parfaitement en VM avec quelques contraintes : il faut des cartes réseau dédiées (passthrough PCIe ou NICs supplémentaires) pour séparer WAN et LAN. Une VM avec 1 vCPU et 1 Go de RAM suffit pour un usage domestique.
Configuration minimale VM : 1 vCPU, 1 Go RAM, 8 Go disque, 2 interfaces réseau (WAN + LAN). Pour ajouter IDS/IPS (Suricata/Zenarmor) : 2 vCPU et 2-4 Go RAM recommandés.
- Un firewall filtre le trafic selon des règles : source, destination, port, protocole.
- Stateful = maintient une table des connexions actives. Bien supérieur au stateless.
- Deux niveaux : hôte (iptables/nftables) et réseau (pfSense/OPNsense).
- OPNsense recommandé pour les nouveaux projets : mises à jour fréquentes, interface moderne.
- Matériel : mini-PC Protectli, APU2, ou VM sous Proxmox.
- Un firewall ne protège pas contre le chiffrement applicatif, les zero-day, ni les menaces internes.