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
Dans cet article nous présentons une solution afin de filtrer les adresses IP publiques réputées à risques ou hébergeant des malwares ou des contenus malveillants.
Il s'agit d'une solution intéressante et très rapide à mettre en œuvre sur ses firewall.
Nous présenterons deux solutions : une gratuite et une payante.
Filtrer les IP à risque, pourquoi ?
Une bonne pratique de sécurité informatique est d'empêcher le trafic à destination ou provenant de sources réputées à risque. C'est-à-dire le trafic vers ou à destination de serveurs ou d'adresses IP hébergeant des virus, des malwares, du contenu malveillant ou aux mains de pirates informatiques.
Cela apporte une couche de sécurité pour le trafic internet sortant : en cas de détournement DNS ou d'infection par un vers ou un malware, du trafic est généralement émis ou redirigé vers des serveurs frauduleux. Essayer de détecter ces serveurs et de bloquer le trafic à leur destination est une bonne approche.
De la même manière, lorsqu'une entreprise héberge un service comme un accès OpenVPN ou un serveur web, il n'est généralement appliqué aucun filtrage sur les adresses IP publiques pouvant se connecter. Bloquer a minima le adresses IP connues pour être utilisées par des personnes malintentionnées est donc également une approche intéressante.
Pour être efficace, ces listes d'adresses IP à risque doivent être mises à jour très régulièrement afin de coller au plus près des menaces en cours. Elles doivent éviter de comporter des faux-positifs, c'est-à-dire ne pas répertorier des adresses IP qui sont en réalité parfaitement légitimes.
Si le taux de faux-positifs est trop fort, alors cela devient complètement inutilisable en production pour des TPE/PME.
C'est donc un subtile équilibre qu'il faut trouver pour d'une part être efficace et d'autre part ne pas bloquer du trafic légitime.
Le filtrage des adresses IP publiques réputées à risque fait partie d'une approche de sécurité de défense en profondeur.
Nous présenterons deux solutions :
Les listes DROP et eDROP de SpamHaus. Ce sont des listes gratuites sans risque de faux-positifs.
Les listes proposées par nos soins. Ce sont des listes payantes qui permettent un filtrage beaucoup plus fin et complet que SpamHaus tout en étant très attentif à éviter les faux-positifs.
L'implémentation se fera ensuite en deux étapes : créer un alias se chargeant de récupérer les listes d'adresses IP à bloquer, puis créer les règles de filtrage bloquant le trafic associé à ces alias.
SpamHaus - créer un alias contenant la liste des adresses IP à filtrer (gratuit)
The Spamhaus Project (SpamHaus) est une organisation internationale non gouvernementale dont l'objectif est de fournir une protection en temps-réel contre les pourriels.
SpamHaus fournit un certain nombre d'outils en ce sens, ainsi que plusieurs listes de filtrage d'adresses IP à risque.
Ces listes de filtrage nommées DROP (Don't Route Or Peer) et EDROP (Extended DROP) sont composées de blocs réseau qui sont "détournés" ou loués par des spammeurs professionnels ou utilisés à des fins cybercriminelles (diffusion de logiciels malveillants, téléchargement de chevaux de Troie, botnet, etc.).
Les listes DROP et EDROP n'incluent pas d'adresses IP uniques, mais seulement des blocs d'adresses IP. Ainsi, une adresse IP isolée connue pour être malveillante ne sera jamais bloquée par les listes SpamHaus. Seuls des blocs d'adresses IP attribués à des LIR seront bloqués par la liste DROP. La liste EDROP étend un peu le concept en bloquant des sous-réseaux plus fins.
Ainsi, c'est un filtrage grosse-maille qui est proposé par SpamHaus. Le gros intérêt est que le risque de faux-positif est théoriquement nul. L'inconvénient est que le filtrage manque de précision, ce qui réduit forcément la sécurité apportée par ces listes.
Les listes DROP et EDROP sont donc des solutions gratuites que nous recommandons fortement d'utiliser sur tous les firewall. Même si le filtrage n'est pas parfait, mieux vaut un filtrage grosse maille qu'aucun filtrage.
SpamHaus propose principalement 3 listes :
Nous allons créer trois alias : un pour chaque liste proposée par SpamHaus.
Nous nous rendons dans le menu Firewall > Aliases et cliquons sur le bouton "+ Add" :
Les champs à compléter sont les suivants :
- Name : le nom que nous souhaitons donner à notre alias
- Type : choisir "URL Table (IPs)"
- URL Table (IPs) : saisir l'url d'une des listes de SpamHaus. Le nombre après le slash indique la fréquence de mise en jour en nombre de jours. 128 signifie que le contenu du fichier sera téléchargé tous les 128 jours. Nous pouvons, par exemple, choisir "1", les listes de SpamHaus étant mises à jour moins une fois par semaine en moyenne.
Exemple de résultat obtenu pour la liste DROP :
Nous répétons l'opération pour chacune des trois listes. Ce qui nous donne le résultat suivant :
Si vous êtes utilisateurs d'OPNsense, l'approche est exactement la même. Il faut se rendre dans le menu Pare-feu > Alias et cliquer sur le discret bouton "+" :
Compléter les champs de la manière suivante :
- Nom : le nom que nous souhaitons donner à notre alias
- Type : URL Table (IPs)
- Refresh Frequency : la fréquence de rafraîchissement. Une fois par jour est largement suffisant. Les listes de SpamHaus sont mises à jour plus ou moins toutes les semaines.
- Contenu : saisir l'url d'une des listes de SpamHaus
Exemple de résultat obtenu pour la liste DROP :
Nous répétons l'opération pour chacune des trois listes.
Nos alias sont prêts. Il nous reste à configurer nos règles de filtrage pour bloquer le trafic entrant provenant de ces adresses IP, ainsi que le trafic sortant à destination de ces adresses IP.
Provya - créer un alias contenant la liste des adresses IP à filtrer (payant)
Note : dans ce chapitre, nous présentons une solution commerciale payante. Si vous n'êtes pas intéressé, vous pouvez passer directement au chapitre suivant : Créer les règles de filtrage associées.
Nous avons décidé de créer notre propre liste de filtrage d'adresses IP malveillantes.
Pour cela, nous nous appuyons sur une trentaine de sources (dont SpamHaus) que nous traitons et que nous recoupons afin de comparer les adresses IP présentes. Cela nous permet de déterminer la fréquence d'apparition d'une adresse IP détectée. Plus une adresse IP est détectée et plus la probabilité que ce soit une adresse IP malveillante est forte. A contrario, plus la probabilité de rencontrer un faux-positif est faible.
Cela permet d'avoir une source unique très complète et efficace avec des sources fiables et recoupées, tout en conservant un risque de faux-positifs extrêmement faible.
Nous proposons trois listes :
- strict : cette liste contient les adresses IP que nous avons détectées dans au mois deux sources de collectes différentes. La probabilité de rencontrer un faux-positif est faible.
- main : cette liste contient les adresses IP que nous avons détectées dans au mois trois sources de collectes différentes. La probabilité de rencontrer un faux-positif est extrêmement faible. C'est cette liste que nous recommandons d'utiliser.
- soft : cette liste contient les adresses IP que nous avons détectées dans au mois quatre listes de collectes différentes. La probabilité de rencontrer un faux-positif est théoriquement nulle.
L'accès à ces listes est payant sous la forme d'un abonnement mensuel ou annuel.
Si vous êtes intéressé, vous pouvez consulter notre boutique en ligne : Liste IP malveillantes.
Pour découvrir le service, nous proposons une offre de lancement à 1 € H.T. pour le premier mois.
Passons à l'implémentation. Pour cela, nous allons créer un alias en nous rendant dans le menu Firewall > Aliases et cliquons sur le bouton "+ Add" :
Les champs à compléter sont les suivants :
- Name : le nom que nous souhaitons donner à notre alias
- Type : choisir "URL Table (IPs)"
- URL Table (IPs) : saisir l'url de la liste que l'on souhaite télécharger (cf. paragraphe suivant). Le nombre après le slash indique la fréquence de mise en jour en nombre de jours. Nous indiquons "1".
Pour pouvoir télécharger la liste de votre choix, il faudra disposer d'une clef de licence valide. L'URL à saisir sera de la forme suivante : https://provya.fr/download/VERSION.txt?key=VOTRE_CLEF (en remplaçant VERSION par le fichier choisi et VOTRE_CLEF par la clef de licence que vous aurez reçu par e-mail).
Ce qui donne l'une des URLs suivantes à utiliser :
Exemple de résultat obtenu :
Par défaut, pfSense ne propose une mise à jour des alias de type "URL Table" qu'au mieux une fois par jour. Ce qui est trop peu pour pouvoir disposer d'une liste réellement à jour. Nous recommandons de mettre à jour la liste toutes les heures ou toutes les deux heures.
Pour y remédier, nous suggérons d'installer le package "cron" afin d'effectuer des mises à jour plus fréquentes.
Pour cela, nous nous rendons dans le menu System > Package Manager, onglet "Available Packages". Nous faisons une recherche avec le mot-clé "cron" et cliquons sur l'icône d'installation :
Une fois le package "cron" installé, naviguer dans le menu Services > Cron :
Nous repérons la ligne rc.update_urltables et cliquons sur son icône de modification (crayon) :
Nous suggérons d'effectuer la mise à jour toutes les heures ou toutes les deux heures. Il faut modifier le champ "Hour" :
La mise à jour est ici effectuée toutes les deux heures
Si vous êtes utilisateurs d'OPNsense, l'approche est exactement la même. Il faut se rendre dans le menu Pare-Feu > Alias et cliquer sur le discret bouton "+" :
Compléter les champs de la manière suivante :
- Nom : le nom que nous souhaitons donner à notre alias.
- Type : URL Table (IPs)
- Refresh Frequency : la fréquence de rafraîchissement. Nous recommandons de faire un rafraîchissement une fois par heure ou une fois toutes les deux heures.
- Contenu : saisir l'url de la liste que l'on souhaite télécharger (cf. paragraphe suivant).
Pour pouvoir télécharger la liste de votre choix, il faudra disposer d'une clef de licence valide. L'URL à saisir sera de la forme suivante : https://provya.fr/download/VERSION.txt?key=VOTRE_CLEF (en remplaçant VERSION par le fichier choisi et VOTRE_CLEF par la clef de licence que vous aurez reçu par e-mail).
Ce qui donne l'une des URLs suivantes à utiliser :
Exemple de résultat obtenu :
Avantage d'OPNsense sur pfSense : il est possible de préciser un taux de rafraîchissement aussi bien en jours qu'en heures (contre uniquement en jours pour pfSense). Toute l'étape liée à la gestion du cron décrite pour pfSense n'est donc pas nécessaire sur OPNsense !
La configuration de notre alias est terminée. Il nous reste à configurer nos règles de filtrage pour bloquer le trafic entrant provenant de ces adresses IP, ainsi que le trafic sortant à destination de ces adresses IP.
Créer les règles de filtrage associées
Se rendre dans le menu Firewall > Rules et ajouter sur l'interface WAN (ou d'une façon générale sur les interfaces de vos connexions à Internet) une règle en haut de liste en cliquant sur le bouton .
Configurer la règle avec les paramètres suivants :
- Action : Block
- Protocol : Any
- Source : "Single host or alias" et saisir le nom de l'alias créé à l'étape précédente
- Destination : any
Il faut bien sûr adapter avec le nom de l'alias utilisé à l'étape précédente.
Si vous utilisez une liste Provya, une seule liste doit être utilisée (strict, main ou soft). Il est également inutile d'utiliser une liste SpamHaus en complément car les adresses IP fournies par SpamHaus sont déjà incluses dans les listes Provya.
Si vous utilisez SpamHaus, il faudra créer une règle pour chaque alias (DROP et EDROP). Si vous utilisez la liste DROPv6, il faudra bien penser à choisir IPv6 pour le champ "Address Family" de votre règle de filtrage.
Enfin, nous créons également une règle sur l'interface LAN (ou d'une façon plus générale sur toutes nos interfaces locales qui disposent d'un accès vers Internet) que nous plaçons en haut de liste en cliquant sur le bouton .
Les paramètres à saisir sont les suivants :
- Action : Block
- Protocol : Any
- Source : LAN net
- Destination : "Single host or alias" et saisir le nom de l'alias créé à l'étape précédente
Il faudra bien sûr adapter avec le nom de l'alias utilisé à l'étape précédente.
Si vous utilisez SpamHaus, il faudra encore une fois créer autant de règles que vous avez créé d'alias.
Voilà, le filtrage des adresses IP à risque est en place.
Il s'agit d'un élément de sécurité essentiel et vraiment simple à mettre en œuvre afin d'apporter un niveau de sécurité supplémentaire pour le trafic passant par notre firewall.
Retrouvez nos services et firewall pour pfSense
store.provya.fr
Tags de l'article : filtrageippfSense
Lundi 14 février 2022 est sortie la dernière version de pfSense. La version 2.6.0.
Dans cet article, nous faisons le tour rapide des éléments marquants de cette mise à jour.
Filtrage / NAT
Plusieurs modifications / corrections apportées, dont notamment :
- Ajout du support d'IPv6 pour les règles easyrule.
- Possibilité d'utiliser un alias pour le champ destination des règles de NAT 1:1
- La copie d'une règle de redirection de port (Port Forward) tient maintenant compte de la configuration existante pour l'association d'une règle de filtrage (Filter Rule Association).
- Ajout d'une icône permettant de visualiser le sens du filtrage pour les règles de l'onglet "Floating".
- Lorsque le nom d'un groupe d'interfaces commençait par un chiffre, cela générait un XML invalide. C'est corrigé.
IPsec
Cette version apporte plusieurs modifications importantes à IPsec. Ce sont des modifications portant sur la stabilité et les performances.
Le nom des interfaces IPsec VTI (IPsec routé) a changé. Les configurations existantes seront mises à jour automatiquement dans la mesure du possible pour utiliser les nouveaux noms.
Une fois la mise à jour vers pfSense 2.6.0 réalisée, il est conseillé de vérifier que les noms des instances VTI configurées ont correctement été repris pour l'assignation des interfaces. Cette vérification s'opère depuis le menu Interfaces > Assignments.
Il y a énormément de corrections de petits bugs spécifiques apportés à cette version de pfSense. Il est compliqué de tous les lister, mais en résumé, si vous avez des problèmes avec IPsec, mettez à jour !
ZFS
Plusieurs modifications mineures ont été apportées. Notamment le nom du pool ZFS et les ensembles de données ont été mis à jour.
Ces modifications ne sont pas appliquées lors de la mise à jour pour les pfSense déjà installés avec ZFS.
Ces changements ne sont pris en compte que pour les nouvelles installations.
Autre changement concernant ZFS : la compression pour les rotations des fichiers de journalisation est maintenant désactivée, car ZFS effectue sa propre compression.
Encore une fois, ce paramètre s'applique uniquement pour les nouvelles installations, mais pas pour les mises à jour. Aussi, si vous êtes sur un système de fichiers ZFS et que vous mettez à jour, il est conseillé de désactiver la compression pour les rotations des fichiers de journalisation. Cette opération s'effectue depuis le menu Status > System Logs, onglet "Settings".
Pour rappel, ZFS permet, entre autre, de créer des points de restauration permettant de réaliser des retours en arrière très simplement et très rapidement en cas de besoin.
Sécurité
- Le format de hachage des mots de passe pour les utilisateurs locaux a été modifié de bcrypt à SHA-512.
- Plusieurs corrections ont été apportées à l'interface graphique qui présentait des vulnérabilités potentielles à des attaques de type cross-site scripting (XSS).
- Désactivation de l'accès ssh pour les comptes admin et root lorsque le compte admin est désactivé sur l'interface web.
Bugs / Améliorations
- Il est enfin possible de configurer l'adresse IP WAN avec un /32 depuis le menu de la console (très utile pour des serveurs pfSense hébergés, par exemple).
- Diverses améliorations sur la page et sur le processus de déconnexion du portail captif.
- Correction de plusieurs bugs sur la validation du formulaire de configuration d'un serveur OpenVPN. Certains paramètres (notamment les paramètres NCP permettant une négociation des paramètres cryptographiques entre le client et le serveur) n'étaient pas correctement appliqués.
- Correction d'une erreur qui apparaissait lorsqu'un alias de type "URL Table" était rechargé mais qu'il était vide.
- Correction de plusieurs bugs qui existaient sur l'imbrication d'alias (c'est-à-dire un alias faisant référence à un autre alias).
- Correction de bugs d'affichage.
- Le service AutoConfigBackup a été amélioré sur plusieurs points, dont : amélioration des informations liées à la restauration, précisions sur l'emplacement des sauvegardes, amélioration de la performance générale du service.
- Plusieurs corrections liées à CARP. Ces corrections portent principalement sur le fait de pouvoir modifier le VHID d'une adresse VIP déjà créée (la mise à jour n'était pas correctement appliquée ou diffusée).
- Corrections de problématiques d'encodage de caractères UTF-8 pour les certificats créés localement sur pfSense.
- Amélioration de la stabilité d'Unbound qui avait tendance à crasher facilement sur les installations personnalisées comportant des erreurs.
- Il n'était plus possible d'utiliser le protocole de priorisation de trafic CBQ sur les interfaces VLAN (cela plantait). C'est corrigé.
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.6.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
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
store.provya.fr
Tags de l'article : mise à jour pfSensepfSense