Comment configurer 2FA pour l'accès GUI dans pfSense
pfSense est un routeur/pare-feu open source très puissant et orienté vers la sécurité dès le départ. Mais cela ne veut pas dire qu’il ne faut pas le durcir un peu. En tant que routeur/pare-feu, pfSense est dans une position privilégiée pour « voir » le trafic de votre réseau. Il sera donc essentiel de sécuriser l’accès à votre boîtier pfSense. Les conseils habituels s’appliqueront bien entendu ici :
- Créez un utilisateur non root pour accéder à l'interface graphique de pfSense
- Utilisez un mot de passe fort pour protéger ce compte
Mais ce n’est qu’un début. Vous pouvez sécuriser davantage l'accès à votre boîtier pfSense avec une authentification à deux facteurs pour l'accès à l'interface graphique. Dans cet article, nous expliquons comment configurerAuthentification à deux facteurs pfSensepour l'accès à l'interface graphique.
Remarque : Netgate, la société à l'origine du développement de pfSense, a récemment commencé à produire deux forks du projet :
- pfSense CE
- pfSense Plus
pfSense CE, qui signifie Community Edition, est la version entièrement open source de pfSense. pfSense Plus est basé sur un code open source mais avec des fonctionnalités supplémentaires ajoutées à l'aide d'un code propriétaire. Bien que les deux soient gratuits pour les utilisateurs individuels, nous utiliserons pfSense CE dans ce guide.
Ce guide suppose que vous disposez d'une configuration pfSense fonctionnelle avec une interface WAN et LAN déjà configurée.
Qu’est-ce que la 2FA ?
2FA, ou authentification à deux facteurs , est un système d'authentification qui utilise votre mot de passe tout en exigeant un deuxième facteur d'authentification. Le deuxième facteur est généralement un mot de passe à usage unique généré dynamiquement. Il peut vous être envoyé par SMS, mais un moyen meilleur (et plus sécurisé) consiste à utiliser une application d'authentification qui génère dynamiquement des mots de passe à usage unique pour vous. Le mantra de base de 2FA pour l’authentification est d’utiliser quelque chose que vous connaissez (votre mot de passe) avec quelque chose que vous possédez (votre téléphone, votre application d’authentification).
De nombreux fournisseurs de services, sinon la plupart, prennent aujourd’hui en charge la 2FA et, probablement, vous l’utilisez déjà sur certains de vos comptes. Il est logique de verrouiller l’accès à l’interface graphique de pfSense avec 2FA, en particulier dans un environnement d’entreprise.
Commençons. La première chose que nous devons faire est d'installer le package FreeRADIUS à partir du référentiel de logiciels pfSense.
Installation de FreeRADIUS
FreeRADIUS est une implémentation open source du protocole RADIUS (Remote Authentication Dial-In User Service), qui fournit l'authentification, l'autorisation et la comptabilité aux utilisateurs se connectant à un réseau.
L'implémentation 2FA de pfSense s'appuie sur FreeRADIUS pour l'authentification, notre première étape sera donc d'installer le package.
- Dans les menus supérieurs, sélectionnez Système > Directeur chargé d'emballage . Le installée Paquets la page s’affiche.
- Allez au Disponible Paquets page.
- Faites défiler la page jusqu'à ce que vous voyiez rayon libre3 et cliquez Installer . Le Installateur de paquets la fenêtre s’affiche.
- Cliquez sur Confirmer pour commencer l'installation.
- Une fois l'installation terminée, vous devriez voir Succès affiché au bas de la Emballer Installation fenêtre. Nous avons installé avec succès FreeRADIUS.
Configuration de FreeRADIUS
Nous allons maintenant configurer FreeRADIUS pour l'authentification à deux facteurs.
Activation de la prise en charge des mots de passe à usage unique
- Dans les menus supérieurs, sélectionnez Prestations de service > GratuitRADIUS . Vous êtes redirigé vers la page de configuration principale de FreeRADIUS.
- Clique sur le Paramètres et faites défiler la page jusqu'à ce que vous voyiez l'onglet Configuration du mot de passe mobile à usage unique section.
- Cochez le Activer Prise en charge des mots de passe mobiles à usage unique boîte.
- Met le Algorithme de hachage à SHA256 .
Création d'un port d'écoute
Maintenant que nous avons activé la prise en charge des mots de passe à usage unique dans FreeRADIUS, nous devons le configurer pour écouter les demandes d'authentification.
- Sélectionnez le Interfaces dans les menus supérieurs de FreeRADIUS. Le Interfaces la page s’affiche.
- Cliquez sur Ajouter . Le Interfaces Général Configuration la page s’affiche.
- Laissez tous les paramètres aux valeurs par défaut, ajoutez une description si vous le souhaitez et cliquez sur Sauvegarder . Cette configuration permettra à FreeRADIUS d'écouter sur toutes les interfaces de votre système.
- Vous êtes ramené au Interfaces page principale, qui devrait ressembler à ceci :
Ajouter un NAS/Client
FreeRADIUS n'acceptera que les demandes d'authentification des clients qu'il « connaît ». Nous devons donc définir la box pfSense elle-même en tant que client FreeRADIUS.
- Allez au NAS/Clients onglet des paramètres FreeRADIUS. Le NAS/Clients La page des paramètres principaux s'affiche.
- Cliquez sur Ajouter . Le Configuration générale NAS/Clients la page s’affiche.
- Entrer 127.0.0.1 dans le Adresse IP du client champ.
- Sélectionner IPv4 du Version IP du client menu déroulant.
- Entrez un Secret partagé du client . Le secret partagé du client est utilisé pour la communication sécurisée entre le serveur FreeRADIUS et le NAS/Client. Il doit s'agir d'une chaîne longue et complexe de lettres, de chiffres et de symboles. FreeRADIUS prend en charge les secrets partagés pouvant contenir jusqu'à 31 caractères.
- Cliquez sur Sauvegarder .
- Vous êtes ramené au principal NAS/Clients page des paramètres, qui devrait ressembler à ceci :
Créer un utilisateur 2FA
L'étape suivante consiste à créer un utilisateur FreeRADIUS pouvant s'authentifier à l'aide de 2FA avec FreeRADIUS.
- Sur la page des paramètres principaux de FreeRADIUS, sélectionnez le Utilisateurs languette. Le principal Utilisateurs La page des paramètres s’affiche.
- Cliquez sur Ajouter . Le Utilisateurs La page des paramètres principaux s'affiche.
- Dans le Configuration générale , entrez un nom pour le nouvel utilisateur. Nous utilisons 2FAUtilisateur dans notre exemple.
- Faites défiler la page pour trouver le Configuration d'un mot de passe à usage unique section.
- Cochez le Activer le mot de passe à usage unique (OTP) pour cet utilisateur boîte.
- Du Méthode d'authentification OTP menu déroulant, sélectionnez Authentificateur Google . Nous utiliserons l'application Google Authenticator pour générer nos mots de passe à usage unique. D'autres clients sont disponibles pour iOS et Android, mais par souci de simplicité, nous utiliserons Google Authenticator dans notre exemple. L'application ne nécessite pas que vous ayez un compte Google, ni une connexion Internet. L'utilisation de l'application ne donne à Google aucune visibilité sur vos activités ou vos mots de passe à usage unique. Mais n’hésitez pas à utiliser l’une des nombreuses alternatives.
- Clique le Générer un secret OTP bouton pour générer un secret OTP, affiché dans le Secret d'initialisation champ ci-dessus.
- Clique le Afficher le code PIN OTP pour pouvoir voir le code PIN OTP que vous entrez dans le champ ÉPINGLE champ ci-dessus. Le code PIN OTP est considéré comme votre mot de passe utilisateur. Et il sera utilisé avec l'OTP pour s'authentifier et se connecter à l'interface graphique de pfSense. Votre code PIN OTP doit être composé de 4 à 6 chiffres. Dans notre exemple, nous utilisons 123456, que je ne recommande pas d'utiliser dans un scénario réel.
- Clique le Générer un code QR pour générer un code QR que nous pourrons scanner avec notre appareil photo lorsque nous configurerons Google Authenticator à l'étape suivante, et cliquez sur Sauvegarder au bas de la page.
Configuration de Google Authenticator
Une fois que vous avez téléchargé Google Authenticator sur votre téléphone, sa configuration est simple.
- Lancez l'application.
- Clique le Ajouter un bouton de code ou la + signe en bas à droite de l'interface utilisateur. Vous êtes invité à scanner un code QR avec votre appareil photo ou à saisir manuellement la clé de configuration.
- Sélectionnez Scanner un code QR. L'appareil photo de votre téléphone apparaît. Scannez le code QR que nous avons créé à l'étape précédente.
- C'est ça. Google Authenticator est maintenant configuré et générera dynamiquement des mots de passe à usage unique toutes les 30 secondes.
Ajout de FreeRADIUS comme source d'authentification pfSense
Par défaut, pfSense dispose d'une base de données locale qu'il utilise pour l'authentification. Afin d'utiliser 2FA pour l'accès à l'interface graphique pfSense, nous devons définir notre serveur FreeRADIUS comme source d'authentification.
- Dans les menus supérieurs, sélectionnez Système > Gestionnaire des utilisateurs . Vous êtes emmené au Utilisateurs la page du Gestionnaire des utilisateurs paramètres.
- Sélectionnez le Serveurs d'authentification languette. Vous êtes emmené au Serveurs d'authentification page des paramètres principaux.
- Cliquez sur Ajouter . Le Serveurs d'authentification La page de configuration s'affiche.
- Entrez un nom pour votre serveur d'authentification FreeRADIUS dans le champ Descriptif nom champ.
- Du Taper menu déroulant, sélectionnez RAYON .
- Sous Paramètres du serveur RADIUS , sélectionner BOUILLIE du Protocole menu déroulant.
- Entrer 127.0.0.1 dans le Nom d'hôte ou adresse IP champ.
- Saisissez le secret partagé que vous avez créé précédemment dans le partagé Secrète champ.
- Sélectionner Authentification du Prestations de service offert menu déroulant.
- Sélectionner ET -
du Attribut IP du NAS RADIUS menu déroulant. - Cliquez sur Sauvegarder .
Test de notre configuration de base FreeRADIUS
Maintenant que notre configuration de base est terminée, testons FreeRADIUS pour nous assurer que tout fonctionne.
- Dans les menus supérieurs, sélectionnez Diagnostique > Authentification . Cela fait apparaître le Test d'authentification page.
- Sélectionner GratuitRADIUS du Serveur d'authentification menu déroulant.
- Entrez le nom d'utilisateur de votre utilisateur FreeRADUIS dans le champ Nom d'utilisateur champ. C'est 2FAUtilisateur dans notre exemple.
- Entrez votre Code PIN OTP et ton OTP de l'authentificateur Google comme mot de passe. J'ai défini mon code PIN sur 123456 , et Google Authenticator me donne 942 244 en tant qu'OTP, j'entrerais donc 123456942244 dans le champ mot de passe.
- Cliquez sur Test .
- Si le test a réussi, vous devriez voir Utilisateur
authentifié avec succès en haut de la page.
Configuration de pfSense pour utiliser FreeRADIUS pour authentifier les utilisateurs pour l'accès à l'interface graphique
Maintenant que notre serveur FreeRADIUS est configuré et fonctionne avec notre application Google Authenticator, nous devons dire à pfSense d'utiliser FreeRADIUS pour authentifier les utilisateurs pour l'accès à l'interface graphique.
- Dans les menus supérieurs, sélectionnez Système > Gestionnaire des utilisateurs . Le Utilisateur Directeur La page des paramètres principaux s'affiche.
- Sélectionnez le Paramètres languette. Le Authentification Paramètres la page s’affiche.
- Du Authentification Serveur menu déroulant, sélectionnez GratuitRADIUS et cliquez Sauvegarder .
- Sélectionnez le Utilisateurs onglet.Le Utilisateurs La page des paramètres principaux s'affiche.
- Cliquez sur Ajouter . Le Nouveau Utilisateur Paramètres la page s’affiche. La page Paramètres du nouvel utilisateur s'affiche. Nous devons faire savoir à pfSense que nous souhaitons que notre utilisateur FreeRADIUS ait accès à l'interface graphique de pfSense.
- Entrez le nom d'utilisateur de votre utilisateur FreeRADIUS dans le champ Nom d'utilisateur champ.
- Entrez le code PIN de votre utilisateur FreeRADIUS (configuré sur la page Utilisateurs FreeRADIUS) dans le champ Mot de passe champ - sans l'OTP de Google Authenticator .
- Cliquez sur Sauvegarder .
- Vous êtes ramené au Utilisateurs page des paramètres principaux. Cliquez sur l'icône en forme de crayon à côté de notre utilisateur FreeRADIUS. Nous sommes ramenés à la page de configuration de cet utilisateur.
- Cliquez sur le bouton Ajouter dans le Efficace Privilèges section. Le Privilèges utilisateur la page s’affiche.
- Sélectionner WebCfg – Toutes les pages du Attribué privilèges boîte. Nous accordons à notre utilisateur FreeRADIUS l'accès à toutes les sections de l'interface graphique pfSense. Vous pouvez choisir de n'accorder l'accès qu'à certaines pages pour une configuration plus restrictive si vous le souhaitez.
- Cliquez sur Sauvegarder .
- Le Utilisateur Configuration La page s'affiche et nous pouvons voir les privilèges attribués à notre utilisateur. Cliquez sur Sauvegarder encore une fois en bas de page.
- Vous êtes ramené auUtilisateurspage des paramètres principaux.
Test de notre configuration pour l'accès à l'interface graphique pfSense
Pour tester notre configuration, nous allons nous déconnecter de pfSense et nous reconnecter en utilisant notre nouvel utilisateur FreeRADIUS 2FA.
- Cliquez sur l'icône en forme de flèche en haut à droite de l'interface utilisateur pour vous déconnecter de l'interface graphique de pfSense. Nous allons tester notre configuration 2FA pour l'authentification et l'accès à l'interface graphique.
- Une fois déconnecté, saisissez vos identifiants utilisateur 2FA : votre nom d'utilisateur et votre code PIN + OTP comme mot de passe. Clique le SIGNE DANS bouton, et vous devriez être de retour sur la page du tableau de bord de pfSense et connecté en tant qu'utilisateur FreeRADIUS 2FA.
Notez que si vous rencontrez des problèmes avec votre mot de passe à usage unique (c'est-à-dire si vous n'avez pas votre téléphone, l'application ne fonctionne pas, etc., pfSense s'appuie sur l'utilisateur administrateur afin que vous ne soyez pas verrouillé (alors ne le faites pas). pas supprimer cet utilisateur).
Conclure
Nous avons configuré pfSense pour utiliser 2FA pour l'accès à l'interface graphique à l'aide de FreeRADIUS. L'accès au cœur de votre réseau est désormais verrouillé grâce à une authentification à deux facteurs. À partir de maintenant, pour vous connecter à pfSense, vous aurez besoin de quelque chose que vous connaissez (votre mot de passe/PIN) et de quelque chose que vous possédez (votre téléphone pour la génération OTP).
2FA peut être configuré dans d'autres domaines de pfSense, comme les connexions OpenVPN, par exemple. Cela dépasse la portée du présent didacticiel, mais nous pourrions peut-être aborder ce sujet dans un prochain article. D’ici là, je vous recommande de configurer 2FA sur tous les services que vous utilisez et qui le prennent en charge. 2FA contribue grandement à sécuriser vos comptes.
Comme toujours, restez en sécurité (en ligne).
En rapport: