VPN et services pfSense
Pourquoi un VPN sur son firewall ?
Un VPN intégré au firewall te permet d'accéder à ton réseau local depuis n'importe où, comme si tu y étais physiquement branché. Fini les accès RDP exposés sur Internet ou les services ouverts à tous — tu passes par un tunnel chiffré.
Deux cas d'usage principaux :
- Accès distant (Road Warrior) — ton téléphone ou ton PC portable se connecte au réseau de la maison ou du bureau depuis la route.
- Site-to-site — deux sites distants (deux bureaux, un bureau et un datacenter) sont reliés de façon transparente comme s'ils étaient sur le même LAN.
pfSense et OPNsense supportent tous les deux OpenVPN et WireGuard nativement (ou via paquet). Le choix du protocole dépend de tes besoins en compatibilité et en performance.
OpenVPN sur pfSense
OpenVPN est le protocole VPN le plus répandu sur pfSense. Il est mature, audité, et compatible avec tous les OS (Windows, macOS, Linux, Android, iOS).
Créer un serveur OpenVPN avec l'assistant
pfSense embarque un wizard qui guide la création pas à pas :
- Va dans VPN > OpenVPN > Wizards
- Choisis Local User Access (authentification locale) ou LDAP
- Crée ou sélectionne une CA (Certificate Authority) — pfSense peut en générer une automatiquement
- Configure le port (par défaut
1194/UDP), le réseau tunnel (ex.10.8.0.0/24) et le réseau local à exposer - L'assistant crée automatiquement les règles de pare-feu nécessaires
Change le port par défaut 1194 si ton firewall est exposé sur Internet — les scanners automatiques ciblent ce port en priorité. Utilise un port > 10 000 en UDP.
Exporter les configs clients
Le paquet openvpn-client-export (installable via System > Package Manager)
génère des fichiers .ovpn prêts à l'emploi pour chaque utilisateur.
Il embarque les certificats et la config serveur dans un seul fichier — il suffit de l'importer
dans le client OpenVPN.
WireGuard
WireGuard est un protocole VPN moderne, beaucoup plus simple et plus performant qu'OpenVPN. Son code est minimaliste (~4 000 lignes contre ~100 000 pour OpenVPN), ce qui le rend plus facile à auditer et moins susceptible de contenir des failles.
WireGuard sur OPNsense
OPNsense intègre WireGuard nativement depuis la version 21.7 :
- Active le plugin via System > Firmware > Plugins (
os-wireguard) - Va dans VPN > WireGuard > Local et crée un endpoint serveur
- Génère une paire de clés (bouton Generate new keypair)
- Dans Peers, ajoute chaque client avec sa clé publique et son IP dans le tunnel
- Ajoute une règle firewall sur l'interface WAN pour autoriser le port UDP choisi
WireGuard sur pfSense
Sur pfSense CE (Community Edition), WireGuard est disponible via le Package Manager. La configuration est similaire : tunnel local, peers, clés publiques/privées. pfSense Plus intègre WireGuard nativement depuis la version 21.05.
OpenVPN vs WireGuard
| Critère | OpenVPN | WireGuard |
|---|---|---|
| Performances | Correctes (userspace) | Excellentes (kernel) |
| Simplicité de config | Complexe (PKI, certificats) | Simple (paires de clés) |
| Compatibilité client | Tous OS, très répandu | Tous OS modernes |
| Protocole réseau | TCP ou UDP | UDP uniquement |
| Audit de sécurité | Mature, audits multiples | Minimaliste, audité |
| Traversée NAT | Bonne (TCP 443 possible) | Bonne (UDP natif) |
Recommandation : si tu pars de zéro, choisis WireGuard — plus rapide à configurer et plus performant. Si tu as des clients Windows 7 anciens ou des réseaux bloquant UDP, OpenVPN en TCP 443 reste une valeur sûre.
Services essentiels
DHCP Server
pfSense fait office de serveur DHCP pour chaque interface LAN/VLAN. La configuration se trouve dans Services > DHCP Server.
- Pool dynamique — plage d'adresses distribuées automatiquement (ex.
192.168.1.100→192.168.1.200) - Réservations statiques — associe une adresse IP fixe à une adresse MAC. Indispensable pour les serveurs, imprimantes et équipements réseau. Va dans DHCP Static Mappings en bas de la page.
- Options avancées — DNS, NTP, passerelle alternatifs par interface
DNS Resolver (Unbound)
Le DNS Resolver de pfSense est basé sur Unbound, un résolveur DNS validant et sécurisé. Il est activé par défaut et répond aux requêtes DNS de ton LAN.
- Mode résolveur (par défaut) — interroge directement les serveurs racine DNS, sans dépendre d'un DNS intermédiaire. Plus de vie privée.
- Mode forwarder — transfère les requêtes vers un DNS externe (8.8.8.8, 1.1.1.1, DoT…). Plus rapide mais dépendant d'un tiers.
- Overrides de domaine — force un domaine local (ex.
home.lan) à se résoudre sur ton serveur DNS interne. - DNSSEC — active la validation des signatures DNS pour détecter les empoisonnements de cache.
Active le DNS Resolver sur toutes tes interfaces LAN/VLAN et désactive l'option Allow DNS server list to be overridden by DHCP/PPP on WAN dans System > General Setup pour éviter que ton FAI impose ses propres DNS.
pfBlockerNG
pfBlockerNG est un paquet pfSense qui transforme ton firewall en bloqueur de publicités et de domaines malveillants à l'échelle de tout le réseau — sans rien installer sur les postes clients.
Il fonctionne en deux modes complémentaires :
- DNSBL (DNS Blackhole List) — intercepte les requêtes DNS vers des domaines publicitaires ou malveillants et retourne une réponse vide. Utilise des listes communautaires (EasyList, Steven Black…).
- IP Blocking — bloque les connexions vers des plages IP connues pour héberger du contenu malveillant ou des pays entiers (GeoIP).
Installation : System > Package Manager > Available Packages, cherche pfBlockerNG-devel.
Après installation, l'assistant de configuration se lance automatiquement.
Snort / Suricata — IDS/IPS
Un IDS (Intrusion Detection System) analyse le trafic réseau à la recherche de signatures d'attaques connues. Un IPS (Intrusion Prevention System) va plus loin : il bloque activement le trafic suspect.
- Snort — le plus ancien, très documenté, compatible avec de nombreuses règles. Disponible en paquet pfSense.
- Suricata — plus moderne, multi-thread, plus performant sur les liens rapides. Disponible sur pfSense et intégré nativement dans OPNsense.
Les deux utilisent des ruleset (jeux de règles) maintenus par la communauté : Emerging Threats (gratuit), Snort VRT (abonnement ou compte gratuit). Ces règles sont mises à jour régulièrement pour couvrir les nouvelles CVE et techniques d'attaque.
Démarre en mode IDS seul (alerte sans bloquer) pendant quelques jours avant d'activer le mode IPS. Les faux positifs peuvent bloquer du trafic légitime et couper des services si tu passes directement en mode blocage.
Monitoring
pfSense et OPNsense proposent des outils de monitoring intégrés accessibles depuis le Dashboard :
- Dashboard — widgets configurables : charge CPU, RAM, interfaces, sessions actives, états firewall, logs récents.
- Status > Traffic Graph — trafic en temps réel par interface, affiché sous forme de courbes. Pratique pour détecter une saturation de lien.
- Status > System Logs — logs firewall, DHCP, VPN, IDS. Filtrables par interface et niveau de sévérité.
- Status > States — table des connexions actives. Tu vois en temps réel toutes les sessions traversant le firewall.
- Notifications — configure des alertes email via System > Advanced > Notifications (SMTP). pfSense peut t'alerter sur les mises à jour disponibles, les erreurs CARP, les certificats expirant…
- OpenVPN — mature et universel. Utilise l'assistant pfSense + paquet export pour simplifier la distribution des configs clients.
- WireGuard — plus simple, plus rapide. Natif sur OPNsense, paquet sur pfSense CE.
- DHCP + réservations statiques — indispensable pour fixer l'IP de tes serveurs et équipements.
- DNS Resolver (Unbound) — résolveur local avec DNSSEC. Évite les DNS imposés par le FAI.
- pfBlockerNG — bloque pubs et domaines malveillants sur tout le réseau via DNSBL et IP blocking.
- Snort/Suricata — IDS/IPS pour détecter et bloquer les intrusions. Commence en mode détection seule.