Un nouveau fork : DynFi Firewall (2020)
Notre projet de firewall s’inscrit dans la continuité des projets préexistants que ce soit m0n0wall, pfSense® ou OPNsense®.
La qualité générale du code de pfSense® est assez mauvaise, aucun effort n’ayant été entrepris pour “nettoyer” le code source de ce logiciel depuis de très nombreuses années, l’interface est largement dépassée et surtout, il ne dispose d’aucune API et le cœur du système, bien qu’assez stable n’a connu aucune évolution depuis une dizaine d’années.
A contrario, les équipes d’OPNsense® on effectué un important travail d’amélioration régulière du code. Elles ont clarifiées la structure générale du code, développé configd, un mécanisme central de gestion permettant l’incorporation d’API au sein du firewall.
Nous avons donc choisi d’utiliser comme code de base celui d’OPNsense, non seulement pour les raisons évoquées ci-dessus, mais aussi parcequ’ils ont conservé la licence BSD à deux clauses à la base de l’ensemble des projets de firewall Open Source dérivés de FreeBSD / OpenBSD ou NetBSD.
DynFi Firewall se démarque cependant assez nettement sur plusieurs points que nous allons évoquer ci-dessous :
Une révision des méthodes de compilation
Nous avons souhaité, au sein du projet DynFi Firewall, offrir à nos utilisateurs, non seulement un accès au code source du projet, mais aussi une révision complète des méthodes de compilation.
En effet, pfSense® et OPNsense® offrent des méthodes de compilation qui ne sont toujours clairement explicitées et qui ne répondent pas aux normes modernes de génération de paquettage.
A contrario, DynFi Firewall à réutilisé les normes mises en place par les équipes ayant créé le nouveau gestionnaire de paquet “pkg” sous FreeBSD.
Nous avons aussi directement sponsorisé de nombreux développements ayant permis d’améliorer une brique fondamentale des nouveaux mécanismes de mise à jour de FreeBSD : pkgbase.
Un retour vers un noyau FreeBSD
Les équipes derrière le projet OPNsense® ont choisi de ne pas s’investir dans les développements de bas niveau liés au firewall, confiant l’essentiel des travaux concernant la base de son système à Shawn Webb et son projet HardenedBSD.
Or, il nous semble extrêmement difficile de maintenir un système FreeBSD complet avec un haut niveau de qualité à un ou deux développeurs. La complexité de la production des patchs de sécurité et surtout leur maintenance sur le long terme rends cela extrêmement difficile.
Dans ces conditions, il nous semblé préférable de suivre la politique de sécurité de FreeBSD, d’activer les nombreux mécanismes de sécurité préexistants au sein de FreeBSD et de bénéficier des contributions des centaines de développeurs qui participent à la mise au point et à l’amélioration du Kernel FreeBSD.
Les travaux d’améliorations de la sécurité du système doivent selon nous être conduits de façon coordonnée et en accord avec la direction stratégique choisie par FreeBSD. Nous avons identifié de nombreuses pistes d’amélioration de la cybersécurité de bas niveau et comptons en mettre en œuvre d’assez nombreuses au cours des prochaines années.
Nous avons donc un mécanisme de compilation des sources qui fonctionne parfaitement, qui est lisible, moderne et apporte les améliorations suivantes :
un accès complet aux méthodes de compilation permettant de générer ses propres images de façon autonome
une simplification des mécanismes de mises à jour en s’appuyant sur les “best practice de FreeBSD”
une gestion des paquetages modernes et efficace
un mécanisme de mise à jour tirant partie de ce qu’offre “pkgbase”
des travaux à venir basés sur l’implémentation de mécanismes de sécurité de bas niveau
Une amélioration de l’interface graphique
Nos équipes ont mené un travail d’analyse et d’amélioration de l’interface graphique d’OPNsense® afin de vous permettre de bénéficier des améliorations suivantes :
un accès plus logique et direct aux logs
la traduction complète en langue française de l’interface
la suppression de menus redondants permettant un accès en moins de clic aux rubriques
de nombreuses améliorations dans la rubrique rapports afin de clarifier l’accès aux configurations et aux données
un regroupement beaucoup plus intuitif et logique des menus
le pointage vers nos propres forums et rubriques de support
l’inclusion d’un nouveau menu pour la configuration simplifiée de DynFi Manager
un choix de police et de couleurs cohérent avec notre charte graphique
Nous pensons que les utilisateurs gagneront un temps précieux grâce aux travaux que nous avons initiés sur la refonte de l’interface graphique.
L’inclusion de certains paquets
La version de base de DynFi Firewall inclus plus de paquettages que la version d’OPNsense dont il est dérivé. Nous avons souhaité ajouter certains paquettages au système de base tels que :
Clamav-Clamd
C-icap
FreeRadius
Il nous a semblé préférable d’intégrer ces paquettages directement au sein du système DynFi Firewall, plutôt que dans un répertoire externe. Bien évidemment, les services associés à ces paquetages ne seront activés qu’en cas de besoin.
Des mises à jour ciblées et moins fréquentes
Les équipes d’OPNsense se servent des mises à jour de leur firewall comme d’un outil marketing. Des centaines de tweet pour annoncer : “tomorrow is patch day”. Des dizaines de milliers d’heures perdues pour des mises à jour qui n’apportent que peu de modifications de code et ne permettent pas de distinguer les mises à jour nécessaires et celles qui ne le sont pas.
Avec environ une quinzaine de mise à jour par an, le rythme des mises à jour est tout à fait inadapté à un firewall.
En effet, chaque mise à jour d’un firewall, même opérée dans les meilleures conditions possibles, entraine souvent une interruption de réseau. Il nous semble donc impératif de hiérarchiser les mises à jour et de n’opérer que des mises à jour essentielles :
pour les patchs de sécurité impératifs à la stabilité du système
pour les mises à jour suffisamment importantes pour justifier une interruption de réseau
Les améliorations à venir
Nous prévoyons de poursuivre et d’accélérer nos développements afin de produire le meilleur firewall Open Source. Pour les sociétés et SSII souhaitant offrir des services de haut niveau aux utilisateurs, nous poursuivrons et renforcerons l’intégration entre le DynFi Manager et DynFi Firewall.