Dans cet article, nous allons voir comment utiliser le package pfBlockerNG pour configurer un filtrage basé sur des adresses IP géographiques sur pfSense.
Ce type de filtrage est particulièrement utile pour renforcer la sécurité de notre réseau en limitant certains trafics à destination ou en provenance de pays spécifiques.
Par exemple, si nous disposons d'un serveur OpenVPN pour nos utilisateurs nomades ou en télétravail, et que nous sommes basés en France, nous devrions très probablement vouloir limiter les tentatives de connexion VPN aux seules adresses IP françaises.
De même, si nous hébergeons un extranet destinées de nos clients et que ceux-ci se trouvent exclusivement en Europe, alors il pourrait être utile de limiter l'accès à cet extranet aux seuls pays européens.
➡️ Cet article est la suite de pfBlockerNG - le package indispensable pour augmenter le niveau de sécurité de votre réseau.
Prérequis
Avant de commencer, assurez-vous d’avoir :
Étape 1/5 - Créer un compte chez Maxmind
Par défaut pfBlockerNG utilise Maxmind afin de télécharger et maintenir à jour une liste des blocs d'adresses IP publiques classés par pays et par continent.
Si nous le souhaitons, nous pouvons uiliser une liste d'un autre fournisseur.
Dans notre tutoriel, nous utiliserons la liste proposée par Maxmind.
Pour pouvoir télécharger cette liste, il faudra d'une part avoir un compte chez Maxmind (c'est gratuit) et d'autre part, générer une clef de licence (gratuit également).
Passons maintenant à la création du compte !
L'ouverture d'un compte MaxMind est très simple et se fait via le lien suivant : https://www.maxmind.com/en/geolite2/signup.
Les champs à remplir sont très classiques. Nous les complètons, nous cochons la case précisant que nous sommes en accord avec les conditions d'utilisation du service, puis nous cliquons sur le bouton Continue pour valider.
Nous recevrons un e-mail de bienvenue contenant un lien permettant d'activer notre compte et de définir notre mot de passe.
Une fois notre compte activé, nous pourrons nous connecter sur l'interface de MaxMind !
Étape 2/5 - Générer une nouvelle clef de licence chez Maxmind
Notre compte MaxMind est maintenant créé et nous sommes connectés.
Il nous reste à générer une nouvelle clef de licence que nous devrons ensuite renseigner sur pfBlockerNG.
Sur l'interface MaxMind, se rendre dans le menu Manage License Keys, puis cliquer sur le bouton Generate new license key.
Il est possible de générer jusqu'à 100 clefs de licence gratuites avec son compte MaxMind.
Nous renseignons une nouvelle description pour notre clef de licence ; c'est surtout pratique si nous prévoyons d'en avoir plusieurs. Enfin, nous cliquons sur le bouton Confirm.
Notre clef est créée !
Comme indiqué (en anglais), nous devons noter notre Account ID et notre License Key ; cette dernière ne sera plus affichée et ne pourra pas être retrouvée une fois que nous aurons quitté la page de MaxMind.
Étape 3/5 - Renseigner son identifiant et sa clef de licence sur pfBlockerNG
Notre configuration côté MaxMind est terminée. Nous passons maintenant sur pfSense pour la suite de la configuration.
Nous partons du principe que nous avons déjà installé pfBlockerNG. Si ce n'est pas le cas, vous pouvez suivre notre tuto d'installation : [pfSense] pfBlockerNG - le package indispensable pour augmenter le niveau de sécurité de votre réseau.
Se rendre dans le menu Firewall > pfBlockerNG, puis cliquer sur l'onglet IP :
Descendre jusqu'à la rubrique MaxMind GeoIP configuration et compléter les champs comme suit :
- MaxMind Account ID : l'ID de compte MaxMind
- MaxMind License Key : la clef de licence MaxMind générée à l'étape précédente
- MaxMind Localized Language : sélectionner la langue de son choix
- MaxMind CSV Updates : laisser cette case décochée ; sauf si vous savez ce que vous faites
Cliquer sur le bouton Save IP settings pour enregistrer les modifications.
Ensuite, accéder à l'onglet Update et cliquer sur le bouton Run afin de focer pfBlockerNG à télécharger la base de données d'adresses IP fournies par MaxMind.
Lorsque la mise à jour est terminée, vérifier la présence de la ligne UPDATE PROCESS ENDED dans le tableau des logs.
Nous allons maintenant pouvoir créer des alias basés sur ces adresses IP.
Étape 4/5 - Créer un alias de type GeoIP
pfBlockerNG est un outil très complet et flexible.
Il permet de configurer facilement des règles globales de filtrage sur le firewall.
Par exemple, depuis l'onglet IP > GeoIP nous pouvons rapidement configurer pfBlockerNG pour bloquer ou autoriser des continents entiers ou des listes de pays répartis par continent :
Cependant, nous ne recommandons pas cette approche, car elle manque de souplesse.
Pourquoi créer des alias personnalisés ?
Il est préférable de créer des alias contenant uniquement les pays qui nous intéressent, puis d'utiliser ces alias dans nos règles de filtrage.
Cela permet, par exemple :
➡️ d'appliquer un filtrage spécifique pour certains services et un autre filtrage pour d'autres services ;
➡️ de limiter la connexion à un service précis sans impacter le reste du trafic.
Prenons l'exemple suivant : nous voulons autoriser l'accès à notre serveur OpenVPN uniquement depuis la France et la Belgique.
➡️ Il vaut mieux créer un alias contenant ces deux pays autorisés, plutôt que de créer une énorme liste des pays interdits.
La raison est que plus un alias contient d'adresses IP, plus la consommation de mémoire vive et la charge processeur seront importantes. Une liste restreinte et ciblée permet une meilleure efficacité et performance du firewall.
Création d’un alias GeoIP
Se rendre dans le menu IP > IPv4 et cliquer sur le bouton + Add :
Renseigner les champs de la manière suivante :
- Name / Description : le nom (sans espace, ni caractères spéciaux), ainsi qu'une description pour notre liste
- Format : choisir GeoIP
- State : choisir ON
- Source : renseigner le nom du pays en anglais. Le champ propose une auto-complétion pour faciliter la sélection
Nous choisissons FR [ France ], puis nous cliquons sur le bouton + Add et procédons de même pour la Belgique :
Pour le champ Action, nous choisissons Alias Native, puis enfin nous cliquons sur le bouton Save IPv4 Settings.
La configuration n'est pas appliquée immédiatement. Pour forcer son rechargement : aller dans l'onglet Update, puis cliquer sur le bouton Run.
En quelques secondes, nous devrions voir apparaître la ligne UPDATE PROCESS ENDED, confirmant le bon déroulement de l’opération.
Vérification de l’alias
Notre alias est maintenant créé ! Nous pouvons le retrouver dans le menu Firewall > Aliases :
Étape 5/5 - Adapter ses règles de filtrage
L'alias que nous venons de créer peut maintenant être utilisé n'importe quelle règle de filtrage sur pfSense.
Exemple : restreindre l'accès à OpenVPN pour les utilisateurs nomades
Dans notre exemple, nous voulons autoriser l'accès à OpenVPN uniquement depuis la France et la Belgique.
➡️ Nous devons modifier (ou créer) une règle de filtrage en remplaçant la source "any" (qui autorise tout le monde) par notre alias :
💡 Astuce : nous pouvons créer autant d'alias que nécessaire selon nos besoins spécifiques !
🎯 Étape bonus - Quelle différence entre FR et FR_rep ?
Lors du choix d’un pays dans pfBlockerNG, nous avons généralement deux entrées disponibles : FR (France) et FR_rep (France Representative).
Quelle est la différence ?
📌 FR : contient uniquement les adresses IP physiquement situées en France.
📌 FR_rep : Contient les adresses IP enregistrées en France, même si elles sont utilisées ailleurs (ex : services cloud, VPN).
📖 Exemple concret
Nous hébergeson notre site italien provya.it avec une adresse IP italienne fournies par OVH (société française).
🖥️ Adresse IP de provya.it : 94.23.73.62.
➡️ Cette IP apparaît dans la liste Italy (puisqu'elle est physiquement en Italie).
➡️ Mais elle apparaît aussi dans la liste FR_rep (car OVH est une entreprise française).
Conclusion
pfBlockerNG permet de mettre en place rapidement un filtrage par adresses IP géographiques, offrant ainsi plusieurs avantages :
✅ Réduire l'exposition des services sensibles sur Internet.
✅ Améliorer la sécurité en bloquant les pays non autorisés.
✅ Administrer facilement ses règles depuis l'interface pfSense.
Grâce à cette configuration, nous avons mis en place un filtrage géographique efficace et optimisé pour sécuriser l'accès à OpenVPN (ou à tout autre service) ! 🚀
pfBlockerNG est un outil très utile et puissant pour renforcer la sécurité et contrôler le trafic réseau sous pfSense.
Ce tutoriel complète notre premier article pfBlockerNG - le package indispensable pour augmenter le niveau de sécurité de votre réseau.
Dans un prochain article, nous explorerons comment utiliser pfBlockerNG pour mettre en place facilement et efficacement un filtrage DNS.
Pour aller plus loin
[pfSense] pfBlockerNG - le package indispensable pour augmenter le niveau de sécurité de votre réseau
[pfSense] Sécurisez l'accès distant de vos collaborateurs nomades avec OpenVPN
[pfSense] Tout comprendre aux alias
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 un pare-feu de qualité ? Alors rendez-vous sur notre boutique en ligne.
Retrouvez nos services et firewall pour pfSense
store.provya.fr
Tags de l'article : pfBlockerNGpfSense
Dans cet article, nous présentons le package pfBlockerNG, ses principales fonctionnalités et comment l'installer.
La configuration détaillée de pfBlockerNG fera l'objet d'autres articles.
➡️ Découvrez notre tuto Filtrage géographique avec pfBlockerNG.
Introduction et bref historique de pfBlockerNG
pfBlockerNG est une extension puissante proposée sous la forme d'un package additionnel pour pfSense. Il apporte des fonctionnalités avancées de filtrage et de contrôle : contrôle des flux DNS, blocage des domaines dangereux ou inappropriés, filtrage géographique, filtrage des flux IP, etc.
pfBlockerNG apporte des fonctionnalités de haut niveau à pfSense afin d'éléver facilement et concrètement le niveau de sécurité apporté sur un réseau local.
Initialement conçu comme une évolution de l'outil pfBlocker, pfBlockerNG ("Next Generation") a été lancé pour répondre à des besoins croissants en matière de sécurité réseau. Sa popularité repose sur les fonctionnalités supplémentaires qu'il apporte à pfSense.
Les fonctionnalités offertes par pfBlockerNG
pfBlockerNG propose un large éventail de fonctionnalités permettant de contrôler et de protéger le trafic réseau :
- Filtrage géographique : bloquer ou autoriser le trafic en fonction des pays ;
- Gestion des listes noires et blanches : importer et utiliser des listes IP et DNS provenant de sources externes ;
- Filtrage DNS avancé : bloquer des domaines malveillants ou non souhaités ;
- Maîtrise des flux DNS : permet d'intercepter et de rediriger les flux DNS vers le pare-feu afin de les sécuriser et de les filtrer suivant la politique interne à appliquer ;
- SafeSearch : permet de forcer le mode SafeSearch sur les moteurs de recherche compatibles afin de détecter et de ne pas présenter de contenus obscènes ou violents ;
- Rapports et statistiques : visualiser en temps réel le trafic bloqué et les événements liés au pare-feu ;
- Compatibilité avec d’autres outils : s’intègre avec des listes de menace tiers comme Emerging Threats, Spamhaus ou la liste proposée par Provya.
pfBlockerNG vs pfBlockerNG-devel
Depuis plusieurs années, deux packages sont proposés au téléchargement : pfBlockerNG et pfBlockerNG-devel. Le premier étant le package recommandé en production et le second étant la version de développement plus complète et offrant une granularité de paramétrages plus fine, mais au prix d'une stabilité plus perfectible car en développement soutenu.
Les différences entre les deux versions sont aujourd'hui assez minimes. Si l'on recherche la stabilité avant tout, c'est clairement le package pfBlockerNG qu'il faudra utiliser. Si l'on recherche la nouveauté au risque d'une instabilité plus forte, on pourra utiliser le package pfBlockerNG-devel.
Pour un environnement de production (entreprise, école, ...), nous recommandons le package pfBlockerNG.
Pour un environnement de test ou personnel et si l'interruption de services n'est pas critique, on pourra s'orienter vers le package pfBlockerNG-devel, si on le souhaite.
Installation de pfBlockerNG
Pour installer pfBlockerNG, se connecter sur l'interface d'administration de pfSense et se rendre dans le menu System > Package Manager :
Basculer sur l'onglet Available Packages, lancer une recherche sur pfBlockerNG et installer le package :
Une fois le package installé, se rendre dans le menu Firewall > pfBlockerNG :
Première configuration de pfBlockerNG
Lors de la première configuration de pfBlockerNG, nous sommes dirigé vers un guide d'installation (wizard) permettant de réaliser la configuration initiale.
Pour démarrer le guide d'installation, cliquer sur le bouton Next :
La première étape consiste à caractériser chaque interface en précisant s'il s'agit d'une interface exposée sur Internet et dont on va chercher à filtrer le trafic entrant ou s'il s'agit d'une interface locale dont on va chercher à filtrer le trafic sortant.
Cette catégorisation va permettre à pfBlockerNG d'appliquer des traitements automatiques sur chaque interface en fonction de la catégorie qui lui a été attribuée. Il est évidemment possible d'empêcher pfBlockerNG de générer des règles automatiques si l'on souhaite configurer manuellement ses propres règles ; et il sera possible de modifier cette catégorisation si l'on s'est trompé ou si l'on souhaite ajouter une nouvelle interface sur notre réseau.
Ainsi, pour la première liste (Select Inbound Firewall Interface), sélectionner les interfaces WAN (c'est-à-dire donnant accès à Internet).
Pour la seconde liste (Select Outbound Firewall Interface), sélectionner les interfaces locales.
Puis, cliquer sur le bouton Next pour passer à l'étape suivante :
L'étape suivante consiste à choisir une adresse IP virtuelle pour pfBlockerNG et d'autres paramètres liés à la résolution DNS.
Pour intercepter correctement les requêtes DNS, pfBlockerNG a besoin de disposer d'une adresse IP virtuelle. Cette adresse IP virtuelle sera utilisée lors de l'interception des requêtes DNS à destination des domaines bloqués (par exemple, des sites malveillants ou indésirables). Lorsqu'un domaine est identifié comme devant être bloqué, pfBlockerNG renvoie l'adresse IP virtuelle (VIP) au lieu de l'adresse réelle du domaine. Cela permet de rediriger les utilisateurs vers une page de blocage ou simplement d'interrompre la connexion.
Par défaut, pfBlockerNG propose d'utiliser l'adresse IP 10.10.10.1. Il est indispensable que cette adresse IP ne soit pas déjà utilisée sur le réseau. Si c'est le cas, il faudra choisir une autre adresse IP privée appartenant à la plage RFC1918 (comme 10.x.x.x, 192.168.x.x, ou 172.16.x.x).
Nous pouvons ensuite préciser les ports d'écoute pour les interceptions des requêtes DNS. Sauf si nous savons ce que nous faisons, il n'y a a priori pas de raison de modifier ces ports.
Enfin, nous pouvons cocher la case IPv6 DNSBL afin d'activer le filtrage des flux DNS pour les réseaux IPv6, puis cliquer sur le bouton Next :
C'est fini. Nous devrions obtenir un message final nous indiquant que la configuration initiale de pfBlocker est terminée ; il restera à cliquer sur le bouton Finish :
Après avoir cliqué sur le bouton Finish, pfBlockerNG va automatiquement se mettre à jour. La mise à jour est terminée dès qu'apparaît dans le champ Log la mention UPDATE PROCESS ENDED :
Introduction aux différents onglets de pfBlockerNG
La configuration et l'utilisation de pfBlockerNG s'organise sous la forme d'onglets. Chaque onglet correspond à des paramètres globaux ou à une fonctionnalité spécifique de pfBlockerNG.
Nous proposons ici de présenter le périmètre que couvre chaque onglet.
Onglet General
L'onglet General est le point d'entrée permettant d'activer et configurer les paramètres globaux du package.
Il permet d’activer ou de désactiver pfBlockerNG, de gérer les fréquences de mises à jour automatiques et de préciser le nombre de lignes qu'il faut conserver dans les fichiers de journalisation.
Onglet IP
L'onglet IP est dédié à la gestion des listes d'adresses IP pour le filtrage réseau.
Il permet de configurer et de gérer des listes IP provenant de sources externes ou personnalisées afin de bloquer ou autoriser des adresses spécifiques (IP à risque, IP identifiées comme étant offensives, IP hébergeant des malwares, ...)
Cet onglet permet également d'activer le filtrage géographique (GeoIP), permettant de restreindre le trafic en fonction des pays.
Enfin cet onglet permet de définir comment les règles de filtrage automatique doivent être créées et où elles doivent l'être (sur les interfaces elles-même ou sur l'interface floating).
Onglet DNSBL
L'onglet DNSBL est conçu pour gérer le filtrage DNS : configurer les listes de blocage (Blacklist) ou d’autorisation (Whitelist) ; définir des comportements spécifiques comme le mode de blocage (rediriger vers une page personnalisée, par exemple).
Onglet Update
L'onglet Update permet de lancer les mises à jour manuelles. Les mises à jour de pfBlockerNG se font automatiquement à intervalle régulier, mais il est possible de forcer une mise à jour manuelle après une modification par exemple.
Onglet Reports
L'onglet Reports fournit une vue détaillée des activités de filtrage réalisées par le package.
Il permet de consulter les journaux relatifs aux domaines et adresses IP bloqués ou autorisés, en temps réel ou sur une période définie.
Cet onglet est très pratique pour analyser l’efficacité des règles de filtrage, identifier les menaces potentielles ou comprendre le comportement réseau des utilisateurs.
Les rapports peuvent être filtrés par source, destination ou type de blocage (DNSBL ou IP).
Onglet Feeds
L'onglet Feeds est dédié à la gestion des flux de données (feeds) externes utilisés pour alimenter les listes de blocage IP et DNSBL.
Il permet de sélectionner, d'ajouter ou de modifier des sources fiables fournissant des informations sur les adresses IP malveillantes, les domaines indésirables ou les menaces connues.
Cet onglet propose une large bibliothèque de flux préconfigurés, couvrant des besoins variés comme la protection contre les botnets ou le spam.
Onglet Logs
L'onglet Logs est conçu pour surveiller et analyser les événements générés par le package.
Il offre un accès détaillé aux journaux relatifs aux activités de blocage ou d’autorisation, qu’il s’agisse de filtrage IP ou DNSBL.
Cet onglet permet de visualiser les adresses IP et domaines interceptés, les interfaces concernées, ainsi que les heures et dates des événements.
Onglet Sync
L'onglet Sync est utilisé pour synchroniser les configurations du package entre plusieurs appareils pfSense.
Il est particulièrement utile dans des environnements disposant de plusieurs firewalls, comme des installations en haute disponibilité (HA).
Cet onglet permet de définir un appareil principal (Primary) qui partage ses paramètres avec des appareils secondaires (Secondary), garantissant une cohérence des règles de filtrage IP et DNSBL sur l’ensemble du réseau.
Conclusion
pfBlockerNG est un outil très utile et efficace pour renforcer la sécurité et le contrôle du trafic réseau sous pfSense.
Ce tutoriel a couvert les bases de son installation, de sa configuraiton initiale, et une présentation globale de son interface.
Les aspects avancés, comme le filtrage géographique ou DNS, seront abordés dans de futurs articles à paraître très prochainement !
Pour aller plus loin
[pfSense] Configurer un cluster de 2 pfSense redondants (failover)
[pfSense / OPNsense] Filtrer les adresses IP à risque
Tous nos articles classés par thème
Voir un article au hasard
Vous avez aimé cet article ? Vous cherchez un pare-feu de qualité ? Alors rendez-vous sur notre boutique en ligne.
Retrouvez nos services et firewall pour pfSense
store.provya.fr
Tags de l'article : pfBlockerNGpfSense
Depuis mai 2024, l'installation de pfSense nécessite obligatoirement une connexion Internet et l'utilisation du client Netgate Installer.
Nous présentons dans ce tuto comment installer pfSense avec cette méthode.
Principe de fonctionnement
Jusqu'en mai 2024, il était possible de télécharger une image d'installation de pfSense que l'on pouvait ensuite installer hors-ligne en utilisant un cd ou une clef usb.
Cette méthode d'installation simple et efficace n'est officiellement plus proposée par Netgate, l'éditeur du logiciel pfSense.
Il faut dorénavant passer un logiciel tiers appelé "Netgate installer" permettant d'installer pfSense CE (la version communautaire sur base open-source) ou pfSense+ (la version propriétaire payante).
Nous présentons dans cet article les étapes à suivre pour installer pfSense.
Cependant, nous présenterons en fin d'article comment télécharger les dernières versions de pfSense (jusqu'à pfSense 2.7.2) directement au format iso ou img ; cette solution a l'avantage de permettre une installation hors-ligne.
Télécharger pfSense 2.7.2 directement
Firewall avec pfSense pré-installé
Vous recherchez un pare-feu avec pfSense déjà installé dessus ?
Nous proposons sur notre boutique en ligne des pare-feux disposant de 2 à 36 ports réseaux, avec connectiques Gbps, 10GbE, SFP+ fibre, etc.
Tous nos pare-feux disposent d'une garantie 3 à 5 ans.
1. Télécharger Netgate Installer
La première étape consiste à télécharger le logiciel Netgate Installer.
1/ Téléchargement direct
La solution la plus directe, sans avoir besoin de se créer un compte, est de télécharger Netgate Installer via le lien suivant : https://provya.fr/download/netgate-installer-amd64.img.gz.
2/ Téléchargement sur le site de l'éditeur
On peut également se rendre sur le site de l'éditeur, pour le menu déroulant "Installation Image", choisir AMD64 Memstick USB, puis cliquer sur le bouton Add to cart :
Il faut ensuite aller jusqu'au bout de la commande (il sera nécessaire de se créer un compte). Et enfin, il sera possible de télécharger le logiciel Netgate Installer.
Limites
Si l'on dispose d'une connexion Internet via PPP (PPPoE, L2TP, PPTP ou PPP), alors l'installateur Netgate ne fonctionnera pas.
Jusqu'à pfSense 2.7.2, nous pourrons télécharger directement un installateur hors-ligne au format iso ou img (cf. notre paragraphe Télécharger pfSense 2.7.2 directement).
2. Préparer sa clef USB d'installation
L'image téléchargée est compressée au format gzip. Il faut donc commencer par la décompresser.
Sous Windows, l'outil 7-Zip fera parfaitement l'affaire.
Sous BSD, GNU/Linux, Mac, il suffira de faire un clic-droit, puis extraire-ici ou de la décompresser avec la commande suivante :
gzip -d
Il faudra ensuite écrire l'image sur une clef usb.
Sous Windows, GNU/Linux et Mac, le logiciel Etcher permet très facilement de créer une clef USB bootable.
Pour une procédure plus détaillée (en anglais) : https://docs.netgate.com/reference/create-flash-media.html.
3. Démarrer l'installation
Il faudra s'équiper d'un clavier, de la clef usb et d'un écran.
Si le firewall ne démarre pas sur la clef usb, il faudra se rendre dans le Bios/Firmware de celui-ci afin de modifier l'ordre de démarrage.
Pour un firewall Provya, il suffit d'appuyer à plusieurs reprises sur la touche "Suppr" lors de la mise sous tension de l'appareil. Se déplacer ensuite sur le dernier onglet "Save & Exit" et dans la rubrique Boot Override, choisir la ligne correspondant à sa clef USB (dans notre cas "UEFI: USB DISK 2.0 PMAP") :
Appuyer sur Entrée et le firewall devrait redémarrer sur la clef USB.
Licence
Le premier écran présente la licence d'utilisation du logiciel pfSense que l'utilisateur doit accepter pour démarrer l'installation.
Appuyer sur Entrée pour accepter les conditions et continuer.
Menu d'accueil
Ensuite, le programme d'installation invite soit à démarrer l'installation de pfSense, soit à lancer la console de récupération.
Utiliser les flèches directionnelles pour sélectionner une option, puis appuyer sur Entrée. Dans notre cas, nous choisissons Install.
Récupération de la configuration
Le programme d'installation recherche s'il existe une configuration déjà présente sur le firewall ou sur la clef usb. Si c'est le cas, il propose de la conserver.
Le choix Continue permet de repartir sur une installation de base.
Si aucune configuration n'est trouvée, cette étape est sautée.
Configuration du réseau
Comme il s'agit d'un programme d'installation en ligne, il nécessite une connexion réseau pour télécharger les paquets d'installation à partir des serveurs Netgate. Pour configurer le réseau, l'installateur doit connaître le port WAN et le port LAN, ainsi que les détails de configuration de ces réseaux.
Sélection et configuration de l'interface WAN
La première interface à attribuer est l'interface WAN. Il s'agit de l'interface connectée à Internet. Le programme d'installation présente une liste de toutes les interfaces détectées et de leurs adresses MAC, ainsi que leur état de liaison actuel.
Utiliser les flèches directionnelles haut/bas pour sélectionner l'interface WAN et appuyer sur Entrée pour continuer.
Il sera ensuite possible de configurer cette interface WAN : adresse obtenue automatiquement par un serveur DHCP, adresses IP fixe, etc.
Sélection et configuration de l'interface LAN
La deuxième interface à attribuer est l'interface LAN. Il s'agit de l'interface connectée au réseau local.
Bien que ce ne soit pas nécessaire pour le moment, les prochaines versions de l'installateur nécessiteront de disposer d'une connexion LAN correctement configurée.
Utiliser les flèches directionnelles haut/bas pour sélectionner l'interface LAN et appuyer sur Entrée pour continuer.
Il sera également possible de configurer cette interface LAN : adresse obtenue automatiquement par un serveur DHCP, adresses IP fixe, etc.
Confirmer la configuration réseau
Confirmer les choix des interfaces pour poursuivre l'installation. Il est indispensable de disposer d'un accès à Internet fonctionnel à ce stade.
Choix de la version de pfSense
L'installateur va se connecter aux serveurs Netgate afin de vérifier si le matériel dispose d'une clef de licence valide. Si ce n'est pas le cas, il sera proposé soit d'installer pfSense CE (la version communautaire sur base open-source), soit d'acquérir une clef de licence pour pfSense+ (la version propriétaire payante).
Dans notre cas, nous choisissons "Install CE" afin d'installer la version communautaire de pfSense.
Nous retrouvons ensuite la procédure habituelle d'installation de pfSense.
Pour une installation de base, les choix par défaut devraient être les bons.
Pour une installation avec un seul disque, choisir "stripe", pour une installation avec deux disques, choisir "mirror".
Fin de l'installation
Une fois l'installation terminée, le programme demandera de redémarrer le firewall.
Lors du redémarrage, il sera possible de retirer la clef usb.
Félicitations, pfSense est installé. Il est possible de prendre la main sur le firewall depuis le port LAN sur l'adresse IP configurée aux étapes précédentes (https://192.168.1.1 par défaut).
Télécharger pfSense 2.7.2 directement
L'université du Dakota dispose d'un dépôt de téléchargement de pfSense. Depuis ce dépôt, il est possible de retrouver les dernières versions de pfSense CE jusqu'à la version 2.7.2
L'URL est la suivante : https://repo.ialab.dsu.edu/pfsense/.
Il faudra préparer une clef usb bootable comme décrit au paragraphe 2. Préparer sa clef USB d'installation.
Pour aller plus loin
pfSense 2.7.2 est disponible
Évolutions et actualités du logiciel pfSense
Avec pfSense Plus, l'avenir de pfSense ne sera pas (que) open-source
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
store.provya.fr
Tags de l'article : installationpfSensepfSense Plus
Jeudi 07 décembre 2023 est sortie la dernière version de pfSense. La version 2.7.2.
Cette nouvelle version intervient moins d'un mois après la sortie de pfSense 2.7.1.
pfSense 2.7.2 corrige principalement des problèmes potentiels de corruption du système de fichiers ZFS, ainsi que d'autres bugs et problèmes de sécurité.
Dans cet article, nous faisons le tour rapide des éléments marquants de cette mise à jour.
Changements principaux
Cette toute nouvelle version de pfSense vise principalement à corriger des problèmes avec le système de fichiers ZFS.
En effet, peu de temps après la sortie de pfSense 2.7.1, plusieurs anomalies sérieuses ont été annoncées, puis rapidement corrigées, sur FreeBSD 14 (le système d'exploitation sur lequel repose pfSense).
Dans le détail, pfSense 2.7.2 comporte des modifications relatives à trois problèmes liés au système de fichiers ZFS, dont deux pourraient entraîner une corruption des données.
Le premier est lié au clonage de blocs, une fonctionnalité de ZFS qui n'est actuellement pas activée dans le logiciel pfSense.
Le second est lié au signalement de trous dans les fichiers sparse. C'est un cas normalement très difficile à rencontrer dans le cadre d'une utilisation typique sur un système équipé du logiciel pfSense. Cependant, étant donné que d'autres problèmes de corruption de données ont été rapportés dans la même zone par le passé, l'éditeur a préféré intégrer rapidement les corrections proposées par FreeBSD. Cette correction peut entraîner une légère augmentation de l'espace de stockage utilisé.
Enfin, pfSense 2.7.2 corrige également un troisième problème ZFS qui peut entraîner une utilisation élevée du processeur.
En plus de ces problèmes spécifiques à ZFS, cette nouvelle version apporte également les correctifs suivants :
- Correction d'un avis de sécurité concernant une attaque potentielle par déni de service sur la pile TCP à partir de paquets RST usurpés ;
- Mise à jour d'OpenVPN vers la version 2.6.8_1 ;
- Mise à jour de strongSwan (IPsec) pour résoudre un problème potentiel de dépassement de mémoire tampon (CVE-2023-41913) ;
- Correction de bugs dans l'implémentation du fallback de AES-GCM ;
- Correction de plusieurs erreurs PHP sur les pages de création d'une interface PPP et de modification du service DHCPv6
- Plusieurs autres bugs, failles de sécurité et autres problèmes mineurs ont également été corrigés
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
Si votre pfSense est installé sur un système de fichiers ZFS, pensez à créer un point de restauration.
Dans tous les cas, 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.7.2 New Features and Changes [EN]
Pour aller plus loin
pfSense 2.7.2 est disponible
Évolutions et actualités du logiciel pfSense
Avec pfSense Plus, l'avenir de pfSense ne sera pas (que) open-source
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
store.provya.fr
Tags de l'article : mise à jour pfSensepfSenseupgrade
Jeudi 16 novembre 2023 est sortie la dernière version de pfSense. La version 2.7.1.
Dans cet article, nous faisons le tour rapide des éléments marquants de cette mise à jour.
OpenSSL mis à jour vers la version 3.0.12
pfSense embarquait jusqu'à présent OpenSSL en version 1.1.1. Il s'agit d'une vieille version d'OpenSSL dont la date de fin de vie (EOL) était dépassée.
La mise à niveau vers OpenSSL 3.0.12 signifie qu'un certain nombre d'algorithmes de chiffrement et de hachage, aujourd'hui considérés comme trop faibles, ont été supprimés.
Il est donc très important de s'assurer ces algorithmes ne sont pas utilisés avant de mettre à jour son firewall pfSense !
Les algorithmes de chiffrement supprimés sont :
- ARIA
- Blowfish (notamment BF-CBC, qui était auparavant un algorithme par défaut d'OpenVPN)
- CAST5
- DES
- DESX
- IDEA
- RC2
- RC5
- SEED
- SM4
Les algorithmes de hachage retirés sont :
Le serveur Kea DHCP est proposé en option
Le serveur DHCP de Kea est proposé en option "opt-in".
Qu'est-ce que Kea DHCP ?
L'Internet Systems Consortium (ISC) distribue deux serveurs DHCP complets à code source ouvert : Kea DHCP et ISC DHCP.
L'ISC a annoncé la fin de vie (EOL) du serveur DHCP ISC qui est jusqu'à présent embarqué dans pfSense pour servir de serveur DHCP.
Kea est plus récent, comprend toutes les fonctionnalités les plus demandées et est conçu pour un environnement réseau plus moderne. Bref, il était plus que temps de mettre à jour.
Pour le moment Kea est proposé à titre expérimental. Certaines fonctionnalités ne sont pas supportées.
Notamment si vous utilisez l'attribution de nom d'hôte via des baux statiques ou si vous vous appuyez sur l'enregistrement dynamique des baux DHCP dans votre configuration DNS, cela ne fonctionnera pas correctement avec Kea. Il faudra rester sur ISC pour le moment.
De la même manière, Kea ne supporte pas pour le moment les installations de pfSense en haute-disponibilité.
Si vous souhaitez activer et tester Kea, la procédure est la suivante :
- Se rendre dans le menu System > Advanced
- Onglet Networking
- Modifier la valeur de Server Backend à Kea DHCP
- Cliquer sur le bouton Save en bas de page.
Amélioration de la prise en charge du protocole SCTP
Le support de SCTP a été amélioré dans PF pour les règles de pare-feu, NAT et la journalisation.
Les règles peuvent maintenant agir sur les paquets SCTP par numéro de port. Auparavant, il n'était possible de filtrer que sur l'adresse source ou l'adresse de destination.
Pour rappel, SCTP (Stream Control Transmission Protocol) est un protocole de la couche transport qui garantit un transport fiable des données en séquence.
La section de configuration IPv6 Router a été déplacée
Dans le cadre de l'intégration du serveur DHCP Kea, la section permettant la configuration des IPv6 Router Advertisement a été déplacée dans le menu Services > Router Advertisement.
Autres changements
Les changements suivants sont aussi à noter :
- PHP mis à jour vers la version 8.2.11
- FreeBSD 14 a été mis à jour vers sa version la plus récente disponible
- Plusieurs bugs, failles de sécurité et autres problèmes mineurs ont également été corrigés
Avant de mettre à jour
Avant de lancer une mise à jour, il faut impérativement s'assurer que l'on n'utilise aucun algorithme de chiffrement ou de hachage qui a été retiré :
Les algorithmes de chiffrement supprimés sont :
- ARIA
- Blowfish (notamment BF-CBC, qui était auparavant un algorithme par défaut d'OpenVPN)
- CAST5
- DES
- DESX
- IDEA
- RC2
- RC5
- SEED
- SM4
Les algorithmes de hachage retirés sont :
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
Si votre pfSense est installé sur un système de fichiers ZFS, pensez à créer un point de restauration.
Dans tous les cas, 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.7.1 New Features and Changes [EN]
Pour aller plus loin
[pfSense] La puissance de ZFS pour des mises à jour et des retours arrière en toute sérénité
[pfSense] Mettre à jour son serveur pfSense
[pfSense] Configurer un cluster de 2 pfSense redondants (failover)
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
store.provya.fr
Tags de l'article : mise à jour pfSensepfSense
Netgate, l'éditeur du logiciel pfSense, a annoncé le 10/11/2023 que le package Squid (proxy) serait retiré des prochaines versions de pfSense pour des raisons de sécurité.
C'est à travers une annonce pour le moins lapidaire que l'éditeur du logiciel pfSense a averti sur son blog du retrait prochain du package Squid.
Squid, qu'est-ce que c'est ?
Squid est un serveur mandataire (ou proxy).
Squid offre, notamment, les fonctionnalités suivantes :
- accélération de la navigation : mise en cache et réutilisation du contenu web fréquemment consulté afin de réduire l'utilisation de la bande passante ;
- historique (logs) : journalisation des requêtes ;
- la sécurité du réseau local ;
- le filtrage : restrictions de sites, blocage des publicités ou des contenus lourds.
Squid est très sûrement le serveur mandataire le plus utilisé au monde. On le retrouve dans de très nombreux produits open-source ou propriétaires.
Failles de sécurité non résolues dans Squid
Netgate souligne que plusieurs rapports récents ont identifié un grand nombre de failles de sécurité non résolues dans Squid.
En fait, l'affaire remonte à un audit de sécurité mené par Joshua Rogers, un chercheur en sécurité, réalisé en 2021.
Lors de son audit, Joshua a découvert 55 failles de sécurité et 26 bugs non liés à la sécurité.
L'ensemble de ces éléments a été rapporté aux développeurs de Squid.
Toujours d'après Joshua, seulement une poignée de ces failles ont été corrigées plus de deux ans après : trente-cinq d'entre elles n'ont reçu aucun correctif.
Le chercheur précise que "l'équipe Squid a été d'une grande aide et d'un grand soutien tout au long du processus de signalement de ces problèmes. Cependant, elle manque de personnel et n'a tout simplement pas les ressources nécessaires pour résoudre les problèmes découverts. Le fait de leur demander de résoudre ces problèmes ne mènera à rien".
Au vu de ces éléments, Netgate, l'éditeur du logiciel pfSense, considère désormais que le package Squid, ainsi que les packages additionnels Lightsquid et SquidGuard, sont "obsolètes".
Ces packages continueront à être disponibles dans la prochaine mouture de pfSense, la version 2.7.1, qui devrait sortir cette semaine, mais ils seront en revanche retirés des versions suivantes.
Quelles solutions de remplacement ?
Dans l'immédiat, Squid peut toujours être utilisé ; il n'a pas été retiré de pfSense pour le moment, mais il devrait l'être à partir de pfSense 2.8.0.
Ceci étant, la version de Squid proposée sous pfSense est concernée par les failles de sécurité remontées par Joshua Rogers. Il peut donc être préférable d'envisager une solution alternative à Squid.
Pour le filtrage des noms de domaine, il est possible de se pencher sur les solutions à base de filtrage DNS. Sous pfSense, cette solution peut être implémentée avec le package pfBlockerNG.
Côté OPNsense, des solutions de filtrage DNS sont déjà implémentées ; il suffit de les configurer en fonction de ses besoins.
Enfin, côté OPNsense, il est possible d'opter pour le plugin Zenarmor. Il s'agit d'une solution très complète pour le filtrage des accès à Internet avec des possibilités de personnalisations avancées.
Zenarmor fera d'ailleurs l'objet d'un prochain article.
Si vous souhaitez obtenir davantage d'informations sur le sujet (en anglais), vous pouvez consulter les liens suivants :
Deprecation of Squid Add-On Package For pfSense Software
Squid games: 35 security holes still unpatched in proxy after 2 years, now public
Squid Caching Proxy Security Audit: 55 Vulnerabilities, 35 0days
Dozens of Squid Proxy Vulnerabilities Remain Unpatched 2 Years After Disclosure
55 Vulnerabilities in Squid Caching Proxy and 35 0days
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
store.provya.fr
Tags de l'article : pfSensesécuritéSquid
Il est possible de mettre à jour son pfSense avec un système de correctifs (patches). Ces patches permettent de corriger des failles de sécurité ou bogues entre deux mises à jour de pfSense.
Dans cet article, nous présentons le mode de fonctionnement des correctifs.
Mettre à jour son firewall pfSense
Disposer d'un firewall à jour est une nécessité. Le firewall assurant généralement la sécurité périmétrique du réseau d'une entreprise, il paraît indispensable que cet outil soit correctement et régulièrement mis à jour.
Certains firewall proposent des mises à jour très régulièrement. C'est le cas notamment d'OPNsense : il y a 2 mises à jour majeures par an (en janvier et en juillet) et une succession de mises à jour intermédiaires (généralement toutes les deux à trois semaines en moyenne) permettant de corriger les bugs ou failles de sécurité découverts.
pfSense Plus, la version non open-source et payante de pfSense, propose quant à elle des mises à jour trois fois par an (janvier, mai et septembre). L'éditeur a cependant régulièrement un peu de retard dans son cycle de publication (par exemple, la version bêta de pfSense Plus 23.09 a été publiée mi-octobre 2023 alors que le calendrier de sortie prévoyait une publication de la version finale en septembre...).
Enfin, pfSense (dans sa version communautaire) propose des mises à jour "quand c'est prêt". Le temps peut parfois être long entre deux mises à jour du système (un an à un an et demi, en moyenne).
Cependant, il existe une fonctionnalité plutôt méconnue sur pfSense (ainsi que sur pfSense Plus) permettant d'installer des correctifs entre deux mises à jour. Un certain nombre de ces correctifs est recommandé par l'éditeur. Il est donc conseillé d'appliquer ces correctifs recommandés lorsqu'ils sont disponibles.
Patcher son firewall pfSense
Pour installer des correctifs, il faudra tout d'abord installer le package "System Patches". Pour cela, se rendre dans le menu System > Package Manager :
Cliquer sur l'onglet "Available Packages" et faire une recherche sur le mot-clef "patch". Installer ensuite le package en cliquant sur le bouton "Install" :
Une fois le package System_Patches installé, nous pouvons le retrouver depuis le menu System > Patches :
Cette page permet d'appliquer des correctifs, que ce soit des correctifs officiels ou non.
Dans le cas présent, c'est la liste des correctifs recommandés qui nous intéresse :
Sur la capture d'écran ci-dessus, nous pouvons voir qu'il y a sept correctifs recommandés pour pfSense 2.7.0, dont un (le dernier) qui a déjà été installé.
Pour installer les correctifs recommandés, nous cliquons simplement sur le bouton "Apply All Recommended". L'application est immédiate. Aucun redémarrage n'est nécessaire.
Retirer un correctif installé
Enfin, il est tout à fait possible de retirer un correctif installé. Nous pouvons soit cliquer sur le bouton "Revert" associé au correctif que l'on souhaite retirer, soit cliquer sur le bouton "Revert All Recommended". L'action est immédiate. Aucun redémarrage n'est nécessaire.
Cette page d'application des correctifs offre d'autres possibilités avancées que nous ne détaillons pas ici. L'objectif était de présenter une bonne pratique méconnue d'installation de correctifs entre deux mise à jour de pfSense.
Maintenant, il ne vous reste plus qu'à patcher !
Pour aller plus loin
[pfSense] La puissance de ZFS pour des mises à jour et des retours arrière en toute sérénité
[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
store.provya.fr
Tags de l'article : mise à jour pfSensepfSense
Jeudi 29 juin 2023 est sortie la dernière version de pfSense. La version 2.7.0.
Dans cet article, nous faisons le tour rapide des éléments marquants de cette mise à jour.
Changements principaux
Les principaux changements ou mises à jour sont les suivants :
- passage de FreeBSD 12 à FreeBSD 14 : bascule de la branche stable/12 vers la branche current/14. Nous expliquions plus en détails ce changement dans notre article Évolutions et actualités du logiciel pfSense
- passage de PHP 7.4.x à PHP 8.2.x
- plusieurs anciens algorithmes de chiffrement ou de hachage ont été dépréciés
- il ne sera bientôt plus possible de créer des tunnels OpenVPN à clefs partagées
- l'outil de capture de paquets a été grandement amélioré
Dans la suite de cet article, nous présentons les autres principales évolutions.
Gestion des règles de filtrage
L'utilisation et la modification des règles de firewall ont été améliorées.
Il est possible de tuer les états liés à une règle de filtrage en particulier :
La duplication d'une règle d'une interface à une autre a également été facilitée avec un nouveau bouton permettant une copie assistée :
OpenVPN
Mise à jour d'OpenVPN vers la version 2.6.4.
La création de tunnels OpenVPN site-à-site à clef partagée est fortement déconseillée. Il faut privilégier l'utilisation de certificats.
On peut continuer à créer de nouveaux tunnels à clef partagée, mais cela générera des alertes dans les logs.
À l'avenir, il faudra migrer ses tunnels à clef partagée vers des tunnels avec certificats.
Une alerte est affichée si l'on choisi "Peer to peer (Shared Key)"
IPsec
Le passage de FreeBSD 12 à FreeBSD 14 a entraîné le déclassement d'un certain nombre d'algorithmes de chiffrement ou de hachage.
Les algorithmes suivants ne sont plus supportés :
- 3DES
- Blowfish
- CAST 128
- MD5
Si vous utilisez ces algorithmes pour vos accès IPsec, il faudra modifier vos configurations avant de pouvoir mettre à jour vers pfSense 2.7.0.
De toute façon, si vous êtes utilisateurs de ces algorithmes, il est plus que temps de modifier vos configurations car celles-ci sont considérées comme non-sûres depuis déjà plusieurs années.
Enfin, il a été ajouté le supporte de l'algorithme ChaCha20-Poly1305 pour les connexions IPsec.
Troubleshooting / capture de paquets
L'outil de capture de paquets s'est enrichi. C'est tant mieux car il faisait franchement obsolète lorsqu'on le comparait à celui intégré à OPNsense (note : il faut bien reconnaître que pfSense en général paraît bien obsolète lorsqu'on le compare à OPNsense...).
Il est possible d'appliquer davantage de filtres sur ce que l'on souhaite capturer.
La nouvelle interface ressemble à ceci :
Alias
Il s'agit ici principalement de la correction de bugs, dont notamment :
- un bug faisant que certains alias ne se chargeaient pas complètement lorsqu'ils contenaient un mélange d'adresses IP et de FQDN
- lorsqu'un alias contenait un FQDN non-résolu, cela pouvait casser le contenu de l'alias (les autres entrées n'étaient pas correctement chargées)
- lors de l'import / export d'alias, les descriptions pouvaient être perdues
- lorsque l'on renommait un alias, cela ne mettait pas forcément à jour les routes statiques associées ou les instances OpenVPN
Unbound
La version d'Unbound embarquée sur pfSense 2.6 était franchement obsolète et comportait des bugs. La mise à jour corrige ces bugs.
Il y avait notamment un vieux bug qui traînait depuis quelques années qui, dans certaines configurations avec pfBlockerNG, pouvait faire planter Unbound lors d'un redémarrage. C'est corrigé.
Sécurité
Comme pour toute mise à jour, pfSense 2.7.0 apporte son lot de corrections de sécurité.
La plupart des problèmes de sécurité pouvait déjà être corrigée grâce au system patch (qui permet l'application de correctifs entre deux mises à jour de pfSense).
La plupart des failles de sécurité détectées concernait la gestion des alias et notamment des alias de type URL et URL Table.
Pour un rappel complet sur le fonctionnement des alias, voir notre article dédié : [pfSense] Tout comprendre aux alias.
Les problèmes étaient des failles de type XSS. Il est à noter qu'il y avait également d'autres vulnérabilités XSS potentielles sur certaines pages de l'interface web de pfSense.
Autre point lié à la sécurité : il était possible de contourner la protection contre les attaques par force brute (sshguard) avec des entêtes particulières. En simplifiant, il suffisait d'inclure dans ses entêtes la référence à un proxy pour empêcher que son adresse IP ne puisse être bloquée.
Bugs
Les principaux bugs corrigés sont :
- Il était possible d'utiliser des mots clefs réservés par PF (packet filter) dans le champ description des interfaces (comme par exemple USER = "{ vtnet2 }" ). Dans son mode de fonctionnement, pfSense crée des alias implicites pour chaque interface. Utiliser un mot clef réservé faisait que le chargement des règles de filtrage plantait.
- Lors du démarrage du firewall, les VIP CARP peuvent devenir maîtres trop tôt ce qui pouvait entraîner le fait d'avoir plusieurs master sur le réseau pendant quelques dizaines de secondes.
- Lorsque qu'on sortait CARP du mode "persistent maintenance mode", cela pouvait générer une tempête de broadcast d'événement CARP.
- Si on changeait l'adresse IP et la passerelle d'une interface depuis la console, il pouvait arriver que la nouvelle passerelle ne soit pas correctement enregistrée.
- Certains utilisateurs rencontraient des problèmes avec UPnP (notamment pour les jeux en ligne).
- Pas mal de petits bugs du côté du portail captif ont été corrigés également.
Améliorations
Pas mal d'améliorations. Les principales sont :
- Ajout d'une option sur l'interface graphique pour sélectionner l'algorithme de hachage du mot de passe utilisateur (on a dorénavant le choix entre bcrypt [par défaut] et SHA-512).
- Ajout d'une option pour activer/désactiver la sonnerie de la console lorsque l'on se connecte sur le firewall (avant, il fallait passer les system tunables et jouer avec la valeur du paramètre kern.vt.enable_bell).
- Lors d'une restauration, il est maintenant possible de restaurer uniquement l'emplacement des widget sur le tableau de bord.
- Lorsque l'on renouvelle un certificat, il est maintenant proposé une option pour conserver le numéro de série existant.
- Meilleure lisibilité des baux DHCP : il y a maintenant une distinction entre les entrées en ligne et les entrées inactives/hors ligne dans la liste des baux DHCP.
- Le portail captif reposait jusqu'à présent sur IPFW (ipfirewall), il repose désormais sur PF (Packet Filter).
- Ajout de nouvelles options de destruction de l'état de la passerelle pour un basculement plus fluide.
Avant de mettre à jour
Avant de lancer une mise à jour, il faut impérativement s'assurer sur ses liens IPsec n'utilisent pas un algorithme de chiffrement déprécié (3DES, Blowfish, CAST 128, MD5).
Concernant les tunnels OpenVPN à clefs partagées, il est recommandé de les migrer vers une configuration avec certificats avant de lancer la mise à jour (ce n'est pas obligatoire, mais fortement recommandé).
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
Si votre pfSense est installé sur un système de fichiers ZFS, pensez à créer un point de restauration.
Dans tous les cas, 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.7.0 New Features and Changes [EN]
Pour aller plus loin
[pfSense] La puissance de ZFS pour des mises à jour et des retours arrière en toute sérénité
[pfSense] Mettre à jour son serveur pfSense
[pfSense] Tout comprendre aux alias
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
store.provya.fr
Tags de l'article : mise à jour pfSensepfSense
Il peut parfois arriver que l'on se bloque l'accès au firewall pfSense.
Il peut y avoir plusieurs raisons à cela : une mauvaise manipulation, la saisie d'un trop grand nombre de mots de passe erronés, un firewall qui tourne depuis des années et dont on a égaré les codes d'accès, etc.
L'objectif de cet article est de traiter ces différents cas où l'on n'a plus accès à l'interface du firewall, et les solutions associées.
Dans le pire des cas, si l'on dispose d'un accès physique au firewall, alors il sera toujours possible de reprendre la main dessus.
Il est d'ailleurs important de noter qu'une personne qui dispose d'un accès physique au firewall pourra contourner la totalité des mesures de sécurité.
Mot de passe admin oublié ou perdu
Si le mot de passe a été perdu ou oublié, la solution la plus efficace est de se connecter en console (ou de brancher un clavier et un écran) afin de lancer la réinitialisation du mot de passe admin.
Il faudra choisir l'option 3 :
Cette option permet également de réinitialiser le compte admin s'il est désactivé ou a expiré.
Le mot de passe admin sera réinitialisé à sa valeur par défaut, c'est-à-dire pfsense.
Mot de passe oublié avec l'accès console verrouillé
L'accès à la console peut être protégé par un mot de passe.
Ce n'est pas le mode par défaut pour pfSense, mais cela peut être activé depuis le menu System > Advanced en cochant la case "Password protect the console menu" :
Dans ce cas, un identifiant et un mot de passe sont demandés lors de la connexion en console ou lorsque l'on branche un clavier et un écran au firewall :
Heureusement, tout n'est pas perdu !
La procédure pour réinitialiser le mot de passe est la suivante :
- se brancher sur le firewall (en console ou avec un clavier et un écran)
- redémarrer le firewall et choisir Boot Single User option (2) à partir du menu de chargement avec le logo ASCII
Si on trouve que le menu se déroule trop vite, on peut appuyer sur la touche "espace" pour l'arrêter.
- appuyer sur Entrée lorsque l'on est invité à choisir le shell /bin/sh :
- Il faut ensuite remonter les partitions. La procédure est différente en fonction du système de fichier (filesystem) : UFS ou ZFS.
Pour les systèmes de fichier UFS, la commande à saisir sera la suivante :
# /sbin/mount -a -t ufs
Pour les systèmes de fichier ZFS, les commandes à saisir seront les suivantes :
# /sbin/mount -u /
Si cela retourne une erreur, on peut essayer :
# /sbin/zfs set readonly=off pfSense/ROOT/default
Et enfin :
# /sbin/zfs mount -a
Une fois que le système de fichier est monté, saisir la commande suivante et se laisser guider :
/etc/rc.initial.password
Enfin, il faudra redémarrer le firewall en saisissant la commande suivante :
/sbin/reboot
L'interface web de pfSense ne répond plus...
Il peut y avoir plusieurs raisons à cela.
Une erreur classique est de se tromper de protocole entre HTTP et HTTPS. Si l'un ne fonctionne pas, on peut essayer l'autre.
Si l'interface graphique n'a pas été configurée correctement, il est tout à fait possible que le firewall fasse tourner l'interface web sur une combinaison inattendue de port et de protocole, par exemple :
https://<hostname>:80
http://<hostname>:443
Pour réinitialiser la configuration, on peut se connecter en console (ou brancher un écran et un clavier), faire le choix 2 permettant de reconfigurer l'adresse IP de pfSense sur son interface LAN et de réinitialiser le protocole d'écoute de l'interface web de pfSense.
Une autre possibilité est que l'interface web de pfSense soit plantée. C'est extrêmement rare, mais ça peut toujours arriver. Si l'on souhaite forcer un redémarrage de l'interface web, on peut se connecter en console (ou avec un clavier et un écran) et faire le choix 11 "Restart webConfigurator" :
Une nouvelle règle de filtrage bloque l'accès au firewall
Si un administrateur distant perd l'accès à l'interface graphique en raison d'une modification des règles du pare-feu, l'accès peut toujours être obtenu du côté du LAN.
Par défaut, il n'est pas possible de se couper l'accès à l'interface web de pfSense depuis le LAN, sauf si la règle "anti-lockout" a été désactivée.
Sinon, il est toujours possible de se connecter en console (ou clavier et écran) et supprimer la dernière règle de filtrage qui vient d'être créée.
Il s'agit d'une fonctionnalité très pratique de pfSense : à chaque modification, une sauvegarde locale est effectuée sur le firewall. Ainsi, il est aisé de revenir en arrière.
Dans notre cas, sur la console, on choisira l'option 15 "Restore recent configuration" et on choisira la dernière configuration à restaurer :
Je suis bloqué car j'ai saisi trop de mots de passe erronés
Si l'on tente de se connecter à l'interface web ou en SSH et qu'on échoue à plusieurs reprises, notre adresse IP de connexion sera ajoutée à la liste de blocage.
Pour se débloquer l'accès, il faudra changer l'adresse IP de notre machine pour se connecter à pfSense, puis se rendre dans le menu Diagnostics > Tables et sélectionner sshguard dans la liste des alias disponibles pour supprimer l'adresse IP bloquée.
Il est également possible de faire la même chose en ligne de commande (videra complètement la table "sshguard") :
pfctl -T flush -t sshguard
Activer l'accès à l'interface web sur le WAN depuis une console
Le moyen le plus simple (et le plus propre), si l'on connaît son adresse IP publique est d'utiliser le script shell easyrule pour ajouter une nouvelle règle de filtrage.
Dans l'exemple suivant, le script easyrule autorisera l'accès sur l'interface WAN, de 1.2.3.4 (l'adresse IP du client) à 6.7.8.9 (vraisemblablement l'adresse IP WAN) sur le port TCP 443 :
easyrule pass wan tcp 1.2.3.4 6.7.8.9 443
Dès que la commande aura été saisie, le client (1.2.3.4) pourra se connecter au firewall (6.7.8.9).
Si l'on ne connaît pas son adresse IP publique, il est techniquement possible de créer une règle de type "allow all" sur le firewall. Pour cela, la commande à saisir en console sera la suivante :
pfSsh.php playback enableallowallwan
Une fois que l'administrateur a retrouvé l'accès et corrigé le problème initial qui l'empêchait d'accéder à l'interface web de pfSense, il faut impérativement supprimer la règle "allow all" du WAN.
Je ne m'en sors pas, comment désactiver le firewall ?
Il s'agit là d'une solution très dangereuse, mais qui peut s'avérer pratique dans des cas désespérés (bon dans ces cas-là, il vaut mieux nous appeler plutôt que de prendre de trop gros risques avec la sécurité de votre réseau ;-)
En mode console, on fera le choix 8 (Shell) et on saisira la commande suivante :
pfctl -d
Le firewall pourra ensuite être réactivé avec la commande :
pfctl -e
Le firewall sera aussi réactivé dès que l'on aura créé ou modifié une règle de filtrage et cliqué sur le bouton "Apply changes".
Le proxy Squid me bloque l'accès au firewall !
Cela peut arriver si l'on configure un peu trop vite squid et qu'on lui attribue le port d'écoute de l'interface web de pfSense par exemple.
La solution sera toujours la même : se connecter en console (ou avec un écran et un clavier) afin de reprendre la main.
On fera le choix 8 (Shell) et on saisira la commande suivante :
/usr/local/etc/rc.d/squid.sh stop
Si ça ne fonctionne pas, on pourra plutôt saisir l'une des deux commandes ci-dessous :
killall -9 squid
squid -k shutdown
Une fois que squid est arrêté, il faudra redémarrer l'interface web de pfSense en revenant au menu (saisir "exit" depuis le shell) et en faisant le choix 11 :
Il est à noter qu'il faut ensuite agir sans traîner : squid risque de redémarrer rapidement automatiquement grâce à ses scripts de supervision propres.
Le serveur d'authentification est H.S. - comment faire ?
Si vous vous connectez sur l'interface web de pfSense avec un compte LDAP ou Radius et que le serveur d'authentification est injoignable, pas de soucis : en secours, il est toujours possible de s'identifier avec un utilisateur local (avec le compte admin, par exemple).
Si tous les utilisateurs locaux ont été désactivés ou que les mots de passe ont été perdus, il faudra se connecter en console et faire le choix 3 pour réactiver et remettre à sa valeur par défaut le mot de passe admin.
Les identifiants seront alors :
- utilisateur : admin
- mot de passe : pfsense
Nous avons fait le tour des principaux problèmes d'accès qui peuvent exister !
Ce qu'il faut retenir, c'est qu'il est toujours possible de reprendre la main sur un firewall à partir du moment où l'on dispose d'un accès physique à la machine.
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é ou vous souhaitez approfondir vos connaissances sur pfSense / OPNsense ? Alors contactez-nous.
Retrouvez nos services et firewall pour pfSense
store.provya.fr
Tags de l'article : pfSense
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.
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
store.provya.fr
Tags de l'article : pfSense