L’histoire de firewall OpenSource dérivés de FreeBSD
Avant-propos
Le projet DynFi Firewall est issue d’une longue lignée de firewalls Open Source dont l’origine remonte à 2003 avec le projet m0n0wall développé par Manuel Kasper
L’objectif de ce projet, comme de ceux qui suivront, a été de fournir gratuitement un firewall opérationnel avec de nombreuses fonctions et une interface web complète qui permet de piloter les briques Open-Source composant le firewall.
Les débuts (2003-2008)
Au début des années 2000, très peu de firewalls OpenSource disposent d’une interface graphique. Plus la cybersécurité a pris une position importante dans le développement de l’informatique moderne, plus la nécessité de pouvoir bénéficier de ce type d’interface est devenue évidente.
Manuel Kasper à jeté les bases de ce qui va bientôt devenir le projet pfSense. En 2005 l’intérêt pour le projet m0n0wall grandit et l’autodidacte Chris Buechler fait bientôt parti des contributeurs importants du projet m0n0wall.
Alors que Chris consacre une grande partie de son temps à améliorer le projet, il décide en 2005 de lancer le projet pfSense.
Note
L’origine du nom provient de pf ( packet filter : l’un des premiers firewalls du système OpenBSD <https://openbsd.org>`_ et FreeBSD ) et ‘sense’ qui signifie sentir ou percevoir, mais qui peut aussi être perçu comme une capture (“sensor” ou capteur en Français).
La première version de pfSense® version sortira le 14/10/2006 Le projet est porté par la société “BSD Perimeter”.
Vers la maturité (2008-2013)
Le projet pfSense® connait de nombreuse améliorations, mais devient plus stable et de meilleure qualité avec la sortie de la version 2 (sortie le 17/09/2011).
Ce logiciel gratuit va rencontrer un succès important et être adopté par de nombreux utilisateurs à travers le monde. Il offre une interface graphique basée sur PHP et permet d’interagir avec le système FreeBSD sans pour autant plonger dans la programmation ou maîtriser le paramétrage de logiciels complexes (pf, ipfw, DHCP, DNS,…).
Au fur et à mesure que de nouvelles versions sont publiées, le logiciel s’améliore et son public s’élargit. Grâce à un mécanisme de paquetages optionnelles, il devient assez trivial de déployer un IDS ou un proxy .
Changement de licence et de stratégie (2014-2015)
En 2013 la société change de nom et devient ESF “Electric Sheep Fencing” .
Peu de temps après, Jim Thompson devient l’actionnaire majoritaire au sein d’ESF et prend le contrôle de la marque pfSense® propriété de la société “Electric Sheep Fencing” (ESF) en rachetant les parts d’un des associés historique.
La marque pfSense® est très largement utilisée, notamment en Europe et en France où la commercialisation d’appliances sous la marque “pfSense®” est assurée par notre société… qui utilisera “powered by pfSense” comme baseline jusqu’en 2014.
En Janvier 2014 le cabinet d’avocat Texan MHKK & G lance (à l’initiative de Jim Thompson) une vaste opération qui vise à reprendre le contrôle de la marque. Jusqu’ici son utilisation n’avait pas été très strictement encadrée.
Jim Thompson et sa femme sont les propriétaires de Netgate et vont faire du liens entre Netgate et pfSense® un lien exclusif, notamment en changeant le modèle de distribution des firewalls.
Les contributeurs étrangers n’ont d’autre choix que de signer le contrat proposé ou d’aller voir ailleurs. Aucune exclusivité territoriale n’est accordée aux partenaires historiques qui ont pourtant investi des années de travail et d’efforts pour assurer la promotion de la marque pfSense®.
La communauté est assez perturbée et ne comprend pas bien ce qui est en jeux pour les sociétés qui ont soutenu le logiciel pfSense® depuis de nombreuses années dans sa phase de développement.
Note
La licence du logiciel pfSense® qui était depuis le début du projet une licence BSD 2 clauses évolue vers une obscure “licence ESF à six clauses”… pour finalement opter pour une licence Apache 2.
Chris Buechler prendra progressivement du recul et finira par quitter en Juillet 2016 la société ESF pour aller travailler chez Ubiquiti
Un nouveau fork : OPNsense (2015-2019)
Le 5 janvier 2015 la société Deciso, l’un des anciens partenaires de pfSense®, décide de créer un fork de pfSense® appelé OPNsense®
Un début sous haute tension
Le nom “OPNsense” est enregistré dans un certain nombre de pays, quelques sociétés dont nous faisons partis vont rapidement sponsoriser le projet en devenant “Partenaire officiel”.
Les débuts sont assez difficiles car la qualité générale du code de pfSense® est moyenne. Le code, très mal structuré, ne dispose pas des indications suffisantes pour permettre sa compilation.
De nombreux échanges très vigoureux à coup de tweets interposés ont lieux entre les protagonistes du projet OPNsense® et Jim Thompson (alias @gonzopancho).
Le paroxysme est atteint avec le détournement du site “opnsense.com” qui pendant plusieurs années est utilisé à des fins de dénigrement et de calomnie et se cache derrière un enregistrement “Domain by Proxy” qui ne permet pas de savoir qui est le propriétaire réel du domaine.
Grace à l’aide décisive que nous avons apportée sur le dossier et au travail d’une brillante avocate Française, une décision de justice sera rendue et permettra de révéler l’identité réelle du propriétaire du domaine qui n’est autre que Jaimie Thompson (épouse de Jim Thompson et actionnaire de Netgate).
Cette décision de justice permettra un changement d’attitude des équipes de pfSense® et de rendre les relations entre les deux équipes un peu moins tendues.
OPNsense quitte FreeBSD pour HardenedBSD
Le projet OPNsense continue à développer des versions successives du logiciel qui seront dans un premier temps basées sur FreeBSD 10.
A partir de la version 16.7, les premiers patchs d’un dérivé de FreeBSD appelé HardenedBSD sont intégrés. Ces patchs du noyau doivent permettre d’améliorer la résilience du système à certaines failles de sécurité (notamment ASLR).
OPNsense contribue à rendre le code plus clair et restructure un certain nombre de paquetage.
Note
Les travaux de développement de HardenedBSD sont assez controversés au sein de la communauté FreeBSD. Les principales critiques qui sont faites sont liées à la difficulté de maintenir un système avec une équipe d’une ou deux personnes ! De ce fait le système HardenedBSD semble avoir des difficultés à maintenir l’upstream (flot de développement issue du système FreeBSD) et à donc tendance à s’isoler et à prendre du retard dans la publication de nouvelles versions. Un certain nombre de patchs ont par ailleurs été publiés par FreeBSD qui rendent beaucoup moins indispensable le recours à HardenedBSD (notamment ASLR). Enfin des critiques importantes sur les patchs de sécurité apportés par HardenedBSD ont été faites par George V. Neville-Neil, President de la fondation FreeBSD dans différents talk et sont corroborés par d’assez nombreux développeurs FreeBSD.
La prochaine section est consacrée à la naissance d’un nouveau projet de pare-feu : DynFi Firewall
Un nouveau fork : DynFi Firewall (2020)