Provya

Expertise pfSense

Sommaire des articles  -  Liens & Actualités  -  Firewall pour pfSense

[pfSense] La puissance de ZFS pour des mises à jour et des retours arrière en toute sérénité

icon 08/02/2022 - 5 commentaires

Dans cet article nous présentons l'intérêt de l'utilisation du système de fichiers ZFS et de ses instantanés lors des mises à jour de pfSense.
Il s'agit d'une solution très efficace pour gérer ses mises à jour et ses possibilités de retour arrière vers des points de restauration très facilement.

OPNsense : depuis OPNsense 24.7, la gestion des points de restauration ZFS est directement intégrée au tableau de bord. Il n'est plus nécessaire de suivre les informations indiquées dans cet article.



ZFS, c'est quoi ? Quel intérêt ?


ZFS est un système de fichiers et un gestionnaire de volume open source.

ZFS offre de très nombreuses fonctionnalités. Nous ne les détaillerons pas dans cet article, nous proposons la consultation de la page Wikipédia qui lui est dédiée : ZFS.

Pour des firewall tournant sous pfSense, ZFS présente deux gros intérêts : la facilité d'installation de deux disques en haute-disponibilité (Raid) et la possibilité de réaliser des instantanés (snapshot).

Dans cet article, nous nous intéressons particulièrement à l'intérêt des snapshot ZFS lors des mises à jour de pfSense.

En effet, il peut arriver qu'une nouvelle version de pfSense comporte des bugs et que ceux-ci ne soient pas corriger immédiatement (ex : les versions 2.5.0 et 2.5.1 qui étaient catastrophiques) ; ou qu'il y ait une incompatibilité matérielle suite à une mise à jour (aucun risque si vous prenez votre matériel chez Provya ;-) ).

Dans ce cas, il peut être pratique de disposer d'un point de restauration pour pouvoir faire un retour-arrière rapide vers la version précédente de pfSense (ex : 2.4.5-p1).

Dans cet article, nous présentons comment créer un point de restauration grâce aux instantanés. Comment procéder à une restauration si besoin. Et comment supprimer le point de restauration si la mise à jour s'est bien passée.

Cette stratégie est applicable aussi bien à pfSense qu'à OPNsense.



Instantané, snapshot, qu'est-ce que c'est ?


Un instantané est une copie en lecture seule d'un système de fichiers ou d'un volume.

La création d'un instantané est quasiment immédiate.

Initialement, un instantané ne consomme pas d'espace disque supplémentaire. Toutefois, à mesure que les données contenues dans le jeu de données actif changent, l'instantané consomme de l'espace disque en continuant à faire référence aux anciennes données et empêche donc de libérer de l'espace disque.

Snapshot est le terme anglais pour instantané. Les termes "instantané" et "snapshot" désignent donc la même chose.



Pré-requis


1/2. Disposer d'un accès au firewall


