Évolutions et actualités du logiciel pfSense
05/10/2022
Un certain nombre de gros changements "sous le capot" ont été annoncés concernant pfSense.
Les deux principaux changements annoncés sont le passage à PHP 8.1 et l'adoption de FreeBSD 14.
Dans cet article, nous passons en revue ces deux principales évolutions et les impacts associés qui concerneront pfSense 2.7.
Les dernières versions de pfSense (2.6.0) étaient basées sur PHP 7.4, dont le support actif arrive à terme fin novembre. Il devenait donc nécessaire de migrer vers une version plus récente de PHP.
La prochaine version de pfSense embarquera donc PHP 8.1, qui est la dernière version de PHP et dont le support actif s'étend jusqu'à fin novembre 2024.
Le passage à PHP 8.1 implique de grosses évolutions sur le code qui embarque des éléments ou des fonctions obsolètes.
Cela entraîne un gros travail de tests de non-régression, de ré-écriture de code et de renforcement de la sécurité sur la manière dont PHP est exploité par pfSense. Autant le dire, il y a du travail... :-)
Cette évolution peut également remettre en cause le fonctionnement de pas mal de packages qui devront également tourner sur PHP 8.1.
pfSense tournait jusqu'à présent sur FreeBSD 12-STABLE.
Pour rappel, il y a principalement trois branches actives pour les versions de FreeBSD :
L'intérêt évoqué par Netgate (la société éditrice de pfSense) de passer à FreeBSD 14, qui est la version de développement, est de pouvoir intégrer à pfSense les toutes dernières fonctionnalités ajoutées à FreeBSD.
De plus, ils considèrent que la branche de développement bénéficie plus rapidement des corrections de bugs, des corrections de sécurité et des autres corrections d'une façon générale.
Aussi, lorsque le support d'un nouveau matériel est ajouté à FreeBSD, il est d'abord intégré à la branche principale (CURRENT).
Ainsi, suivre la branche principale de FreeBSD donne au logiciel pfSense les pilotes les plus à jour pour une variété de matériel.
Même si ce n'est pas évoqué officiellement, on peut aussi penser au support de plus en plus important des matériels à base d'architectures ARM.
En effet, Netgate a connu plusieurs fois dans le passé des difficultés à sortir des mises à jour de pfSense dans les délais car ils rencontraient énormément de difficultés à faire fonctionner correctement une partie de leurs appliances qui tournent sur des architectures ARM.
Enfin, Netgate est un contributeur important à l'écosystème FreeBSD. Il est donc plus simple pour les équipes de développement de travailler sur la version CURRENT qui est directement intégrée à pfSense. Cela permet de réduire fortement la dette technique et de voir intégrer plus rapidement leurs contributions à FreeBSD dans les versions de pfSense.
Il est à noter que Netflix a adopté une stratégie similaire : tous leurs serveurs qui tournent sous FreeBSD utilisent la branche current.
En réalité, assez peu.
Le principal impact est que certaines suites cryptographiques jusqu'alors supportées par pfSense, mais totalement désuètes, ne seront probablement plus supportées sous pfSense 2.7.
On pense notamment aux algorithmes MD5 ou 3DES, ainsi qu'aux groupes d'échange de clés Diffie-Hellman disposant d'une taille de clef trop faible.
Enfin, on peut légitimement s'attendre à voir apparaître quelques bugs lors de la sortie de pfSense 2.7.0
Il ne faudra, bien évidemment, pas se précipiter pour mettre à jour (sauf si vous souhaitez jouer au bêta-testeur sur votre production) afin de s'assurer que ces grosses mises à jours n'entraînent pas trop d'effets de bord.
Et il faut espérer que les utilisateurs de pfSense n'auront pas à revivre les difficultés de pfSense 2.5 qui avait vu la sortie de pas moins de 3 versions à quelques semaines / mois d'intervalle afin de corriger les très nombreux bugs.
pfSense 2.7.0 ne devrait pas sortir avant la fin de cette année. Aucune date n'est annoncée pour le moment.
Pour davantage d'informations sur les évolutions du logiciel pfSense, nous conseillons la lecture de l'article pfSense Software is Moving Ahead, écrit par le Directeur Technique de Netgate (Jim Thompson).
Les deux principaux changements annoncés sont le passage à PHP 8.1 et l'adoption de FreeBSD 14.
Dans cet article, nous passons en revue ces deux principales évolutions et les impacts associés qui concerneront pfSense 2.7.
Passage à PHP 8.1
Les dernières versions de pfSense (2.6.0) étaient basées sur PHP 7.4, dont le support actif arrive à terme fin novembre. Il devenait donc nécessaire de migrer vers une version plus récente de PHP.
La prochaine version de pfSense embarquera donc PHP 8.1, qui est la dernière version de PHP et dont le support actif s'étend jusqu'à fin novembre 2024.
Le passage à PHP 8.1 implique de grosses évolutions sur le code qui embarque des éléments ou des fonctions obsolètes.
Cela entraîne un gros travail de tests de non-régression, de ré-écriture de code et de renforcement de la sécurité sur la manière dont PHP est exploité par pfSense. Autant le dire, il y a du travail... :-)
Cette évolution peut également remettre en cause le fonctionnement de pas mal de packages qui devront également tourner sur PHP 8.1.
Adoption de FreeBSD 14
pfSense tournait jusqu'à présent sur FreeBSD 12-STABLE.
Pour rappel, il y a principalement trois branches actives pour les versions de FreeBSD :
- stable/12 : la branche la plus ancienne. Ses versions (nommées 12.x-RELEASE) seront théoriquement supportées jusqu'en juin 2024.
- stable/13 : l'autre branche stable. Ses versions (nommées 13.x-RELEASE) seront théoriquement supportées jusqu'en janvier 2026.
- current/14 : il s'agit de la version de développement. Le développement sur cette branche est très actif, au prix d'un risque d'instabilité plus fort qu'avec les deux autres branches.
L'intérêt évoqué par Netgate (la société éditrice de pfSense) de passer à FreeBSD 14, qui est la version de développement, est de pouvoir intégrer à pfSense les toutes dernières fonctionnalités ajoutées à FreeBSD.
De plus, ils considèrent que la branche de développement bénéficie plus rapidement des corrections de bugs, des corrections de sécurité et des autres corrections d'une façon générale.
Aussi, lorsque le support d'un nouveau matériel est ajouté à FreeBSD, il est d'abord intégré à la branche principale (CURRENT).
Ainsi, suivre la branche principale de FreeBSD donne au logiciel pfSense les pilotes les plus à jour pour une variété de matériel.
Même si ce n'est pas évoqué officiellement, on peut aussi penser au support de plus en plus important des matériels à base d'architectures ARM.
En effet, Netgate a connu plusieurs fois dans le passé des difficultés à sortir des mises à jour de pfSense dans les délais car ils rencontraient énormément de difficultés à faire fonctionner correctement une partie de leurs appliances qui tournent sur des architectures ARM.
Enfin, Netgate est un contributeur important à l'écosystème FreeBSD. Il est donc plus simple pour les équipes de développement de travailler sur la version CURRENT qui est directement intégrée à pfSense. Cela permet de réduire fortement la dette technique et de voir intégrer plus rapidement leurs contributions à FreeBSD dans les versions de pfSense.
Il est à noter que Netflix a adopté une stratégie similaire : tous leurs serveurs qui tournent sous FreeBSD utilisent la branche current.
Quels impacts pour les utilisateurs de pfSense ?
En réalité, assez peu.
Le principal impact est que certaines suites cryptographiques jusqu'alors supportées par pfSense, mais totalement désuètes, ne seront probablement plus supportées sous pfSense 2.7.
On pense notamment aux algorithmes MD5 ou 3DES, ainsi qu'aux groupes d'échange de clés Diffie-Hellman disposant d'une taille de clef trop faible.
Enfin, on peut légitimement s'attendre à voir apparaître quelques bugs lors de la sortie de pfSense 2.7.0
Il ne faudra, bien évidemment, pas se précipiter pour mettre à jour (sauf si vous souhaitez jouer au bêta-testeur sur votre production) afin de s'assurer que ces grosses mises à jours n'entraînent pas trop d'effets de bord.
Et il faut espérer que les utilisateurs de pfSense n'auront pas à revivre les difficultés de pfSense 2.5 qui avait vu la sortie de pas moins de 3 versions à quelques semaines / mois d'intervalle afin de corriger les très nombreux bugs.
pfSense 2.7.0 ne devrait pas sortir avant la fin de cette année. Aucune date n'est annoncée pour le moment.
Pour davantage d'informations sur les évolutions du logiciel pfSense, nous conseillons la lecture de l'article pfSense Software is Moving Ahead, écrit par le Directeur Technique de Netgate (Jim Thompson).
Retrouvez nos services et firewall pour pfSense & OPNsense
2 commentaires
ddurieux - 06/10/2022 à 09:47:53
Sortir un firewall sur un noyau en cours de dev, faut oser quand même ;(
Guillaume - 06/10/2022 à 11:09:12
@ddurieux :
À ma connaissance, ils seront les seuls à le faire, parmi les grosses solutions de pare-feu du marché.
OPNsense tourne sur FreeBSD 13.
Stormshield Network Security (de Stormshield) et JunOS (de Juniper) tournent sur FreeBSD 12.
Cordialement,
Guillaume
--
Provya
Flux RSS des commentaires de cet article