Qu'est-ce que le projet OPNsense ?

Le projet OPNsense, est un fork du projet pfSense® qui a eu lieu en janvier 2015. Il y a plusieurs raisons à la création de ce fork : 

Des raisons techniques : 

OPNsense permet une compilation simple du logiciel et fourni les outils nécessaires à ces opérations. Les dévelopeurs du projet OPNsense souhaitent développer un logiciel robuste et bien implémenté. La totalité du code du logiciel pfSense® a été revue et nettoyé. Cela a conduit à la création d'un code plus simple à comprendre et à maintenir.

 

La Communauté :

OPNsense, comme le logiciel pfSense® souhaite capitaliser sur une communauté la plus large possible pour construire un firewall OpenSource de haut niveau. 

 

La licence : 

C'est en fait la raison principale du fork.

Le projet pfSense® était porté depuis sa création par la société "BSD Perimeter, LLC" et avait opté pour une licence de type BSD (la même que celle qu'a adopté OPNsense à l'heure actuelle). 

A la suite d'un changement d'actionnariat au sein de "BSD Perimeter" (courant 2013) le propriétaire de Netgate (distributeur de hardware) est devenu actionnaire majoritaire de "BSD Perimeter" - le nom a changé et une nouvelle structure a été montée "Electric Sheep Fencing" - complétée par une seconde société en charge de l'exploitation de la marque pfSense® "Rubicon". 

La société "Electric Sheep Fencing" regroupe et emploi les principaux contributeurs du projet pfSense® - la licence mise en place vise à contrôler la propriété du code produit à des fins de qualité - mais surtout leur permet de s'assurer une exclusivité sur la distribution du hardware avec la marque " pfSense® ". 

Pour pouvoir distribuer du hardware en utilisant la marque pfSense®, il nous est demandé une "contribution" de 15% sur le CA généré. Cette contribution s'accompagne d'une obligation de signer un accord de distribution qui va totalement à l'encontre de la philosophie Open-Source du projet et positionne les distributeurs, non plus comme partenaires-contributeurs, mais comme subordonnés de Netgate / ESF / Rubicon. 

Ainsi, les distributeurs de hardware (dont OSNet et Decisio font partie) qui par leur action de distribution en Europe ont largement contribué au succès et à la diffusion du logiciel pfSense®, nous nous sommes retrouvés face à un dilèmne : accepter le tour de force de Netgate sur ce projet (et non pas seulement sur la marque) ou encourager la création d'un fork avec une licence et des pratiques plus en phase avec une vision "OpenSource". 

OPNsense dispose donc d'une licence approuvée par l'OpenSource initiative : une licence de type BSD à deux clauses. 

Cette licence se distingue très nettement de celle pour laquelle à opté Electric Sheep Fencing.

Le projet OPNsense, est principalement financé par Deciso et par plusieurs autres sociétés (pour l'essentiel des distributeurs de hardware) qui ont une vision bien précise de la façon dont un logiciel OpenSource peut-être développé sur une base équitable et participative. OPNsense met en avant les utilisateurs, les développeurs ainsi que les contributeurs et partenaires du projet. 

C'est la raison pour laquelle OSNet soutient ce projet avec de nombreux autres distributeurs de hardware en Europe. 

OPNSense dans le détail :

La revue présentée est basée sur la version 15.7.13 d'OPNsense. 
Les développeurs du projet se sont engagés à produire une nouvelle version (mise à jour majeur) tous les six mois. Deux versions sont sorties et une autre en préparation :

  • 15.1 (version allant de janvier à juillet 2015) 
  • 15.7 (version allant de juillet à août 2015)
  • 16.1 (version à venir dont la sortie est prévue en janvier 2016)

Les versions mineurs sont produites très régulièrement et permettent de patcher son système très simplement. Après plus d'une dizaine de mises à jour, nous n'avons jamais eu de problème particulier avec le système de mises à jour : simple rapide et très efficace. 

 

Des fonctionnalités de très bon niveau

  • OpenSSH/OpenSSL mise à jour via ports
  • Support de LibreSSL et OpenSSL (au choix)
  • Outil d'importation des configurations pfsense ( ≤ 2.1.5)
  • Support des installations embarqués BSDinstaller
  • Basé sur FreeBSD 10.1
  • Implementation du framework MVC (Modele-View-Controller)
  • Utilisation du Framework Bootstrap (interface graphique)
  • Réeciture d'une bonne partie du code existant
  • Nouvelle configuration de configd
  • Export des configurations OpenVPN cliente
  • Module Proxy intégré (Squid)
  • Outils de détection d'intrusions (Suricata)
  • Traduction multi-langue : Allemand, Japonais, Chinois (le français arrive très prochainement) 
  • Possibilité d'utiliser une version implémentant HardenedBSD (implémentant ASLR) 

 

Les nouveautés du logiciel OPNsense

OPNsense possède toutes les fonctionnalités d'un pare-feu d'entreprise. Il répond aux besoins de sécurité d'un réseau moderne et dispose d'outils intégrés stables et maintenus par les développeurs du projet : un proxy (Squid) et un Outil de Détection d'Intrusions (Suricata). 

L’interface utilisateur est basée sur Bootstrap, elle est plus simple, plus épurée et plus rapide.

Le processus de mise à jour a été entièrement revisité. Il est désormais basé sur le gestionnaire de package de FreeBSD. Les mises à jour sont très simples et peuvent être effectuées aussi bien à partir de l'interface graphique que de l'interface CLI. 

Les pacakges proposés par OPNsense sont donc mis à jour avec beaucoup plus de régularité que ceux du logiciel pfSense®

L'accès au système est simplifié (pour ceux qui souhaiterais installer des packages manuellement). 

 

OPNsense : un logiciel qui progresse rapidement

OPNsense et un logiciel qui est encore assez jeune (il n'a qu'un an d'ancienneté), il doit encore s'améliorer et se stabiliser. Il est possible de l'utiliser en production, les performances sont cependant légèrement moins bonnes que celle de son homologue le logiciel pfSense®

OPNsense ne supporte pas encore AES-NI qui permet une accélération matérielle du chiffrement. 

L'interface graphique a été simplifiée et certains pacakges ne disposent plus de l'intégralité des options (Squid, Portail Captif, Options avancées, …). Cela permet une simplification de l'administration qui peut être légèrement handicapant pour les utilisateurs les plus expérimentés. 

Les progrès réalisés en six mois sont cependant considérables.

Les prochaines versions vont offrir des fonctionnalités très intéressantes

  • Support des pluggins (possibilité d'extension des menus - définition d'un framework et répertoire) 
  • Implémentation d'une API de gestion des sessions afin de mieux utiliser les services RESTful déjà implémentés
  • Séparation des privilèges en intégrant toutes les commandes dans des appels configd
  • Fonctionnalité de navigation rapide
  • Ajout d'un framework de test Unit et tests des composants
  • Ré-écriture du framework du portail captif en utilisant de nouveaux composants
  • Plugin pour faire du DPI au niveau 7 

 


Les outils de build pour pouvoir construire le système et pouvoir développer avec les binaires et sources sont disponibles ici :
https://github.com/opnsense/tools
 
Le site d'OPNsense :
https://opnsense.org/