Il faut disposer d'un accès en mode console au firewall. Il existe trois possibilités : utiliser la console présente dans l'interface web de pfSense, activer le serveur SSH de pfSense ou activer le port console (si le firewall est équipé d'un port console).


Utiliser la console de l'interface web

Il s'agit de la solution la plus simple. pfSense dispose d'un accès console depuis l'interface web. Pour y accéder, se rendre dans le menu Diagnostics > Command Prompt :

Invite de commande depuis le webui de pfSense - Provya


Il sera possible de saisir les commandes indiquées et de cliquer sur le bouton "Execute" pour les exécuter. Le résultat de la commande sera affiché à l'écran.

OPNsense n'offre pas d'accès console depuis son interface web. Ceci pour des raisons de sécurité.


Activer le serveur SSH de pfSense

La deuxième possibilité est de se connecter au firewall via son serveur SSH.
Par défaut, le serveur SSH est désactivé.

Pour l'activer, se rendre dans le menu System > Advanced :

Menu System > Advanced - pfSense - Provya


Descendre au niveau de la section "Secure Shell" et cocher la case "Enable Secure Shell".
Il est également possible de paramétrer la méthode d'authentification (mot de passe ou certificat) et le port d'écoute (22 par défaut).

Activer le serveur SSH de pfSense - Provya


Il faudra aussi potentiellement créer une règle de filtrage côté LAN pour autoriser la connexion sur le port 22 (ou sur le port choisi à l'étape précédente, s'il a été personnalisé).

Exemple de règle :

Règle de firewall pour l'accès SSH - pfSense - Provya


Pour OPNsense, le principe est le même : il faut activer le serveur SSH du firewall. La configuration s'opère depuis le menu Système > Paramètres > Administration.

Au niveau de la section "Shell Sécurisé", cocher la case "Activer le Shell sécurisé", autoriser potentiellement le compte root à se connecter si l'on ne possède pas un autre compte administrateur, autoriser (ou non) l'authentification par mot de passe et choisir le port d'écoute.
Il est également possible de personnaliser un certain nombre de paramètres de sécurité.

Activer serveur SSH - OPNsense - Provya



Activer le port console de pfSense

La troisième et dernière possibilité est de se connecter au firewall par son port console (ou port série).
Le port console est désactivé par défaut.
Il faudra bien sûr que le firewall soit équipé d'un port console.

Se rendre dans le menu System > Advanced et descendre jusqu'à la section "Serial Communications".
Cocher la case "Enable serial port" et cocher la case "Password protect the console menu" afin de protéger la console par un mot de passe.

Par défaut, lorsque le port console est activé, n'importe qui peut se brancher directement sur le firewall et disposer d'un accès root. Ce qui représente un risque en terme de sécurité.

Activer port console - pfSense - Provya



Pour OPNsense, la configuration s'opère depuis le menu Système > Paramètres > Administration :

Activer port console - OPNsense - Provya




2/2. Disposer d'un système de fichiers ZFS



Dernier pré-requis, il faut bien sûr que notre firewall soit installé avec le système de fichiers ZFS.

Pour savoir si notre système de fichiers est ZFS, saisir la commande suivante :

zfs list

S'il s'agit d'un système de fichiers ZFS, nous devrions obtenir un résultat du type :

NAME                 USED  AVAIL  REFER  MOUNTPOINT
zroot                900M  12.2G    88K  /zroot
zroot/ROOT           886M  12.2G    88K  none
zroot/ROOT/default   886M  12.2G   886M  /
zroot/tmp            192K  12.2G   192K  /tmp
zroot/var           11.4M  12.2G  11.4M  /var

Autrement, nous obtenons un résultat du type :

no datasets available



Procédure


Dans cet article, nous prenons comme exemple la mise à jour de pfSense de la version 2.5.2 vers la version 2.6.0 (non, la version 2.6.0 n'est pas encore sortie, mais ce n'est plus qu'une question de jours / semaines ;-) )

Les étapes à suivre sont les suivantes.

1. Voir les environnements de démarrage actuels avec la commande bectl list.

Si nous n'avons jamais trifouillé ces options, nous devrions obtenir quelque chose comme ceci :

[2.5.2-RELEASE][root@pfSense.home.arpa]/root: bectl list
BE      Active Mountpoint Space Created
default NR     /          886M  2021-12-17 16:21

  • N signifie actif actuellement (Now)
  • R signifie actif au prochain redémarrage (Reboot)


2. Ajouter un nouvel environnement de démarrage que l'on appelle "pfsense-2.5.2" (ce sera notre point de restauration en cas de besoin) :

bectl create pfsense-2.5.2

3. Pour plus de lisibilité, renommer l'environnement de démarrage actuel (default) en "pfsense-2.6.0" :

bectl rename default pfsense-2.6.0

Une fois ces commande saisies, nous obtenons les environnements de démarrage suivants :

BE            Active Mountpoint Space Created
pfsense-2.5.2 -      -          8K    2022-02-07 17:56
pfsense-2.6.0 NR     /          886M  2021-12-17 16:21

On peut voir que notre nouvel environnement de démarrage ne prend que très peu d'espace disque à ce stade (8 Ko).

4. Réaliser un instantané des partitions /var et /tmp :

zfs snapshot zroot/var@pfsense-2.5.2
zfs snapshot zroot/tmp@pfsense-2.5.2

Les partitions /var et /tmp ne sont pas sur le même pool. Il faut donc les sauvegarder via un instantané. C'est ce que nous venons de faire.

Il est possible d'afficher la liste des instantanés ZFS avec la commande suivante :

zfs list -t snapshot

Le résultat ressemblera à ceci :

NAME                                             USED  AVAIL  REFER  MOUNTPOINT
zroot/ROOT/pfsense-2.6.0@2022-02-07-17:56:35-0      0      -   886M  -
zroot/tmp@pfsense-2.5.2                           64K      -   192K  -
zroot/var@pfsense-2.5.2                           88K      -  11.4M  -

Encore une fois, on voit que les instantanés ne consomment pratiquement pas d'espace disque supplémentaire au moment de leur création.

C'est tout !

Nous avons créé un deuxième environnement de démarrage (qui est une copie du premier à ce stade) et un instantané des partitions /var et /tmp.

À ce stade, nous pouvons lancer la mise à jour de pfSense (ou d'OPNsense) de manière tout à fait classique.

On peut aussi tester la branche de développement, installer des packages, tester des configurations, etc. En cas de pépin, nous pourrons très rapidement revenir à notre point de restauration.

Dans notre cas, et pour l'exemple, nous décidons de tester la version 2.6.0 de pfSense :

Tester pfSense 2.6.0 Release Candidate - Provya


Pour mettre à jour notre serveur, n'hésitons pas à nous appuyer sur notre article dédié : [pfSense] Mettre à jour son serveur pfSense



La mise à jour s'est bien passée, comment supprimer l'instantané ?



Si notre mise à jour s'est bien passée. Nous conseillons de ne toucher à rien durant les premiers jours / semaines, le temps de s'assurer qu'il n'y ait pas d'effets de bord et que tous les services fonctionnent tel qu'attendu.

Si c'est le cas, alors nous pouvons supprimer notre point de restauration et nos instantanés, ce qui permettra de libérer de l'espace sur le disque-dur.

En effet, là où notre point de restauration de notre environnement de démarrage ne prenait que 8 Ko à sa création, il en consomme maintenant bien plus :

[2.6.0-RELEASE][root@pfSense.home.arpa]/root: bectl list
BE            Active Mountpoint Space Created
pfsense-2.5.2 -      -          777M  2022-02-07 17:56
pfsense-2.6.0 NR     /          1.74G 2021-12-17 16:21

Notre point de restauration de notre environnement de démarrage consomme maintenant 777 Mo d'espace sur le disque-dur.

Idem pour les instantanés de /var et /tmp :

[2.6.0-RELEASE][root@pfSense.home.arpa]/root: zfs list -t snapshot
NAME                                             USED  AVAIL  REFER  MOUNTPOINT
zroot/ROOT/pfsense-2.6.0@2022-02-07-17:56:35-0   777M      -   886M  -
zroot/tmp@pfsense-2.5.2                          160K      -   192K  -
zroot/var@pfsense-2.5.2                         5.05M      -  11.4M  -


Pour supprimer le point de restauration et les instantanés, les trois commandes à saisir sont les suivantes :

bectl destroy pfsense-2.5.2
zfs destroy zroot/var@pfsense-2.5.2
zfs destroy zroot/tmp@pfsense-2.5.2

C'est tout.



Je souhaite faire un retour-arrière, comment faire ?



Si la mise à jour s'est mal passée ou si nous souhaitons revenir à l'état antérieur, il suffit de restaurer les instantanés ZFS et de modifier l'environnement de démarrage pour choisir notre point de restauration.

Pour activer notre point de restauration au prochain démarrage, la commande à saisir est la suivante :

bectl activate pfsense-2.5.2

Nous obtenons un message de confirmation. Il est également possible de vérifier la bonne prise en compte de la configuration via la commande bectl list :

BE            Active Mountpoint Space Created
pfsense-2.5.2 R      -          886M  2022-02-07 17:56
pfsense-2.6.0 N      /          893M  2021-12-17 16:21

Le marqueur R a bien basculé sur notre environnement de démarrage pfsense-2.5.2.

Et pour rétablir les instantanés, les commandes à saisir sont les suivantes :

zfs rollback -R zroot/var@pfsense-2.5.2
zfs rollback -R zroot/tmp@pfsense-2.5.2

Il reste à redémarrer le firewall pour que les changements soient totalement pris en compte.

Le redémarrage peut être lancé depuis l'interface web ou depuis la ligne de commande. La ligne de commande à saisir sera :

shutdown -r now


Une fois redémarré, on pourra supprimer les instantanés et l'environnement de démarrage qui ne sont plus utilisés, soit dans notre exemple :

bectl destroy pfsense-2.6.0
zfs destroy zroot/var@pfsense-2.5.2
zfs destroy zroot/tmp@pfsense-2.5.2

On peut vérifier que les commandes ont bien été prises en compte en listant les instantanés ZFS :

[2.5.2-RELEASE][root@pfSense.home.arpa]/root: zfs list -t snapshot
no datasets available

Les instantanés ont bien été supprimés.


Puis, en vérifiant les environnements de démarrage disponibles :

[2.5.2-RELEASE][root@pfSense.home.arpa]/root: bectl list
BE            Active Mountpoint Space Created
pfsense-2.5.2 NR     /          886M  2022-02-07 17:56


Enfin, pour se remettre totalement dans la situation d'origine, on pourrait renommer l'environnement de démarrage en "default" avec la commande suivante :

bectl rename pfsense-2.5.2 default

Voilà, nous avons fait le tour des éléments à connaître pour créer des points de restauration super facilement sur pfSense et OPNsense.
C'est une approche que nous recommandons fortement de suivre avant de lancer la mise à jour de nos firewall.



Pour aller plus loin


[pfSense] Mettre à jour son serveur pfSense
Tous nos articles classés par thème
Voir un article au hasard


Vous avez aimé cet article ? Vous cherchez du matériel de qualité ? Alors contactez-nous.

Retrouvez nos services et firewall pour pfSense


Formation pfSense     Formation OPNsense     Liste de filtrage des IP malveillantes     Firewall pro-Large pour pfSense et OPNsense     Firewall pro-Xtend pour pfSense et OPNsense     Firewall pro-Xtrem pour pfSense et OPNsense    

store.provya.fr

icon Tags de l'article :

[pfSense] La gestion des passerelles (gateway)

icon 05/10/2021 - Aucun commentaire

Dans cet article nous traitons de la gestion des passerelles réseaux (gateway) sous pfSense.



Passerelle - la clé de voûte du routage


Une passerelle réseau (gateway) est un dispositif permettant de donner accès d'un réseau à un autre réseau.

La passerelle la plus connue est la passerelle par défaut (default gateway) ; c'est celle qui nous permet d'accéder à Internet ou à tout autre réseau inconnu d'une façon plus générale.

Généralement, les passerelles disposent d'une adresse IP dans chaque sous-réseau qu'elles permettent de joindre. Si ce n'est pas le cas, elles posséderont alors, à leur tour, une passerelle par défaut.

Il existe une exception notable avec les interfaces point à point, comme celles utilisées avec les protocoles PPP. Ces interfaces ont souvent des adresses IP de passerelle dans un autre sous-réseau car elles ne sont pas utilisées de la même manière.

Pour une introduction plus complète, nous proposons la consultation de la page Wikipédia Passerelle (informatique).

Nous allons voir comment pfSense gère ses passerelles et les possibilités de configuration qui nous sont offertes.



Passerelle - IPv4 et IPv6


Les principes de routage et de fonctionnement des passerelles sont les mêmes avec IPv4 et IPv6.
Cependant, il n'est pas possible de mélanger les deux types d'adresses IP dans ses configurations. Par exemple, un réseau IPv4 devra avoir une passerelle disposant d'une adresse IPv4 ; une route ne peut pas être créée en utilisant une passerelle IPv6 pour un réseau IPv4.

De la même façon, lorsque l'on travaille avec des groupes de passerelles (dont nous verrons la configuration plus loin dans cet article), il n'est pas possible de mixer des passerelles IPv4 et IPv6 au sein d'un même groupe.



Gestion des passerelles


La gestion des passerelles s'effectue depuis le menu System > Routing :

menu System > Routing - pfSense - Provya



Depuis ce menu il est possible de modifier une passerelle existante, ajouter/supprimer une passerelle, définir des routes statiques, créer des groupes de passerelles et choisir sa passerelle par défaut.

Certaines passerelles sont obtenues automatiquement via DHCP ; dans ce cas, il n'est pas possible de les supprimer. Il est cependant possible des les personnaliser.

Dans la suite de cet article nous passons en revue les configurations possibles pour les passerelles.


Création / Modification d'une passerelle


L'ajout d'une nouvelle passerelle se fait en cliquant sur le bouton "+ Add" depuis l'onglet "Gateways" (onglet par défaut).
La modification se fait en cliquant sur l'icône en forme de crayon modification se trouvant sur la ligne de la passerelle.
Enfin, il est possible de dupliquer une passerelle en cliquant sur l'icône associée duplication.

Les éléments configurables sont les suivants :

  • Disabled : permet de désactiver une passerelle.
  • Interface : l'interface sur laquelle la passerelle est joignable. Dans une configuration classique pour une accès vers Internet, il s'agit de l'interface "WAN".
  • Address Family : IPv4 ou IPv6.
  • Name : le nom que l'on souhaite donner à notre passerelle. Ce nom ne peut contenir que des caractères alphanumériques ou underscore ; pas de caractères spéciaux, ni d'espace.
  • Gateway : l'adresse IP de la passerelle ; cette adresse IP doit être dans le même sous-réseau que celui configuré sur l'interface choisie (WAN, dans notre exemple). Si ce n'est pas le cas, il faudra cocher la case "Use non-local gateway" dans les options avancées.
  • Gateway Monitoring : cocher la case permet de désactiver la supervision de la passerelle. Ainsi, la passerelle sera considérée comme étant toujours joignable. Sauf si vous avez une bonne raison, cette case ne devrait pas être cochée.
  • Gateway Action : cocher cette case permet de considérer que la passerelle est toujours joignable. Cette option peut être pratique si l'on souhaite superviser l'état de la passerelle sans pour autant laisser pfSense modifier le routage automatiquement en cas d'injoignabilité de la passerelle. Sauf bonne raison, cette case devrait rester décochée.
  • Monitor IP : l'adresse IP qui sera pinguée afin de déterminer si la passerelle est joignable ou non-joignable. Par défaut, si ce champ est laissé vide, c'est l'adresse IP de la passerelle elle-même qui sera pinguée. Il peut être pratique de choisir une autre adresse IP si la passerelle ne répond pas aux PING ou si on préfère pinguer une adresse IP sur Internet plutôt que l'adresse IP de la BOX de l'opérateur, par exemple.
  • Force state : cocher cette case permet de forcer l'état de la passerelle à "injoignable" ; ainsi, elle ne sera pas utilisée par pfSense. Ce peut être une option pratique si on rencontre du bagot (instabilité) sur une passerelle ; cela permet alors de la désactiver sans avoir besoin de la supprimer.
  • Description : un champ description.

Exemple de résultat obtenu :

Configuration d'une passerelle sous pfSense - Provya


On peut également, si on le souhaite, personnaliser les options avancées de la passerelle en cliquant sur le bouton "Display Advanced". Les paramètres avancés que l'on peut configurer sont les suivants :

Weight
Le poids de la passerelle. Cette valeur est utilisée dans les groupes de passerelle pour répartir le trafic de manière inéquitable entre deux passerelles. Par exemple, si nous avons 2 accès à Internet : WAN1 avec 10 Mbps de bande-passante et WAN2 avec 20 Mbps de bande-passante, alors nous pouvons configurer la passerelle de WAN1 avec un poids de 1 et celle de WAN2 avec un poids de 2 ; ainsi pour 3 trafics sortant, 2 passeront par WAN2 et 1 passera par WAN1 (répartition 1/3 - 2/3). Le poids donné peut aller de 1 à 30.

Data Payload
Par défaut, le ping envoyé vers la passerelle a une taille de payload à 0 (aucune donnée n'est contenue dans la requêtes ICMP). Dans de très rares circonstances, cela peut poser des problèmes (routeur intermédiaire refusant les paquet avec un payload à 0) ; dans ce cas, passer le payload à 1 devrait corriger le problème.

Latency thresholds
Permet de configurer les seuils d'alerte pour la latence de la passerelle.
Les valeurs sont exprimées en millisecondes.
Le premier seuil définit le seuil d'alerte : lorsqu'il est atteint, une alerte est générée, mais la passerelle est considérée comme étant toujours joignable. Par défaut, cette valeur est de 200 ms.
Le second seuil définit le seuil maximal de tolérance : lorsqu'il est atteint, la passerelle est considérée comme n'étant plus joignable. Par défaut, cette valeur est de 500 ms.

Packet Loss thresholds
Permet de configurer les seuils d'alerte pour le taux de perte de paquets de la passerelle.
Les valeurs sont exprimées en pourcentage (0 signifie 0% de perte de paquets, 100 signifie 100% de perte de paquets).
Le premier seuil définit le seuil d'alerte : lorsqu'il est atteint, une alerte est générée, mais la passerelle est considérée comme étant toujours joignable. Par défaut, cette valeur est de 10%.
Le second seuil définit le seuil maximal de tolérance : lorsqu'il est atteint, la passerelle est considérée comme n'étant plus joignable. Par défaut, cette valeur est de 20%.

Probe Interval
La valeur du champ "Probe Interval" détermine la fréquence à laquelle une requête ping est envoyée vers l'adresse IP de la passerelle (ou l'adresse IP à superviser, si elle a été personnalisée), en millisecondes. Par défaut, une requête ping est envoyée deux fois par seconde (500 ms).

Loss Interval
La durée au bout de laquelle les PING restés sans réponse sont considérés comme perdus. La valeur par défaut est 2000 ms (2 secondes).
Cette valeur doit être supérieure ou égale au seuil maximale toléré pour la latence.

Time Period
La durée sur laquelle les résultats du ping sont moyennés. La valeur par défaut est 60000 ms (60 secondes, une minute).
Saisir une durée plus longue mettra ainsi plus de temps pour que la latence ou la perte déclenche une alarme ; en revanche, elle sera moins susceptible d'être affectée par un comportement erratique dans les résultats de ping.

La durée choisie doit être supérieure à deux fois la somme de Probe Interval et de Loss Interval, autrement les résultats retournés peuvent être incohérents.

Alert interval
L'intervalle de temps, en millisecondes, entre deux vérifications de la présence d'une alerte. La valeur par défaut est 1000 ms (1 seconde).
Cette valeur devrait être supérieure ou égale à la valeur de Probe Interval, car il n'est pas possible qu'une alerte soit déclenchée entre deux mesures distinctes (c'est la nouvelle mesure qui peut potentiellement déclencher une alerte si les seuils configurés ont été atteints).

Use non-local gateway
Cocher cette option permet une configuration non-standard où l'adresse IP de la passerelle n'est pas dans le même sous-réseau que celui configuré sur l'interface de pfSense. Il reste très rare d'avoir besoin d'activer cette option ; cependant avec la pénurie d'IPv4, un certain nombre d'opérateurs ont, semble-t-il, tendance à recourir à cet artifice pour économiser le nombre d'adresses IP publiques consommées par client.


Création d'un groupe de passerelles


Un groupe de passerelles est une solution efficace pour mettre en place de la redondance (une passerelle primaire, une secondaire) ou de la répartition de charge (deux passerelles primaires).

La configuration d'un groupe de passerelles est utile dans un environnement multi-WAN, par exemple.

La création ou la modification d'un groupe de passerelles s'opère depuis l'onglet "Gateway Groups" du menu System > Routing.

Les éléments configurables sont les suivants :

Group Name
Le nom du groupe de passerelles. Ce nom ne peut contenir que des caractères alphanumériques ou underscore ; pas de caractères spéciaux, ni d'espace.
La longueur maximale est de 32 caractères.

Gateway Priority
Cette liste contient toutes les passerelles disponibles. Pour chaque passerelle, deux éléments de configuration sont à définir :

Tier : l'ordre de priorité de la passerelle ; il y a cinq niveaux de priorité de Tier 1 (le plus prioritaire) à Tier 5 (le moins prioritaire). Si deux passerelles sont configurées avec deux niveaux de priorité différente, alors seule la passerelle avec le niveau de priorité le plus fort sera utilisée.

Pour bien comprendre, c'est-à-dire que ce sont les passerelles disposant du niveau de priorité Tier 1 qui seront utilisées exclusivement ; s'il n'y pas ou plus de passerelles Tier 1 de disponibles, alors ce seront les passerelles disposant d'une priorité Tier 2 qui seront utilisées exclusivement ; etc.

Si deux passerelles sont configurées avec le même niveau de priorité, alors le trafic sera réparti sur ces deux passerelles en fonction de leur poids respectif (configurable dans les options de la passerelle - champ "Weight" des options avancées).

Enfin, il est possible de choisir "Never" pour ne pas inclure la passerelle en question dans le groupe.

Virtual IP : l'adresse IP à utiliser. Par défaut, il s'agit de l'adresse IP de pfSense sur l'interface concernée, mais cela pourrait aussi être une adresse IP virtuelle, par exemple.

Trigger Level
Ce champ permet de définir selon quelle condition une passerelle doit être exclue du groupe. 4 valeurs sont possibles :

Member Down : exclu la passerelle que si elle est considérée comme non-joignable.
Packet Loss : exclu la passerelle si le taux de perte de paquet atteint la valeur du seuil d'alerte de Packet Loss thresholds de la passerelle (10% par défaut).
High Latency : exclu la passerelle si la latence atteint la valeur du seuil d'alerte de Latency thresholds de la passerelle (200ms par défaut).
Packet Loss or High Latency : exclu la passerelle si la latence ou le taux de perte de paquets atteint le seuil d'alerte de la passerelle.

Description
Un champ description.

Exemple configuration :
Configuration d'un groupe de passerelles sous pfSense - Provya


Sur la capture d'écran ci-dessus, la configuration est la suivante : uniquement la passerelle "WAN_Gateway_1" sera utilisée (c'est la seule en Tier 1) ; si elle devient injoignable, alors les deux passerelles "WAN_Gateway_2" et "WAN_Gateway_3" seront utilisées en répartition de charge (toutes les deux sont en Tier 2).
Dès que la passerelle "WAN_Gateway_1" sera de nouveau joignable, alors le trafic rebasculera exclusivement sur celle-ci.


Configuration d'une route statique


Les routes statiques sont utilisées lorsque des hôtes ou des réseaux sont accessibles par un routeur autre que la passerelle par défaut.
Le firewall connaît les réseaux qui lui sont directement rattachés et il atteint tous les autres réseaux selon les indications de la table de routage ; c'est-à-dire via sa passerelle par défaut ou via une route statique.
Ainsi, dans les réseaux où un routeur interne connecte des sous-réseaux internes supplémentaires, une route statique doit être définie pour que ces réseaux soient accessibles.

Pour ajouter une nouvelle route, se rendre dans l'onglet "Static Routes" du menu System > Routing.

Les éléments configurables sont les suivants :

Destination network
L'adresse IP ou le réseau de destination.
Ce peut être une adresse IPv4, un préfixe IPv6 ou un alias.
Nous déconseillons très fortement l'utilisation d'un alias car la table de routage n'est pas mise à jour quand un alias est mis à jour. Il s'agit donc d'une solution totalement déconseillée.

Gateway
La passerelle par laquelle le réseau sera joignable.

Disabled
Permet de désactiver une route sans pour autant la supprimer.

Description
Un champ de description.


Que l'on ait créé ou modifié une passerelle, un groupe de passerelles ou une route statique, il faut penser à cliquer sur le bouton "Apply Changes" afin que les configurations soient prises en compte.



Choix de la passerelle par défaut


Le choix de la passerelle par défaut s'opère depuis l'onglet Gateways du menu System > Routing (en bas de page).

Il est possible de définir une passerelle par défaut pour IPv4 et une autre pour IPv6.
Par défaut, IPv6 aura la priorité sur IPv4.

Si l'on préfère qu'IPv4 ait la préférence sur IPv6, alors il faut cocher la case "Prefer IPv4 over IPv6" depuis l'onglet Networking du menu System > Advanced.

Préférer IPv4 à IPv6 sous pfSense - Provya


Pour le choix de la passerelle par défaut, les valeurs suivantes seront proposées :

  • Automatic : choix par défaut ; pfSense utilisera la première passerelle disponible dans la liste des passerelles configurées, en allant du haut vers le bas.
  • Choisir une passerelle : cette passerelle sera systématiquement utilisée comme passerelle par défaut par pfSense.
  • Choisir un groupe de passerelles : pfSense utilisera les passerelles du groupe dans l'ordre de priorité dans lequel elles ont été définies ; pour que cela fonctionne correctement, il faut qu'il n'y ait qu'une seule passerelle par priorité (il n'est pas possible de faire du load-balancing sur la passerelle par défaut).
  • None : aucune passerelle par défaut ne sera définie pour ce type d'adresse (IPv4 ou IPv6).



Ordre de priorité des règles de routage


L'ordre de priorité suivant lequel le routage se fera est le suivant :

  1. Règle de filtrage : si dans une règle de filtrage (menu Firewall > Rules), une passerelle a été choisie dans les options avancées de configuration de la règle, alors c'est vers cette passerelle que le trafic sera routé, quel que soit l'état de la table de routage de pfSense.
  2. Réseau attaché à une interface : si un sous-réseau est connu par pfSense car il est configuré sur une de ses interfaces, alors pfSense va router directement le trafic sans passer par une passerelle.
  3. Route statique : si la destination d'un trafic correspond à un route statique configurée, alors pfSense suivra cette route statique.
  4. Passerelle par défaut : enfin, si la destination n'est pas connue de pfSense, alors il routera le trafic vers sa passerelle par défaut.

Enfin, si un doute subsiste sur le routage que va suivre pfSense ou sur l'état de la table de routage, on peut s'appuyer sur notre article dédié : [pfSense] Comprendre et analyser ses règles de routage


Voilà, nous avons fait un tour complet des éléments à connaître pour la gestion de ses passerelles réseaux sous pfSense !



Pour aller plus loin


[pfSense] Comprendre et analyser ses règles de routage
[pfSense] Configurer un dual-WAN (plusieurs connexions Internet)
Tous nos articles classés par thème
Voir un article au hasard


Vous avez aimé cet article ? Vous cherchez du matériel de qualité ? Alors contactez-nous.

Retrouvez nos services et firewall pour pfSense


Formation pfSense     Formation OPNsense     Liste de filtrage des IP malveillantes     Firewall pro-Large pour pfSense et OPNsense     Firewall pro-Xtend pour pfSense et OPNsense     Firewall pro-Xtrem pour pfSense et OPNsense    

store.provya.fr

icon Tags de l'article :

pfSense 2.5.2 est disponible

icon 08/07/2021 - Aucun commentaire

English version: pfSense 2.5.2 now available

Mercredi 07 juillet 2021 est sortie la dernière version de pfSense. La version 2.5.2.

Il s'agit d'une mise à jour qui apporte principalement des corrections de bugs, ainsi qu'un timide retour de Wireguard.

Dans cet article, nous faisons le tour rapide des éléments marquants de cette mise à jour.



Bugs / Améliorations


Concernant le routage, il existait deux bugs importants qui ont été corrigés :
  • Correction de l'énorme bug qui empêchait de mettre en œuvre des redirections de ports sur les WAN secondaires. Ce problème était apparu avec la version 2.5.1.
  • Correction d'un bug qui empêchait de faire du 1:1 NAT sur les VPN IPsec.

De nombreuses anomalies liées à l'interface web ou à PHP ont également été corrigées :
  • Dashboard / sonde de température : les valeurs retournées étaient vides ou fausses pour certains matériels.
  • Widget IPsec : uniquement la première phase 2 était affichée dans certain cas sur le tableau de bord.
  • La modification de Widget pouvait provoquer des avertissements PHP (Warning).
  • Le Widget NTP affichait des valeurs incorrectes ou incohérentes.
  • Affichage / code PHP : correction d'un certain nombre d'erreurs d'affichage ou d'erreurs PHP.
  • Corrections des erreurs PHP qui étaient affichées lorsque le fichier PHP_error.log était trop volumineux.

Les autres corrections notables sont les suivantes :
  • Portail captif : correction d'une faille de sécurité de type XSS qui permettait l'exécution de code javascript s'il était passé dans la variable redirurl ;
  • Résolveur DNS (Unbound) : retour vers Unbound 1.12.x car il y avait trop d'instabilité avec Unbound 1.13.x. C'est temporaire, les futures version de pfSense re-basculeront sur Unbound 1.13.x dès que cela aura été stabilisé ;
  • AES-NI (accélération cryptographique) : correction d'un bug sur le support de SHA1 et SHA-256 lorsqu'AES-NI est utilisé ;
  • IPsec : correction de nombreux bugs résiduels qui étaient apparus avec pfSense 2.5.0 et qui n'avaient pas été corrigés avec la version 2.5.1 ;
  • OpenVPN : correction de plusieurs petits bugs et mise à jour d'OpenVPN vers la version 2.5.2 ;
  • Interfaces réseaux : correction d'un bug qui empêchait de modifier la MTU si IPv4 et IPv6 étaient tous les deux actifs sur l'interface.


Enfin, plusieurs améliorations au niveau du système d'exploitation (FreeBSD) ont été ajoutées :
  • Ajout du pilote RTL8153 (qui est un adaptateur USB vers Ethernet) au noyau FreeBSD ;
  • Ajout du support pour la console Xen ;
  • Ajout de nouveaux algorithmes de contrôle de la congestion réseau.



Nouveautés


Il n'y a pas de grosses nouveautés pour cette version de pfSense.

On peut cependant noter l'ajout du support des fournisseurs de DNS dynamique suivant : Mythic-Beasts, one.com, Yandex PDD, NIC.RU et Gandi LiveDNS IPv6.

Dernier élément notable, le package WireGuard est réintroduit en tant que package expérimental.
À utiliser avec précaution, donc.



Processus de mise à jour


Cette nouvelle version est disponible pour les mises à jour et en téléchargement pour les nouvelles installations.

Si aucune mise à jour ne vous est proposée, il peut être utile de rafraîchir les dépôts de votre pfSense à l'aide des commandes suivantes (à saisir en console ou depuis un shell) :

pkg-static clean -ay; pkg-static install -fy pkg pfSense-repo pfSense-upgrade

Pensez à faire une sauvegarde avant de lancer la mise à jour, et suivez notre tuto complet : [pfSense] Mettre à jour son serveur pfSense.

Enfin, vous pouvez consulter la liste complète des changements en visitant la page suivante : 2.5.2 New Features and Changes [EN]



Pour aller plus loin


[pfSense] Mettre à jour son serveur pfSense
WireGuard est retiré de pfSense pour des raisons de sécurité
Best practices / Recommandations pour la configuration de votre firewall
Tous nos articles classés par thème
Voir un article au hasard


Vous avez aimé cet article ? Vous cherchez du matériel de qualité ? Alors contactez-nous.

Retrouvez nos services et firewall pour pfSense


Formation pfSense     Formation OPNsense     Liste de filtrage des IP malveillantes     Firewall pro-Large pour pfSense et OPNsense     Firewall pro-Xtend pour pfSense et OPNsense     Firewall pro-Xtrem pour pfSense et OPNsense    

store.provya.fr

icon Tags de l'article :

[pfSense] Sauvegarder automatiquement son firewall avec un script

icon 29/06/2021 - 5 commentaires

English version: [pfSense] Making automatic backups with a script

Dans cet article, nous présentons une solution pour sauvegarder automatiquement son pfSense avec un script shell.

Nous nous appuyons sur le script shell bm-backup-pfsense proposé par le site Blogmotion.



Principe de fonctionnement


Le script va se connecter sur l'interface web du pfSense à sauvegarder et va "naviguer" dans les menus afin de déclencher le téléchargement du fichier de configuration (config.xml).

L'intérêt de ce script est qu'il passe par l'interface web de pfSense pour effectuer la sauvegarde. Ainsi, il n'y a pas besoin d'activer un accès SSH sur le serveur pfSense que l'on souhaite sauvegarder et l'on peut créer un compte utilisateur avec les droits strictement nécessaires pour effectuer la sauvegarde.

D'une façon générale, nous recommandons de se méfier des scripts ou applications qui nécessitent un accès SSH "root" sur les firewall pfSense ; cela représente un risque trop important en terme de sécurité.

Le script bm-backup-pfsense fonctionne très bien sous pfSense 2.4.x, 2.5.x et 2.6.x.



Création d'un compte utilisateur


Pour commencer, nous allons créer un compte utilisateur dédié à la sauvegarde.
Se rendre dans le menu System > User Manager :

Menu System > User Manager - pfSense - Provya


Depuis l'onglet "Users" (onglet par défaut), cliquer sur le bouton "+ Add".

Nous créons un nouvel utilisateur en précisant simplement un nom d'utilisateur (username) et un mot de passe (password). Les autres champs peuvent être laissés vides.

Exemple de résultat obtenu :

Création d'un utilisateur pour la sauvegarde - pfSense - Provya

Création d'un utilisateur dédié pour la sauvegarde


Pour en savoir plus sur la gestion des utilisateurs sous pfSense, consultez notre article dédié : [pfSense] La gestion des utilisateurs.


Nous pouvons maintenant modifier cet utilisateur afin de lui assigner les bons droits d'accès.
Pour cela, cliquer sur l'icône en forme de crayon se situant sur la ligne de l'utilisateur que nous venons de créer :

Modification d'un utilisateur pour la sauvegarde - pfSense - Provya



Descendre au niveau de la rubrique "Effective Privileges" et cliquer sur le bouton "+ Add" :

Ajout de droits à un utilisateur pour la sauvegarde - pfSense - Provya



Nous ajoutons le droit d'accès à la page de Sauvegarde / Restauration en sélectionnant la ligne "WebCfg - Diagnostics: Backup & Restore" :

Choix des droits pour un utilisateur pour la sauvegarde - pfSense - Provya



Nous validons notre choix en cliquant sur le bouton "Save", puis nous sauvegardons la modification de l'utilisateur en cliquant de nouveau sur le bouton "Save".

Ainsi, notre utilisateur "sauvegarde-auto" peut se connecter sur l'interface web de pfSense mais n'aura accès qu'à la page Backup & Restore :

Menu limité à la sauvegarde - pfSense - Provya

L'utilisateur sauvegarde-auto n'a accès qu'à une seule page de notre pfSense




Configuration du script


Le script bm-backup-pfsense doit pouvoir s'exécuter sur n'importe quelle distribution GNU/Linux ou serveur FreeBSD/pfSense.

Dans notre cas, nous exécuterons ce script depuis un serveur de sauvegarde Linux hébergé sur notre réseau local (LAN).

Nous téléchargerons le script pfmotion_curl.sh.

Il existe deux autres versions de bm-backup-pfsense : une version utilisant le programme wget et une version permettant de sauvegarder plusieurs pfSense (à condition que le nom d'utilisateur et le mot de passe soient identiques sur tous les pfSense à sauvegarder).

Le fichier pfmotion_curl.sh est très simple à paramétrer ; il suffit de compléter les variables suivantes :

  • PFSENSE_HOST (ligne 14) : l'adresse IP du serveur pfSense à sauvegarder
  • PFSENSE_USER (ligne 17) : le compte utilisateur pour se connecter à pfSense. Dans notre cas : sauvegarde-auto
  • PFSENSE_PASS (ligne 18) : le mot de passe associé au compte utilisateur
  • BACKUP_DIR (ligne 21) : le dossier de sauvegarde (par défaut, les sauvegardes seront enregistrées dans le dossier conf_backup du répertoire où est exécuté le script)

Exemple de résultat obtenu :

Configuration du script pfMotion-backup - pfSense - Provya


Il ne nous reste plus qu'à lancer le script :

Lancement du script pfMotion-backup - pfSense - Provya

Le script s'est déroulé avec succès. Sauvegarde effectuée


Nous pouvons automatiser le lancement de ce script, toutes les nuits par exemple, via une tâche cron.

Enfin, et pour être complet, nous proposons d'ajouter deux fonctionnalités complémentaires au script :

  • Une alerte par e-mail si la sauvegarde ne s'effectue pas correctement
  • La suppression des sauvegardes de plus de 30 jours


Alerte par e-mail si la sauvegarde ne s'effectue pas correctement


Il suffit d'ajouter le code suivant aux lignes 71 et 78 :

echo "Erreur lors de la sauvegarde de pfSense" | mail -s "Sauvegarde auto pfSense - ERREUR" mon@adresse.tld

Ce qui donnera quelque chose comme ceci :

Alerte par e-mail en cas de problème avec pfMotion-backup - pfSense - Provya


Il faut, bien-sûr, remplacer mon@adresse.tld par l'adresse e-mail destinée à recevoir les notifications.

Il faut également avoir préalablement configuré sur son serveur un programme d'envoi d'email tel que Postfix ou Sendmail.
Nous proposons un article succinct sur l'installation et la configuration de Postfix sur un serveur Ubuntu ou Debian : [Postfix] Installer et configurer Postfix pour envoyer ses e-mails depuis un serveur dédié


Suppression des sauvegardes de plus de 30 jours


Nous proposons d'ajouter le code suivant qui va s'occuper de rechercher et supprimer les fichier de plus de 30 jours se trouvant dans le dossier de sauvegarde.

# Suppression au dela de 30 jours
find "$BACKUP_DIR/" -type f -mtime +30 -exec rm {} \;

Ce code est à placer en fin de script, juste avant les deux dernières lignes :

echo
exit 0

Voilà, nous disposons d'une solution simple, pratique et efficace pour sauvegarder automatiquement notre serveur pfSense.
Merci à Mr Xhark du site Blogmotion pour sa réalisation et son partage.



Pour aller plus loin


[pfSense] Sauvegarder automatiquement sa configuration avec AutoConfigBackup
[Postfix] Installer et configurer Postfix pour envoyer ses e-mails depuis un serveur dédié
Tous nos articles classés par thème
Voir un article au hasard


Vous avez aimé cet article ? Vous cherchez du matériel de qualité ? Alors visitez notre boutique en ligne.

Retrouvez nos services et firewall pour pfSense


Formation pfSense     Formation OPNsense     Liste de filtrage des IP malveillantes     Firewall pro-Large pour pfSense et OPNsense     Firewall pro-Xtend pour pfSense et OPNsense     Firewall pro-Xtrem pour pfSense et OPNsense    

store.provya.fr

icon Tags de l'article :

[pfSense] La gestion des packages sous pfSense

icon 08/06/2021 - 9 commentaires

English version: [pfSense] The package system in pfSense

pfSense propose l'installation de packages afin de pouvoir lui ajouter des fonctionnalités supplémentaires.

Dans cet article, nous présentons le fonctionnement des packages, leur gestion (installation, mise à jour, suppression), ainsi que les principaux packages.



Qu'est-ce qu'un "package"


Dans son installation par défaut, pfSense offre une large palette de fonctionnalités. Il est en plus possible de lui adjoindre des fonctionnalités supplémentaires par l'installation de packages. Ces packages peuvent offrir des services complémentaires ou des informations statistiques avancées.

Ces packages sont intégrés à pfSense. C'est-à-dire que leur utilisation se fait généralement via l'interface web de pfSense.
De même, la liste des packages disponibles est maintenue et vérifiée par Netgate, l'éditeur du logiciel pfSense, afin de s'assurer que les packages proposés soient correctement mis à jour et maintenus.

Les packages sont les seuls outils additionnels que l'on peut installer aisément sur un pfSense existant. En effet, le logiciel pfSense tournant sur une base FreeBSD modifiée, l'ensemble des packages ou logiciels habituellement disponibles sous FreeBSD (via pkg, par exemple, l'outil de gestion des paquets de FreeBSD) ne pourra pas forcément être installé sur pfSense (pour des problématiques de dépendances, principalement).

Enfin, il est important de rappeler que l'installation de packages sur pfSense doit se faire de manière mesurée et pragmatique ; pour des raisons de sécurité, il est recommandé de n'installer que les package strictement nécessaires.



Comment installer un package


L'installation d'un package s'opère depuis le menu System > Package Manager :

Menu System > Package Manager - pfSense - Provya


La gestion des packages est organisée sous la forme de deux onglets :

Gestion des packages - pfSense - Provya


Le premier onglet (Installed Packages) permet de visualiser les packages installés. Il est également possible depuis cet onglet de réinstaller un package ou de le mettre à jour.

Le deuxième onglet (Available Packages) permet de parcourir la liste complète des packages disponibles et pas encore installés.

Pour chaque package, les informations suivantes sont présentées :

  • Name : le nom du package ; un lien peut être présent sur le nom du package en priorité vers la page de documentation associée, vers la catégorie dédiée sur le forum pfSense ou vers le site de l'éditeur.
  • Version : la version installée ou installable.
  • Description : une description succincte en anglais du package.

Depuis l'onglet "Available Packages", il est également possible de lancer une recherche sur un mot clef.

Pour installer un package donné, il suffit de cliquer sur le bouton "Install" se situant sur la même ligne.

Installer un paquet - pfSense - Provya


Une confirmation nous sera demandée, il suffira de cliquer sur le bouton "Confirm" :

Installer un paquet - pfSense - Provya


Le processus d'installation se déroule et les informations d'installation sont affichées à l'écran. Une fois l'installation réalisée avec succès, un message d'information est affiché :

Installation réussie d'un paquet - pfSense - Provya


De la même façon, en cas d'erreur ou d'anomalie lors de l'installation d'un package, un message d'erreur explicite est affiché.



Gérer les mises à jour de package


Les packages disposent de leur propre rythme de mise à jour.
Aussi, lorsque l'on installe un package, il est important de maintenir ce dernier à jour.

Lorsqu'un package dispose d'une mise à jour, son nom apparaît en jaune et l'icône Icône de mise à jour d'un package sous pfSense - Provya est également affichée :

Mettre à jour un package sous pfSense - Provya

Les packages ntopng et openvpn-client-export peuvent être mis à jour


Pour lancer la mise à jour, il suffit de cliquer sur l'icône de mise à jour Icône de mise à jour d'un package sous pfSense - Provya.

Pour les packages à jour, l'icone affichée est la suivante : Icône d'un package à jour sous pfSense - Provya.

Icône d'un package à jour sous pfSense - Provya

Le package acme est à jour



Point d'attention concernant les mises à jour : lors de la sortie d'une nouvelle version de pfSense, les dépôts proposés par défaut sont mis à jour pour correspondre à la nouvelle version de pfSense ; ainsi les packages (et les mises à jour) proposés sont ceux correspondant à la nouvelle version de pfSense.
Si on n'utilise pas la dernière version de pfSense et que l'on souhaite installer ou mettre à jour un package, il faut modifier la branche de version utilisée pour les dépôts. Nous détaillons la procédure dans le paragraphe suivant.

Enfin, lors d'une mise à jour de pfSense, il faut d'abord mettre à jour pfSense, avant de mettre à jour les packages. Nous présentons la procédure complète pour mettre à jour son pfSense dans notre article dédié : [pfSense] Mettre à jour son serveur pfSense



Installer et mettre à jour des packages pour les anciennes versions de pfSense


Si une nouvelle mise à jour de pfSense est sortie et que l'on ne souhaite pas y passer, mais que l'on veut continuer à pouvoir installer/mettre à jour ses packages, il faut modifier les dépôts cibles.

Pour cela, il faut se rendre dans le menu System > Update :

Menu System > Update - pfSense - Provya


Se rendre sur l'onglet "Update Settings" et dans liste déroulante "Branch", choisir la branche correspondant à notre version de pfSense actuellement installée :

Changement branche mise à jour - pfSense - Provya


Il faut, bien-sûr, cliquer sur le bouton "Save" pour valider le changement.



Désinstaller ou réinstaller un package


Il peut parfois être utile de réinstaller un package lorsque celui-ci rencontre des problèmes de stabilité ou suite à une mise à jour qui ne s'est pas bien passée.

Il y a deux approches possibles : réinstaller le package ou désinstaller puis installer de nouveau le package.

Pour cela, deux icônes sont proposées pour chaque package installé ; la première icône permet de désinstaller le package Désinstaller un package sous pfSense - Provya, la seconde de le réinstaller Réinstaller un package sous pfSense - Provya.

Il faudra confirmer l'action choisie en cliquant sur le bouton "Confirm".

Gestion des packages sous pfSense - Provya




Présentation des principaux packages


Il existe plus ou moins une soixantaine de packages. Nous proposons ici de présenter succinctement les principaux :


ACME


Le paquet ACME (Automated Certificate Management Environment) permet la gestion des certificats auprès des fournisseurs supportant le protocole ACME, comme Let's Encrypt par exemple.


arping et arpwatch


Ces deux paquets permettent d'envoyer des requêtes ARP de type who-has et de surveiller / alerter dès qu'une nouvelle adresse MAC est détectée sur le réseau.


apcupsd


Ce paquet permet de contrôler tous les modèles d'onduleurs APC. Il peut surveiller et enregistrer l'état actuel de l'alimentation et de la batterie, effectuer un arrêt automatique et peut aussi fonctionner en mode réseau pour mettre hors tension d'autres hôtes sur le réseau.


BIND


Ce paquet fournit une interface graphique pour le serveur DNS BIND (permettant de mettre en place un serveur DNS faisant autorité ou un résolveur DNS).


Cron


Propose une interface graphique pour manipuler le programme cron (qui est un planificateur de tâches) de pfSense.


HAproxy


Installe le logiciel HAProxy qui est un reverse proxy et équilibreur de charge (load balancing) puissant.


LADVD et lldpd


Ces deux paquets offrent des fonctionnalités similaires et permettent la prise en charge des protocoles LLDP (Link Layer Discovery Protocol), CDP (Cisco Discovery Protocol), EDP (Extreme Discovery Protocol) et NDP (Nortel Discovery Protocol).


squid, squidGuard et Lightsquid


Ce paquets permettent d'installer le serveur proxy squid, de filtrage d'URL ou de noms de domaine squidGuard et l'analyseur de logs Lightsquid.


ntopNG


ntopNG agit comme une sonde réseau qui montre l'utilisation détaillée du réseau. ntopNG dispose d'un émetteur/collecteur NetFlow/sFlow.


OpenVPN Client Export


Ce paquet permet de générer des fichiers de configuration OpenVPN pré-configurés pour les clients, des installateurs de clients Windows pré-configurés et des bundles de configuration Viscosity.


pfBlockerNG


Installe le logiciel pfBlockerNG qui est un utilitaire très complet permettant de contrôler les connexions à travers le pare-feu sur la base de critères plus généraux que les règles du pare-feu elles-mêmes (par exemple, par pays, par nom de domaine, etc.).
pfBlockerNG gère des listes d'adresses IP dans des formats de type "Deny, Permit ou Match", permet d'accéder à la base de données GeoIP, gère des liste noire DNS (DNSBL), etc.


Siproxd


Ce paquet permet d'installer un proxy SIP pour la VoIP. Pour la plupart des configurations SIP modernes, ce type de logiciel n'est absolument plus du tout nécessaire. Le paquet Siproxd ne doit donc être installé / utilisé que si c'est vraiment utile.


Snort et Suricata


Ces paquets offrent des fonctionnalités très similaires. Ils permettent d'installer un système de prévention d'intrusion de type IDS/IPS.


System Patches


Ce paquet permet l'installation de correctifs (patches) personnalisés.


Zabbix-agent et Zabbix-proxy


Ces paquets permettent la collecte et la remontée d'informations de supervision vers un serveur Zabbix.


Nous avons fait le tour de la gestion des packages sous pfSense et listé les principaux d'entre eux.

Dans de prochains articles, nous présenterons plus en détail certains packages : leurs intérêts concrets et leurs utilisations détaillées.



Pour aller plus loin


[pfSense] Mettre à jour son serveur pfSense
Best practices / Recommandations pour la configuration de votre firewall
Tous nos articles classés par thème
Voir un article au hasard


Vous avez aimé cet article ? Vous cherchez du matériel de qualité ? Alors contactez-nous.

Retrouvez nos services et firewall pour pfSense


Formation pfSense     Formation OPNsense     Liste de filtrage des IP malveillantes     Firewall pro-Large pour pfSense et OPNsense     Firewall pro-Xtend pour pfSense et OPNsense     Firewall pro-Xtrem pour pfSense et OPNsense    

store.provya.fr

icon Tags de l'article :

pfSense 2.5.1 est disponible

icon 15/04/2021 - 3 commentaires

English version: pfSense 2.5.1 now available

Mardi 13 avril 2021 est sortie la dernière version de pfSense. La version 2.5.1.

Il s'agit d'une mise à jour qui corrige principalement les très nombreux bugs apportés avec pfSense 2.5.0. Autre nouveauté importante : le logiciel WireGuard est retiré de pfSense.

Dans cet article, nous faisons un tour rapide des éléments marquants de cette mise à jour.



Nouveautés


Il s'agit de la seule nouveauté de pfSense 2.5.1, comme nous l'avions annoncé dans un précédent article, WireGuard est retiré de pfSense 2.5.1 pour des raisons de sécurité.

/!\ Attention : pour bénéficier de cette mise à jour, vous devez supprimer toutes configurations existantes de WireGuard : si vous avez configuré un VPN WireGuard sur votre pfSense, la mise à jour 2.5.1 ne pourra pas se faire.



Bugs / Améliorations


Les principaux bugs corrigés ou les principales améliorations apportées sont les suivantes :
  • Alias : il n'était plus possible de renommer un alias déjà en cours d'utilisation. C'est corrigé.
  • Authentification : correction d'un problème d'authentification LDAP pour les accès SSH à pfSense.
  • Certificats : plusieurs bugs ont été corrigés. Notamment des bugs portant sur le renouvellement de certificat.
  • Tableau de bord : correction de plusieurs indicateurs qui remontaient des valeurs incorrectes, notamment sur le processeur ou sur la table d'états.
  • Gateway : plusieurs bugs corrigés notamment sur la gestion de passerelles se trouvant sur un sous-réseau différent de l'interface WAN.
  • IPsec : énormément de bugs ont été corrigés (bugs qui avaient été introduits par la version 2.5.0).
  • OpenVPN : plusieurs bugs, plutôt mineurs, ou anomalies d'affichage ont été corrigés.
  • IPv6 : correction d'une anomalie sur la gestion des RA (Routeur Advertisements).
  • Notifications : certaines notifications (notamment via Telegram) ne respectaient pas la configuration du proxy. C'est corrigé.
  • Haute-disponibilité : correction d'erreurs de synchronisations avec XMLRPC.



Processus de mise à jour


Cette nouvelle version est disponible pour les mises à jour et en téléchargement pour les nouvelles installations.

Vous ne pourrez pas mettre à jour si vous utilisez un VPN WireGuard : la mise à jour vous sera proposée, mais elle échouera. Vous devez d'abord supprimer les configuration WireGuard existantes avant de pouvoir mettre à jour.

Si aucune mise à jour ne vous est proposée, il peut être utile de rafraîchir les dépôts de votre pfSense à l'aide des commandes suivantes (à saisir en console ou depuis un shell) :

pkg-static clean -ay; pkg-static install -fy pkg pfSense-repo pfSense-upgrade

Pensez à faire une sauvegarde avant de lancer la mise à jour, et suivez notre tuto complet : [pfSense] Mettre à jour son serveur pfSense.

Enfin, vous pouvez consulter la liste complète des changements en visitant la page suivante : 21.02.2/2.5.1 New Features and Changes [EN]



Pour aller plus loin


[pfSense] Mettre à jour son serveur pfSense
WireGuard est retiré de pfSense pour des raisons de sécurité
Best practices / Recommandations pour la configuration de votre firewall
Tous nos articles classés par thème
Voir un article au hasard


Vous avez aimé cet article ? Vous cherchez du matériel de qualité ? Alors contactez-nous.

Retrouvez nos services et firewall pour pfSense


Formation pfSense     Formation OPNsense     Liste de filtrage des IP malveillantes     Firewall pro-Large pour pfSense et OPNsense     Firewall pro-Xtend pour pfSense et OPNsense     Firewall pro-Xtrem pour pfSense et OPNsense    

store.provya.fr

icon Tags de l'article :

WireGuard est retiré de pfSense pour des raisons de sécurité

icon 23/03/2021 - Aucun commentaire

Netgate, l'éditeur du logiciel pfSense, a annoncé le 18/03/2021 que le logiciel WireGuard était retiré de pfSense 2.5.

Cette annonce fait suite à une annonce similaire de la part de l'équipe de base (core team) de FreeBSD : WireGuard sera retiré de FreeBSD 13, jusqu'à ce qu'une version plus mature puisse être ajoutée par la suite.

La raison de ce retrait est la présence de graves lacunes en terme de sécurité au niveau du code-source de la version de WireGuard livrée avec pfSense / FreeBSD.

Dans cet article, nous présentons ce qu'il s'est passé.



WireGuard, qu'est-ce que c'est ?


WireGuard est à la fois un logiciel open-source et un protocole de communication permettant de mettre en place un réseau privé virtuel (VPN).

Il s'agit d'une alternative à OpenVPN et IPsec.

La solution WireGuard se veut être une solution simple à mettre en oeuvre, à l'état de l'art en termes de développement, de fonctionnalités et de sécurité et offrir des performances réseaux particulièrement intéressantes.

WireGuard est développé par Jason A. Donenfeld et par les sociétés ZX2C4 et Edge Security.

WireGuard a, à l'origine, été développé et intégré au noyau Linux.



Implémentation de WireGuard sous FreeBSD / pfSense


Il s'agissait d'une des principales nouveautés de pfSense 2.5 : l'intégration de WireGuard au noyau de FreeBSD.

La plupart des distributions GNU/Linux supportent WireGuard depuis un petit moment déjà (car WireGuard a été intégré au noyau Linux 5.6), ainsi qu'OPNsense qui a intégré un support de WireGuard dans l'espace utilisateur (en attendant une intégration au noyau de FreeBSD).

Le développement de WireGuard pour FreeBSD a été assuré par des développeurs de Netgate (l'éditeur de pfSense). Le développement a duré pratiquement un an.

Le code a ensuite été intégré au noyau FreeBSD.

Malheureusement, il est vite apparu que le code intégré au noyau FreeBSD ne respectait pas les standards habituels de qualité et de sécurité.

Le fondateur du projet WireGuard, Jason Donenfeld (qui n'a pas participé au développement de la version présente dans pfSense 2.5) s'est penché sur le code ajouté au noyau de FreeBSD et a émis des critiques sévères que nous retranscrivons ici :

Ce code, c'est ce qui donne une mauvaise image au langage C !
Il y a des instructions "sleep" aléatoires pour corriger des problématiques d'accès concurrents, des fonctions de validation qui renvoient systématiquement "true", des vulnérabilités cryptographiques absolument catastrophiques, des pans entiers du protocole WireGuard non-implémentés, des "kernel panic", des contournements de sécurité, des dépassements de tampon, des "printf" arbitraires enfouis dans la partie cryptographique du code-source, et toute la litanie habituelle des choses horribles qui peuvent aller mal quand les gens ne font pas attention à ce qu’ils écrivent en C.

Il semblerait que cette déclaration soit légèrement exagérée (par exemple en employant le pluriel, là où un seul cas a été constaté). Cependant, toutes ces alertes de sécurité et de qualité du code sont bien réelles et confirmées par d'autres développeurs dont Kyle Evans qui est un guru FreeBSD et mainteneur du package WireGuard pour FreeBSD.

Des problématiques de sécurité sur les Jumbo frame ou d'élévation des privilèges ont également été rapportées.


Dans un premier temps Netgate a annoncé que l'implémentation de WireGuard ne posait pas de réels problèmes de sécurité pour les utilisateurs de pfSense, avant de finalement déconseiller son utilisation, puis enfin retirer le logiciel WireGuard de pfSense.



Peut-on utiliser WireGuard sous pfSense ou FreeBSD ?


Techniquement, la réponse est oui. Mais c'est totalement déconseillé.

Il vaut mieux éviter d'utiliser WireGuard pour le moment et privilégier d'autres solutions comme OpenVPN ou IPsec.

Si vous voulez ou devez à tout prix continuer à utiliser WireGuard sur votre pfSense, alors il est indispensable que celui-ci ne soit pas configuré sur une interface dont le MTU est supérieur à 1420.

Pour vérifier le MTU employé sur votre interface, rendez-vous dans le menu Status > Interfaces :

Menu Status > Interfaces - pfSense - Provya


La valeur du MTU sera indiquée pour chacune de vos interfaces.



Je suis utilisateur d'OPNsense, suis-je concerné ?


Non, pas directement. Le plugin WireGuard proposé sous OPNsense n'est pas celui implémenté avec le noyau FreeBSD.
Il s'agit d'une version tournant dans l'espace utilisateur.

Cependant, la version de WireGuard proposée sous OPNsense reste expérimentale : il reste déconseillé de l'utiliser en production.
Un avertissement est d'ailleurs présent dans la documentation d'OPNsense :

Avertissement WireGuard OPNsense - Provya


Pour notre part, nous déconseillons l'utilisation de WireGuard aussi bien sous pfSense que sous OPNsense.



Est-ce que WireGuard reviendra sous FreeBSD / pfSense ?


Oui, bien-sûr. Un nouveau développement complet, en repartant de l'implémentation de WireGuard réalisée pour OpenBSD, et auquel participe Jason Donenfeld (à l'origine du projet WireGuard), les équipes de Netgate et des développeurs de FreeBSD et d'OpenBSD a été lancé.

Il est fort probable que WireGuard fasse son retour pour la version FreeBSD 13.1 (ou une suivante).

La future implémentation de WireGuard pour FreeBSD promet d'être de haute qualité, ce qui est une très bonne nouvelle pour tous les utilisateurs de FreeBSD, pfSense et OPNsense.



Si vous souhaitez obtenir davantage d'informations sur le sujet (en anglais), vous pouvez consulter les liens suivants :

WireGuard est supprimé des logiciels pfSense® CE et pfSense® Plus

Suppression du support WireGuard de la base FreeBSD

Déclaration sur la controverse Wireguard

E-mail de Jason A. Donenfeld

Article d'Ars Technica - WireGuard intégré au noyau est en route vers FreeBSD et le routeur pfSense



Pour aller plus loin


[pfSense] Configurer un VPN IPsec site à site
[pfSense] Monter un accès OpenVPN site-à-site
[pfSense] Sécurisez l'accès distant de vos collaborateurs nomades avec OpenVPN
Tous nos articles classés par thème
Voir un article au hasard


Vous avez aimé cet article ? Vous cherchez du matériel de qualité ? Alors contactez-nous.

Retrouvez nos services et firewall pour pfSense


Formation pfSense     Formation OPNsense     Liste de filtrage des IP malveillantes     Firewall pro-Large pour pfSense et OPNsense     Firewall pro-Xtend pour pfSense et OPNsense     Firewall pro-Xtrem pour pfSense et OPNsense    

store.provya.fr

icon Tags de l'article :

[pfSense] Les pannes courantes et leurs solutions sur un VPN IPsec

icon 25/02/2021 - 2 commentaires

Comprendre et dépanner un VPN IPsec qui ne fonctionne pas comme voulu n'est jamais une chose facile.
Heureusement, pfSense offre tout un panel d'outils permettant d'aider à orienter le diagnostique afin de trouver l'origine du problème.

Après notre article sur comment configurer un VPN IPsec sous pfSense, nous présentons dans cet article les causes de défaillances généralement rencontrées et leurs solutions les plus probables.
Dans un autre article, nous présentons dans le détail comment lire et comprendre les logs d'IPsec sous pfSense.



Le tunnel IPsec ne monte pas


La première étape consiste à vérifier que le service IPsec est bien démarré sur pfSense. Pour cela, se rendre dans le menu Status > Services et vérifier que le service IPsec ne soit pas arrêté :

Vérifier statut service VPN IPsec sous pfSense - Provya


Sur la capture d'écran ci-dessus, on peut voir que le service ipsec est bien démarré.

Si le service ipsec n'est pas lancé ou arrêté (c'est-à-dire soit il n'apparaît pas dans la liste des services, soit il est à l'état "stop"), il faut vérifier que la phase 1 du VPN IPsec soit bien démarrée. Cette vérification s'effectue depuis le menu VPN > IPsec :

État phase 1 VPN IPsec pfSense - Provya


Sur la capture d'écran ci-dessus, on peut voir que le tunnel IPsec est désactivé. Il suffit de cliquer sur le bouton vert "Enable" se trouvant en début de ligne pour activer le tunnel IPsec.

De la même façon, s'il s'agit d'un VPN IPsec pour client mobile, il faut se rendre dans l'onglet "Mobile Clients" et vérifier que la case "Enable IPsec Mobile Client Support" soit bien cochée.

Si le service est correctement lancé, il faut ensuite vérifier dans les logs du firewall (menu Status > System Logs ; onglet Firewall) que la connexion IPsec ne soit pas bloquée. Le cas échéant, il faudra ajouter une règle de filtrage pour autoriser le trafic bloqué.

Les règles de filtrage sont normalement activées automatiquement pour IPsec, mais cette option étant désactivable, mieux vaut vérifier...

Enfin, si le tunnel ne monte toujours pas, la cause principale (et de loin) pour laquelle un VPN IPsec ne monte pas est une erreur de configuration. C'est parfois une erreur simple comme le groupe DH qui n'est pas configuré de la même manière des deux côtés, ou une erreur sur un masque de sous-réseau (/24 d'un côté et /32 de l'autre).
Si le lien VPN est monté avec un routeur autre que pfSense de l'autre côté, il faut avoir en tête que sur ces équipements des options peuvent être masquées par défaut sous un bouton "Advanced" ou "Configuration avancée". Bref, il est important de vérifier avec précision que la configuration de chaque côté du tunnel IPsec soit bien la même pour les différentes options.

Dernier point à vérifier : en fonction du type d'accès à Internet utilisé de part et d'autre, notamment dans le cas d'un VPN IPsec pour les clients mobiles (qui peuvent être derrière un CGN - Carrier-grade NAT) il est possible que le trafic IPsec puisse être bloqué. Dans ce cas, l'utilisation du NAT-T (NAT Traversal) peut être une solution car il permet d'encapsuler le protocole ESP sous le port UDP 4500 pour contourner ces problèmes.



Le tunnel IPsec monte mais le trafic ne passe pas


Le suspect numéro un dans ce type de situation est un problème au niveau des règles de filtrage. Il faut s'assurer que les règles de filtrage ont correctement été configurées. Il faut vérifier l'état des règles de filtrage pour l'interface LAN (ou les autres interfaces locales, le cas échéant) et pour l'interface IPsec. Si les règles semblent être bonnes à première vue et que le trafic ne passe toujours pas, il faut activer la journalisation (dans les options avancées des règles de filtrage concernées) et vérifier les logs (depuis le menu Status > System Logs - onglet Firewall).

Si les paquets ne semblent pas bloqués mais que le trafic ne passe toujours pas, il est possible que ce soit un problème de routage.

Dernier point à vérifier : la configuration des phases 2. Il est important, pour la configuration des réseaux locaux ou distants, de saisir l'adresse IP du réseau et non l'adresse IP du firewall. Par exemple, si d'un côté, il est configuré 192.168.0.1/24 et de l'autre 192.168.0.0/24, alors il est fort probable que le trafic ne passera pas. Il faut saisir correctement l'adresse du sous-réseau. Soit 192.168.0.0/24.



Certains hôtes du réseau sont joignables, mais pas tous


Lorsque pour un même sous-réseau on arrive à joindre certains hôtes, mais pas tous, alors le problème a très probablement pour origine l'une de ces quatre erreurs de configuration :

Passerelle par défaut manquante, incorrecte ou ignorée

Si la machine concernée n'a pas pour passerelle par défaut le pfSense (ou le firewall portant le lien VPN d'une façon générale), il est probable qu'il y ait une problème de routage sur votre réseau interne. Il faut corriger la passerelle par défaut renseignée sur la machine concernée ou corriger le problème de routage interne à votre réseau local.


Masque de sous-réseau incorrect


Il faut vérifier la configuration du masque de sous-réseau pour les machines concernées. Par exemple, si, sur votre réseau local, vous utilisez le sous-réseau 192.168.1.0/24, mais que l'une des machines est configurée avec une adresse IP fixe (ce qui est une mauvaise pratique ; mieux vaut utiliser l'adressage statique via votre serveur DHCP) avec un mauvais masque de sous-réseau comme, par exemple, 192.168.1.0/16 ; cela ne va pas perturber le fonctionnement sur votre réseau local et par conséquent vous n'allez pas forcément vous en rendre compte. En revanche, si le réseau distant joignable via IPsec est, par exemple, le 192.168.2.0/24, alors il sera injoignable par cette machine car elle croira qu'il fait parti du même sous-réseau (/16) et les paquets ne seront donc pas envoyés vers la gateway.

Si ces notions de masque ou de sous-réseau ne sont pas claires pour vous, nous vous recommandons la lecture, très rapide, de la page Wikipédia "Sous-réseau"


Pare-feu de la machine


S'il y a un pare-feu configuré sur la machine, il est possible qu'il bloque les connexions. Il faut vérifier.


Règles de filtrage sur pfSense


Enfin, il faut vérifier que les règles de filtrage soient bien configurées sur les deux firewall établissant le VPN IPsec.



Perte régulière de la connexion


Historiquement, IPsec peut rencontrer des problèmes avec les paquets fragmentés. C'est de moins en moins le cas aujourd'hui, mais si des pertes de paquets ou de connexions sont rencontrées uniquement sur certains protocoles spécifiques (SMB, RDP, etc.), alors l'activation et la configuration du paramètre MSS clampling (Maximum Segment Size) pour le VPN peut être nécessaire.

Le paramètre MSS clamping peut être activé depuis le menu VPN > IPsec - onglet Advanced Settings.
Cocher la case "Enable Maximum MSS" (se trouvant plutôt en bas de page) et saisir une valeur :

Configurer le paramètre MSS clamping sous pfSense - Provya


Notre recommandation est de démarrer avec une valeur à 1400, puis, si ça fonctionne, l'augmenter progressivement jusqu'à ce que les problèmes réapparaissent. Une fois atteint le point de dysfonctionnement, il suffit de réduire de nouveau très légèrement la valeur du MSS.



Déconnexions "aléatoires" du tunnel VPN sur des routeurs peu puissants


Si votre tunnel IPsec tombe régulièrement, puis remonte, et que vous utilisez un mini-PC (du type carte Alix) ou un firewall dont le CPU tourne à 100% de charge, alors vous pouvez rencontrer des problèmes avec le mécanisme de DPD (Dead Peer Detection).
Cela peut se produire lors d'une utilisation élevée de la bande-passante. Dans ce cas, il peut arriver que les paquets DPD ne soient pas envoyés ou que les réponses soient ignorées.
Il n'y a pas 36 solutions, votre firewall n'est pas correctement dimensionné pour votre usage, il faut envisager de le remplacer par un firewall plus puissant.



Le tunnel monte lorsque le firewall initie la connexion, mais pas lorsqu'il répond


Si un tunnel monte uniquement de temps en temps, mais pas tout le temps, c'est qu'il y a sûrement un écart de configuration entre les deux firewall établissant le tunnel IPsec.
Cela peut se produire lorsqu'il y a un écart de niveau de sécurité entre les deux firewall ; celui qui a les paramètres de sécurité les plus forts réussira à initialiser la connexion, mais refusera lorsque c'est l'autre firewall qui sera en initialisation.
Par exemple, si le firewall1 est configuré en mode "Main" pour la négociation d'IKEv1 et que le firewall2 est configuré en mode "Aggressive", alors le tunnel montera lorsque le firewall1 initiera la connexion. En revanche, si c'est le firewall2 qui initie la connexion en mode "Aggressive", alors elle sera refusée par le firewall1.


Nous avons fait le tour des pannes couramment rencontrées lorsque l'on met en place un VPN IPsec.
Un dernier élément à aborder pour être complet est l'analyse des logs. Ce sujet étant très riche, il fera l'objet d'un prochain article dédié.



Pour aller plus loin


[pfSense] Configurer un VPN IPsec site à site
[pfSense] Comprendre et analyser les logs de son VPN IPsec
[pfSense] Monter un accès OpenVPN site-à-site
[pfSense] Troubleshooting / Dépannage de ses règles de filtrage
Tous nos articles classés par thème
Voir un article au hasard


Vous avez aimé cet article ? Vous cherchez du matériel ou un support professionnel ? Alors contactez-nous.

Retrouvez nos services et firewall pour pfSense


Formation pfSense     Formation OPNsense     Liste de filtrage des IP malveillantes     Firewall pro-Large pour pfSense et OPNsense     Firewall pro-Xtend pour pfSense et OPNsense     Firewall pro-Xtrem pour pfSense et OPNsense    

store.provya.fr

icon Tags de l'article :

pfSense 2.5.0 et pfSense Plus 21.02 sont disponibles !

icon 18/02/2021 - Aucun commentaire

English version: pfSense 2.5.0 and pfSense Plus 21.02 now available

Mercredi 17 février 2021 est sortie la dernière version de pfSense. La version 2.5.0. Ainsi que la première version de pfSense Plus : la version 21.02.

Il s'agit d'une mise à jour importante en terme de fonctionnalités, de correctifs de sécurité et de stabilité.

Dans cet article, nous faisons le tour des éléments marquants de cette mise à jour.



Nouveautés


Les nouveautés principales sont les suivantes :

  • mise à jour de l'OS vers FreeBSD 12.2 (qui est la dernière version stable de FreeBSD) ;
  • implémentation de Wireguard, qui est une solution VPN open-source qui se veut être très simple à mettre en œuvre et très performante ;
  • suppression de la fonctionnalité "Load Balancer" intégrée à pfSense : il est recommandé de se tourner vers le package HAProxy ;
  • Ajout de l'authentification Radius pour les utilisateurs SSH ;
  • Amélioration de la gestion des sauvegardes (davantage d'options sont disponibles, notamment pour sauvegarder les baux DHCP, ou les adresses MAC utilisées sur le portail captif, ...)
  • mise à jour d'OpenSSL vers la version 1.1.1 ;
  • mise à jour d'OpenVPN vers la version 2.5.0 ;
  • mise à jour de PHP (7.4) et de Python (3.7)



Bugs / Améliorations


Plusieurs bugs ont été corrigés et des améliorations apportées :

  • Alias : correction de plusieurs bugs (notamment pour les alias mélangeant des adresses IPv4 et IPv6).
  • LDAP / Radius : correction de plusieurs bugs pour l'authentification LDAP / Radius.
  • Portail captif : correction de plusieurs bugs mineurs sur la gestion de l'authentification.
  • Certificats : amélioration sur la gestion, la création et le renouvellement des certificats.
  • Service DHCP : ajout de fonctionnalités diverses (suppression de tous les baux en un clic, ajout d'options DHCP pour les entrées statiques, ...).
  • Passerelle : amélioration de la gestion des passerelles par défaut : il est maintenant possible d'obtenir une passerelle par DHCP qui soit en dehors du sous-réseau de l'interface ; et corrections de quelques bugs mineurs liés à IPv6.
  • IPsec : pas mal d'améliorations cosmétiques ou techniques : plusieurs petits bugs ont été corrigés et la gestion des VPN IPsec gagne en lisibilité.
  • Notifications : évolution de la gestion des notifications : les notifications via Growl ont été supprimées ; ajout de la possibilité d'envoi de notifications via Telegram.
  • OpenVPN : il n'est plus possible de désactiver la négociation des paramètres de sécurité (NCP - Negotiable Cryptographic Parameters) ; et dorénavant par défaut, lorsqu'un client envoie des paquets compressés, pfSense les décompresse, mais les réponses ne seront pas compressées (la compression sous OpenVPN est dépréciée depuis très longtemps pour des raisons de sécurité et de performance).



Processus de mise à jour


Cette nouvelle version est disponible pour les mises à jour et en téléchargement pour les nouvelles installations.

Si aucune mise à jour ne vous est proposée, il peut être utile de rafraîchir les dépôts de votre pfSense à l'aide des commandes suivantes (en saisir en console ou depuis un shell) :

pkg-static clean -ay; pkg-static install -fy pkg pfSense-repo pfSense-upgrade

Pensez à faire une sauvegarde avant de lancer la mise à jour, et suivez notre tuto complet : [pfSense] Mettre à jour son serveur pfSense.

Enfin, vous pouvez consulter la liste complète des changements en visitant la page suivante : 21.02/2.5.0 New Features and Changes [EN]



Pour aller plus loin


[pfSense] Mettre à jour son serveur pfSense
Best practices / Recommandations pour la configuration de votre firewall
Tous nos articles classés par thème
Voir un article au hasard


Vous avez aimé cet article ? Vous cherchez du matériel de qualité ? Alors contactez-nous.

Retrouvez nos services et firewall pour pfSense


Formation pfSense     Formation OPNsense     Liste de filtrage des IP malveillantes     Firewall pro-Large pour pfSense et OPNsense     Firewall pro-Xtend pour pfSense et OPNsense     Firewall pro-Xtrem pour pfSense et OPNsense    

store.provya.fr

icon Tags de l'article :

Avec pfSense Plus, l'avenir de pfSense ne sera pas (que) open-source

icon 09/02/2021 - 6 commentaires

Netgate, l'éditeur du logiciel pfSense a annoncé en janvier 2021 de grands changements dans le cycle de développement du logiciel pfSense avec l'arrivée d'un nouveau logiciel : "pfSense Plus".

pfSense Plus sera une version propriétaire et plus évoluée de pfSense.

Dans cet article nous faisons le point sur cette annonce et ses conséquences.

Logo pfSense Plus




pfSense, pfSense CE, pfSense FE, etc : commençons par quelques précisions liminaires


Il nous paraît important de commencer par bien préciser les termes que nous employons.

pfSense est une marque déposée par la société Netgate. Cette marque est déposée et protégée internationalement.

Autour de cette marque, deux logiciels sont proposés :

pfSense Community Edition (également appelé pfSense CE) qui désigne le logiciel open-source pfSense en tant que tel. Aussi, lorsque nous parlons de "pfSense" pour désigner le logiciel, ceci est un abus de langage : pour être très précis, nous devrions parler de "pfSense CE".
Cet abus de langage est communément répandu pour deux raisons : à l'origine, le terme pfSense désignait le logiciel et la marque (jusqu'au rachat par Netgate en 2014) ; et l'éditeur communique très majoritaire sur le terme "pfSense software" pour parler du logiciel pfSense CE.

pfSense Factory Edition (également appelé pfSense FE) qui désigne un logiciel propriétaire que l'on retrouve sur les firewall commercialisés par Netgate et chez des fournisseurs de solutions de cloud (Cloud Service Provider - CSP) comme AWS ou Azure.

Aussi, il faut bien avoir en tête que lorsque vous achetez des firewall Netgate ou que vous installez pfSense via le marketplace d'AWS ou d'Azure, vous n'utilisez en aucun cas un logiciel open-source : vous utilisez le logiciel propriétaire pfSense FE.



pfSense CE et pfSense FE : quelles différences ?


Les principales caractéristiques de pfSense FE, par rapport à pfSense CE, sont les suivantes :

  • pfSense FE n'est pas open-source ;
  • pfSense FE supporte les firewall Netgate qui tourne sur des architectures ARM ;
  • pfSense FE est proposée sur les marketplace d'AWS et d'Azure ;
  • pfSense FE propose des options de configurations spécifiques aux ports switch des firewall Netgate (la plupart des firewall Netgate ne dispose pas de ports réseaux indépendants, mais de ports switch : cela leur permet d'offrir une plus grande densité de ports réseaux pour un coût plus faible, mais au prix d'une performance plus limitée).

Les autres fonctionnalités que l'on trouve sous pfSense CE ou pfSense FE sont exactement les mêmes. Ce sont donc des logiciels très proches.



pfSense Plus, qu'est-ce que c'est ?


En février 2021, le logiciel propriétaire pfSense Factory Edition sera renommé pfSense Plus.

À partir de cette date, les logiciel pfSense CE et pfSense Plus vont diverger.

Netgate va procéder à une ré-écriture d'une grande partie du code-source de pfSense Plus afin de le rendre plus lisible, plus sécurisé et plus facilement maintenable.
Il s'agit là d'un des reproches majeurs formulés à l'encore de pfSense : un code-source à la qualité inégale et pas suffisamment structuré.

Ensuite, pfSense Plus incorporera rapidement de nouvelles fonctionnalités très demandées, comme par exemple :

  • Une refonte complète de l'interface graphique (plus sécurisée)
  • Un tableau de bord plus moderne et efficace
  • Des outils de statistiques et de reporting avancés
  • La prise en charge des normes sans-fil 802.11ac (Wi-Fi 5) et 802.11ax (Wi-Fi 6)
  • Le support du mode Zero Touch Provisioning pour des déploiements facilités

La roadmap détaillée de développement sera précisée prochainement par Netgate.

Autre élément important, pfSense Plus sera publié selon un rythme beaucoup plus régulier que pfSense CE. Il y a aura 3 versions majeures par an : janvier, mai et septembre.

C'est également là un des reproches formulés à l'encore de pfSense : un rythme de mise à jour trop irrégulier et ne respectant pas les cycles de versions de FreeBSD.
Par exemple, la dernière version stable de pfSense à ce jour est la version 2.4.5-RELEASE-p1 qui repose sur FreeBSD 11.3. Or, FreeBSD 11.3 est arrivé en fin de vie le 30/09/2020 et n'est donc plus maintenu depuis plusieurs mois déjà !

Le nommage des versions de pfSense Plus se fera selon le format AA.MM (année sur deux chiffres, mois sur deux chiffres). La première version de pfSense Plus, qui devrait sortir en février 2021, sera donc la version 21.02.

Dernier élément important : pfSense Plus sera dans un premier temps proposé uniquement pour les firewall Netgate, puis sur les instances de cloud partenaire, et enfin (d'ici la fin de l'année 2021) pour tous, installable sur tous matériels.



Quel sera le prix de pfSense Plus ?


Ces informations n'ont pas encore été communiquées par Netgate.

Ce que l'on sait pour le moment, c'est que l'utilisation de pfSense Plus pour un usage non-commercial (usage personnel, labo de tests, etc.) sera gratuite.

Pour les usages commerciaux, la grille de prix n'a pas encore été communiquée. Elle le sera dans le courant du mois de juin 2021.

À titre de comparaison, les tarifs de tnsr (logiciel propriétaire de Netgate pour des réseaux de + 40 Gbps) démarrent à 400 dollars / an. On peut donc, a priori, s'attendre à un tarif similaire ou inférieur pour pfSense Plus.



pfSense Plus marque-t-il la fin de pfSense CE ?


Le message délivré par Netgate est très clair : la priorité de développement est donnée à pfSense Plus. La plupart des améliorations qui seront apportées à pfSense Plus ne seront pas directement reversées à pfSense.

Cependant, les développements concernant des éléments communs aux deux versions de pfSense seront bien évidemment reversés vers pfSense CE ; comme par exemple les contributions à FreeBSD ou à packet filter.
Il faut garder en tête que Netgate est, depuis des années, et restera, un gros contributeur à de nombreux projets open-source.

pfSense CE continuera à être maintenu.
Le rythme de développement continuera comme aujourd'hui : c'est-à-dire qu'une nouvelle version sortira quand elle sera prête !

Beaucoup de monde avait déjà constaté que le rythme de développement de pfSense CE avait énormément ralenti. Il faut visiblement s'attendre à ce qu'il soit peut-être encore plus faible.

Ainsi, les corrections de bugs, les mises à jour de sécurité ou les améliorations apportées aux briques open-source utilisées dans pfSense CE continueront à être proposées. En revanche, il ne faut pas s'attendre à l'ajout de nouvelles fonctionnalités importantes. Ces nouvelles fonctionnalités seront réservées prioritairement (voire quasi-uniquement ?) à pfSense Plus.

Vraisemblablement, pfSense CE va continuer à être maintenu mais ne va plus vraiment évoluer.



pfSense Plus, bonne ou mauvaise nouvelle ?


Les deux !

C'est une bonne nouvelle car :
Ces annonces permettent de clarifier la stratégie de développement de Netgate concernant pfSense.
Tout le monde avait constaté un ralentissement du rythme de développement et des mises à jour. Il était donc nécessaire de clarifier le projet industriel porté par Netgate. C'est chose faite.

Netgate annonce un rythme de développement soutenu de pfSense Plus, la refonte d'une partie du code source (qui en a bien besoin...) et l'ajout de nouvelles fonctionnalités très attendues.
Si les tarifs annuels proposés sont raisonnables et que le côté "logiciel propriétaire" n'est pas un point de blocage pour vous, alors pfSense Plus être une très bonne solution.

Enfin, cette solution reste gratuite d'utilisation pour un usage non-commercial.

Mais c'est également une mauvaise nouvelle car :
Les annonces faites sont très claires : le développement sera prioritairement (quasi-exclusivement ?) sur pfSense Plus. Il n'y aura aucun rythme de développement nouveau pour pfSense CE.

Aucune nouvelle fonctionnalité n'est annoncée pour pfSense CE, hormis les corrections de bugs, mises à jour de sécurité et les mises à jour des briques open-source utilisées dans pfSense CE.

Il ne faut pas se voiler la face : ces annonces augure très visiblement la fin à petit feu de la version open-source de pfSense.



Que faire ? Quelles solutions envisagées ?


Notre première réponse est surtout de ne pas se précipiter !

pfSense CE 2.5.0 va sortir très prochainement (en février 2021). Il s'agit d'une version majeure qui apportera son lot de nouveautés. Wireguard sera notamment intégré à pfSense 2.5.0.

Il n'y a donc pas d'urgence à migrer. pfSense reste un bon logiciel, robuste, stable et sécurisé. Au cours des prochaines années il continuera d'être maintenu, mais évoluera très peu.

Nous attendons de voir l'offre tarifaire associée à pfSense Plus. Nous ne rejetons pas, a priori, cette solution. Les fonctionnalités et le rythme de développement annoncés pour pfSense Plus attirent notre curiosité.
Nous attendons les annonces complémentaires de Netgate sur le sujet.

Il est à noter que Netgate annonce que la compatibilité de migration de pfSense CE vers pfSense Plus sera maintenue. Il sera ainsi possible de migrer facilement de pfSense CE vers pfSense Plus à l'avenir.

Enfin, il est possible de se tourner vers OPNsense qui est un fork de pfSense né fin 2014, début 2015.
OPNsense bénéficie d'un code-source qui a été en très grande partie réécrit (+ 90 %), sécurisé, épuré et simplifié. L'interface graphique d'OPNsense est moderne et vraiment bien pensée.

OPNsense bénéficie d'un rythme de mise à jour important et régulier : deux mises à jour majeures par an, ainsi que des mises à jour additionnelles mineures dès que nécessaire.

Au cours de ses premières années, OPNsense souffrait de bugs trop nombreux pour en faire un bon firewall utilisable en production. Depuis, le logiciel a grandement gagné en maturité et en stabilité. Il s'agit donc sûrement de la solution idéale vers laquelle se tourner à l'avenir.

Nous sommes curieux de savoir si nous allons assister à une migration massive des utilisateurs de pfSense vers OPNsense ?

Wait & see.


Vous pouvez retrouver toutes les informations détaillées concernant pfSense Plus sur le blog de Netgate (en anglais) :




Et vous, que pensez-vous des annonces liées à la sortie de pfSense Plus ?



Pour aller plus loin


Tous nos articles classés par thème
Voir un article au hasard


Vous avez aimé cet article ? Vous cherchez du matériel de qualité ? Alors contactez-nous.

Retrouvez nos services et firewall pour pfSense


Formation pfSense     Formation OPNsense     Liste de filtrage des IP malveillantes     Firewall pro-Large pour pfSense et OPNsense     Firewall pro-Xtend pour pfSense et OPNsense     Firewall pro-Xtrem pour pfSense et OPNsense    

store.provya.fr

icon Tags de l'article :