Guide professionnel niveau avancé — pfSense 2.7+ · FreeBSD · OpenVPN · IPsec · VLAN · HAProxy · Snort / Suricata
Table des matières
- Prérequis matériels & environnement
- Installation de pfSense
- Configuration initiale & interfaces
- Règles de pare-feu avancées
- VLAN & segmentation réseau
- VPN — OpenVPN & IPsec
- IDS/IPS — Snort & Suricata
- Haute disponibilité (CARP)
- Supervision & alertes
- Bonnes pratiques & durcissement
1. Prérequis matériels & environnement
pfSense repose sur FreeBSD et requiert du matériel dédié ou virtualisé pour des performances optimales en production.
| Composant | Minimum | Recommandé (Production) | Notes |
|---|---|---|---|
| CPU | 64-bit, 1 GHz | Intel AES-NI, 4+ cœurs | AES-NI obligatoire pour VPN performant |
| RAM | 1 GB | 8 GB+ | 16 GB si IDS/IPS activé |
| Stockage | 8 GB SSD | 64 GB SSD NVMe | Logs & packages gourmands |
| Interfaces réseau | 2 NIC | 4+ NIC Intel/Broadcom | Éviter les NIC Realtek en prod |
| Connectivité | 100 Mbps | 1–10 Gbps | Selon volume de trafic |
ℹ️ Info — Pour la virtualisation (VMware ESXi / Proxmox), activez la passthrough de NIC (SR-IOV) pour des performances proches du bare-metal. Évitez les NIC virtuels pour de la production.
Fig. 1.1 — Architecture réseau complète avec pfSense en border firewall, segmentation VLAN et VPN
2. Installation de pfSense
Téléchargez l’image ISO depuis netgate.com et créez un media bootable.
Étapes d’installation
- Télécharger l’ISO officielle sur netgate.com/pfsense-plus-software (version CE ou Plus selon licence)
- Créer une clé USB bootable avec Balena Etcher ou Rufus (UEFI conseillé)
- Démarrer sur la clé — sélectionner Install pfSense dans le menu
- Choisir le mode de partitionnement : Auto ZFS recommandé pour la redondance
- Sélectionner le disque cible — confirmer la destruction des données
- Rebooter après installation et retirer le media
⚠️ Attention — Ne jamais installer pfSense sur le même disque que d’autres systèmes. Le partitionnement efface intégralement le disque cible.
Fig. 2.1 — Flux d’installation pfSense en 6 étapes — étape 4 (ZFS) est critique
3. Configuration initiale & interfaces
Au premier démarrage, pfSense lance un assistant accessible via la WebGUI sur https://192.168.1.1.
Accès initial WebGUI
URL : https://192.168.1.1
Login : admin
Password : pfsense
⚠ Changer immédiatement le mot de passe via System > User Manager
Attribution des interfaces
Naviguer vers Interfaces > Assignments. Identifier chaque interface physique via son adresse MAC ou via le test de déconnexion câble intégré.
| Interface | Rôle | Adresse recommandée |
|---|---|---|
| WAN | Liaison FAI / Internet | DHCP ou IP statique FAI |
| LAN | Réseau interne principal | 192.168.1.1/24 (à changer) |
| OPT1 | DMZ / Serveurs exposés | 10.0.10.1/24 |
| OPT2 | Management OOB | 172.16.0.1/24 |
Fig. 3.1 — Assignation des interfaces réseau dans pfSense
4. Règles de pare-feu avancées
pfSense utilise pf (Packet Filter FreeBSD) comme moteur. Les règles s’appliquent de haut en bas, la première règle correspondante gagnant.
🚫 Critique — Ne jamais utiliser la règle “any to any” en production. Définissez toujours des alias nommés et des règles par service.
Création d’alias
Alias: ADMIN_HOSTS
Type: Host(s)
IPs: 10.0.0.10, 10.0.0.11, 172.16.0.5
Alias: SERVICES_WEB
Type: Port(s)
Ports: 80, 443, 8443
Exemple de règles LAN → WAN
| Action | Proto | Source | Dest. | Port | Description |
|---|---|---|---|---|---|
| PASS | TCP | LAN net | any | 443 | HTTPS sortant |
| PASS | UDP | LAN net | DNS servers | 53 | DNS autorisé |
| PASS | TCP/UDP | ADMIN_HOSTS | any | any | Admins full access |
| BLOCK | any | any | any | any | Deny-all implicite |
Fig. 4.1 — Logique de traitement top-down des règles pfSense
5. VLAN & segmentation réseau
La segmentation via VLAN (802.1Q) est essentielle pour isoler les flux et limiter le rayon d’impact d’une compromission.
Configuration VLAN sur pfSense
- Naviguer vers Interfaces > VLANs — Cliquer sur Add
- Sélectionner l’interface parente (ex:
igb1) et saisir le VLAN ID (ex: 20) - Assigner le VLAN créé dans Interfaces > Assignments
- Activer l’interface et configurer son adresse IP
- Créer les règles de pare-feu inter-VLAN selon la politique de sécurité
ℹ️ Info — Configurez le switch amont en mode trunk sur le port connecté à pfSense. Utilisez un VLAN natif dédié (non-1) pour le management.
Fig. 5.1 — Segmentation en 4 VLANs avec trunk 802.1Q vers pfSense
6. VPN — OpenVPN & IPsec
pfSense supporte nativement OpenVPN (accès distant) et IPsec (site-à-site).
OpenVPN — Accès distant sécurisé
- Créer une CA interne : System > Cert. Manager > CAs > Add
- Générer un certificat serveur : System > Cert. Manager > Certificates
- Naviguer vers VPN > OpenVPN > Servers > Add
- Configurer : Protocol UDP, port 1194, TLS Authentication activée
- Choisir le réseau tunnel (ex:
10.8.0.0/24) et pousser les routes LAN - Créer la règle WAN : autoriser UDP 1194 entrant
- Exporter les configs client via le package openvpn-client-export
# Paramètres sécurisés recommandés
tls-version-min 1.2
cipher AES-256-GCM
auth SHA256
tls-auth ta.key 0
remote-cert-tls server
IPsec — Tunnel site-à-site (IKEv2)
| Phase | Paramètre | Valeur recommandée |
|---|---|---|
| Phase 1 | Version IKE | IKEv2 |
| Phase 1 | Encryption | AES-256 |
| Phase 1 | Hash | SHA-256 |
| Phase 1 | DH Group | 14 (2048-bit) |
| Phase 2 | Protocol | ESP |
| Phase 2 | Encryption | AES-256-GCM |
| Phase 2 | PFS | Group 14 |
Fig. 6.1 — Architecture VPN : OpenVPN (accès distant) et IPsec site-à-site en parallèle
7. IDS/IPS — Snort & Suricata
pfSense intègre Snort et Suricata comme packages IDS/IPS. Suricata est préféré pour ses performances multi-thread.
Installation de Suricata
- Naviguer vers System > Package Manager > Available Packages
- Rechercher et installer Suricata
- Aller dans Services > Suricata > Interfaces — Ajouter WAN
- Activer les sources de règles : ET Open, Snort Community Rules
- Configurer le mode : IDS (alerte) d’abord, puis IPS (blocage) après validation
- Activer la suppression des faux-positifs via les listes de suppression
⚠️ Attention — Commencez toujours en mode IDS uniquement pour analyser les faux-positifs avant d’activer le blocage.
Fig. 7.1 — Pipeline Suricata : IDS (alerte) vs IPS (blocage)
8. Haute disponibilité (CARP)
pfSense implémente la haute disponibilité via CARP et pfsync pour la synchronisation des états entre nœuds actif et passif.
Configuration HA
- Configurer une interface pfsync dédiée (réseau de synchronisation isolé)
- Sur le Master : System > High Avail. Sync — activer pfsync, configurer l’IP du peer
- Créer les VIPs CARP sur chaque interface (WAN, LAN, etc.)
- Configurer les règles et services pour utiliser les VIPs comme adresses
- Tester le failover en stoppant le Master et vérifiant la bascule automatique
✅ Bon à savoir — En HA correctement configuré, le temps de bascule est inférieur à 1 seconde grâce à la synchronisation pfsync.
Fig. 8.1 — Architecture HA avec CARP VIPs partagées et pfsync
9. Supervision & alertes
Une bonne supervision combine les logs internes pfSense, l’export SNMP/syslog et des outils externes.
Configuration syslog externe
System > Advanced > Notifications
Remote Log Servers: 10.0.10.50:514
Protocol: UDP
Log contents: Firewall Events, DHCP, VPN, System
SNMP pour supervision réseau
- Installer le package Net-SNMP via le gestionnaire
- Configurer la communauté SNMP v3 avec authentification (éviter v1/v2c)
- Restreindre l’accès SNMP aux seules IP de supervision
- Intégrer dans Zabbix ou LibreNMS avec les OIDs pfSense
Fig. 9.1 — Écosystème de supervision pfSense
10. Bonnes pratiques & durcissement
| Domaine | Action | Priorité |
|---|---|---|
| Authentification | MFA sur WebGUI (TOTP) | 🔴 CRITIQUE |
| Accès | WebGUI uniquement sur interface LAN/MGMT | 🔴 CRITIQUE |
| Protocoles | Désactiver HTTP, forcer HTTPS + HSTS | 🔴 CRITIQUE |
| SSH | Clé publique uniquement, port non-standard | 🟠 ÉLEVÉ |
| Mises à jour | Patch régulier, snapshots avant MAJ | 🟠 ÉLEVÉ |
| Logs | Export syslog externe + rétention 90 jours min | 🟠 ÉLEVÉ |
| Sauvegarde | Export config chiffré automatisé quotidien | 🟡 STANDARD |
| DNS | DNS Resolver avec DNSSEC activé | 🟡 STANDARD |
🔐 Critique — Ne jamais exposer la WebGUI sur le WAN. Si un accès distant est nécessaire, passez systématiquement par le VPN.
Fig. 10.1 — Mesures de durcissement pfSense — réduction de la surface d’attaque
pfSense™ est une marque déposée de Netgate. Ce tutoriel est fourni à des fins éducatives.