Choix - OPNsense
A. Contexte
Section titled âA. ContexteâAu sein de lâinfrastructure LoutikCLOUD, jâai rapidement ressenti le besoin dâextraire le rĂŽle critique de routeur et de pare-feu de mon hyperviseur Proxmox. Virtualiser son routeur principal crĂ©e une dĂ©pendance cyclique complexe (le fameux problĂšme de lâĆuf et de la poule lors des redĂ©marrages de lâhyperviseur ou des maintenances matĂ©rielles).
Pour garantir une haute disponibilitĂ© dâaccĂšs et une vĂ©ritable sĂ©grĂ©gation physique, jâai fait le choix dâacquĂ©rir un Ă©quipement bare-metal1 dĂ©diĂ© : un client lĂ©ger HP T730. Ce matĂ©riel est Ă©quipĂ© dâune carte rĂ©seau PCI Express Intel dâ1 Gb/s et prĂ©sente lâĂ©norme avantage de consommer trĂšs peu dâĂ©lectricitĂ©, un critĂšre essentiel pour une machine destinĂ©e Ă tourner 24h/24 et 7j/7. Il me fallait ensuite choisir le systĂšme dâexploitation (OS) capable dâexploiter cette machine pour sĂ©curiser et router le trafic de mon infrastructure de maniĂšre moderne, automatisable et robuste.
B. Cahiers des charges
Section titled âB. Cahiers des chargesâ| ID | Type | Exigence | Description |
|---|---|---|---|
| [REQ-F01] | Fonctionnel | Filtrage et IPS2 | CapacitĂ© Ă bloquer activement le trafic illĂ©gitime en local via des listes de contrĂŽle dâaccĂšs (ACL3) et un systĂšme de prĂ©vention dâintrusion performant. |
| [REQ-F02] | Fonctionnel | GratuitĂ© et pĂ©rennitĂ© | La solution doit ĂȘtre 100% gratuite (open-source de prĂ©fĂ©rence) et bĂ©nĂ©ficier de mises Ă jour de sĂ©curitĂ© trĂšs rĂ©guliĂšres. |
| [REQ-T01] | Technique | API REST native | PrĂ©sence dâune API4 complĂšte permettant lâautomatisation totale des configurations et la gestion des sauvegardes (notamment via Ansible). |
| [REQ-T02] | Technique | ObservabilitĂ© Ă©tendue | PossibilitĂ© dâexporter facilement des mĂ©triques de performance et de trafic vers des outils de supervision comme Prometheus ou Zabbix. |
| [REQ-T03] | Technique | CompatibilitĂ© x86 basse conso | LâOS doit ĂȘtre optimisĂ© pour tourner sur une architecture standard (comme le HP T730) sans surcharger inutilement le processeur. |
C. Les solutions du marché
Section titled âC. Les solutions du marchĂ©âC.1. PrĂ©sentations des solutions
Section titled âC.1. PrĂ©sentations des solutionsâC.1.1. OPNsense
Section titled âC.1.1. OPNsenseâ- PrĂ©sentation gĂ©nĂ©rale : Pare-feu et routeur open-source basĂ© sur HardenedBSD. Câest un fork (une dĂ©rivation) de pfSense créé pour offrir une interface plus moderne et un code plus ouvert.
- Fonctionnement : Utilise un pare-feu stateful robuste, intÚgre Suricata pour la partie IPS, et propose une architecture modulaire basée sur des plugins.
- Profil : Orienté DevSecOps, administrateurs réseaux modernes et entreprises cherchant une plateforme ouverte, hautement automatisable via API.
C.1.2. pfSense (Community Edition)
Section titled âC.1.2. pfSense (Community Edition)â- PrĂ©sentation gĂ©nĂ©rale : La rĂ©fĂ©rence historique des pare-feux open-source, massivement dĂ©ployĂ©e Ă travers le monde et soutenue par lâentreprise Netgate.
- Fonctionnement : ExtrĂȘmement stable et complet, il propose un Ă©cosystĂšme de paquets trĂšs vaste pour Ă©tendre ses fonctionnalitĂ©s (Snort, pfBlockerNG).
- Profil : Administrateurs réseaux traditionnels et entreprises cherchant une solution éprouvée avec une immense base de documentation.
C.1.3. OpenWRT
Section titled âC.1.3. OpenWRTâ- PrĂ©sentation gĂ©nĂ©rale : Projet open-source historique, extrĂȘmement lĂ©ger, conçu Ă lâorigine pour remplacer les firmwares propriĂ©taires des routeurs grand public.
- Fonctionnement : AxĂ© sur la lĂ©gĂšretĂ© et la flexibilitĂ©, il se configure via lâinterface web LuCI ou directement en ligne de commande via son systĂšme UCI.
- Profil : Bidouilleurs, environnements embarquĂ©s, points dâaccĂšs Wi-Fi et matĂ©riels avec de trĂšs faibles ressources matĂ©rielles (RAM/CPU).
C.1.4. VyOS
Section titled âC.1.4. VyOSâ- PrĂ©sentation gĂ©nĂ©rale : OS de routage open-source orientĂ© entreprise, entiĂšrement dĂ©pourvu dâinterface graphique (GUI).
- Fonctionnement : Toute la configuration se fait via une ligne de commande unifiée (CLI) trÚs puissante, inspirée du matériel Juniper.
- Profil : IngĂ©nieurs rĂ©seaux purs et durs, dĂ©ploiements cloud massifs oĂč le routage BGP/OSPF prime sur lâinterface visuelle.
C.2. Comparatifs des solutions
Section titled âC.2. Comparatifs des solutionsâ| Exigence | OPNsense | pfSense (CE) | OpenWRT | VyOS |
|---|---|---|---|---|
| [REQ-F01 (IPS & ACL)] | ValidĂ© (Suricata natif) | ValidĂ© (Snort/Suricata) | Ăvaluation (Complexe Ă intĂ©grer) | Ăvaluation (Moins intuitif) |
| [REQ-T01 (API & Ansible)] | ValidĂ© (API REST riche) | Non validĂ© (Pas dâAPI native gratuite) | ValidĂ© (Via SSH/UCI) | ValidĂ© (Excellent support) |
| [REQ-T02 (Supervision)] | Validé (Plugins natifs) | Validé | Validé | Validé |
| [REQ-F02 (Gratuit/Ă jour)] | ValidĂ© | Ăvaluation (ModĂšle vers le payant) | ValidĂ© | Ăvaluation (Images LTS payantes) |
D. Solution proposée
Section titled âD. Solution proposĂ©eâLa solution proposĂ©e pour lâinfrastructure est OPNsense.
DĂ©ployĂ© sur le client lĂ©ger HP T730, OPNsense remplit parfaitement son rĂŽle de douanier physique pour lâensemble du rĂ©seau LoutikCLOUD. Son intĂ©gration native de Suricata me permet dâactiver un IPS performant qui inspecte les flux entrants et sortants pour couper net toute tentative de compromission dĂ©tectĂ©e par ses signatures.
Ce qui a dĂ©finitivement fait pencher la balance en sa faveur, câest son ouverture aux pratiques DevSecOps. GrĂące Ă son API REST native, je peux orchestrer OPNsense avec Ansible sans avoir Ă âbidouillerâ via SSH. Câest cette mĂȘme API qui me permet dâautomatiser lâextraction des sauvegardes de configuration au format XML pour les externaliser de maniĂšre sĂ©curisĂ©e, assurant une reprise dâactivitĂ© immĂ©diate en cas de panne du HP T730. Lâexport des mĂ©triques vers ma stack dâobservabilitĂ© locale se fait en quelques clics grĂące aux plugins communautaires rĂ©guliĂšrement mis Ă jour.
Justification du rejet des solutions alternatives :
- pfSense : Bien que ce soit une solution lĂ©gendaire, lâabsence dâune vĂ©ritable API REST dans sa version communautaire (Community Edition) rendait lâautomatisation de mes sauvegardes et configurations via Ansible beaucoup trop lourde et instable. De plus, la trajectoire rĂ©cente de lâĂ©diteur pousse de plus en plus vers la version payante (pfSense Plus).
- OpenWRT : Câest un OS fantastique pour des routeurs Wi-Fi limitĂ©s en puissance, mais son Ă©cosystĂšme nâest pas pensĂ© en prioritĂ© pour hĂ©berger un moteur IPS complet et lourd (comme Suricata) sur une architecture x86. Lâinterface aurait demandĂ© trop de personnalisations pour atteindre mes objectifs de sĂ©curitĂ©.
- VyOS : Bien que son interface en ligne de commande unifiĂ©e soit un rĂ©gal pour lâautomatisation rĂ©seau, lâabsence dâinterface web rend le diagnostic rapide et la gestion visuelle des rĂšgles de pare-feu au quotidien moins pratique dans le cadre dâun homelab polyvalent oĂč je suis le seul mainteneur.
Footnotes
Section titled âFootnotesâ-
Bare-metal : Fait rĂ©fĂ©rence Ă un Ă©quipement informatique physique dĂ©diĂ©, sur lequel le systĂšme dâexploitation est installĂ© directement sur le matĂ©riel, sans couche de virtualisation intermĂ©diaire. â©
-
IPS (Intrusion Prevention System) : Un systĂšme de sĂ©curitĂ© rĂ©seau qui analyse le trafic en temps rĂ©el pour dĂ©tecter et bloquer automatiquement les activitĂ©s malveillantes (comme les attaques informatiques ou les virus) avant quâelles nâatteignent leur cible. â©
-
ACL (Access Control List) : Une liste de rĂšgles de sĂ©curitĂ© strictes dĂ©finissant trĂšs prĂ©cisĂ©ment qui ou quoi a le droit dâentrer ou de sortir dâun rĂ©seau ou dâaccĂ©der Ă un service (ex: bloquer lâadresse IP X sur le port Y). â©
-
API (Application Programming Interface) : Un pont logiciel qui permet Ă deux applications diffĂ©rentes de communiquer et dâĂ©changer des donnĂ©es entre elles de maniĂšre automatisĂ©e, sans intervention humaine. â©