pfSense : Portail Captif avec Authentification Utilisateur

Mise a jour le 27/07/2020

pfSense dispose d’un portail captif. Le portail captif force les clients d’un réseau à afficher une page Web d’authentification avant de pouvoir se connecter à Internet.

Il est utilisé dans des réseaux qui assurent un accès public tels que les espaces d’accueil, établissement scolaires …


Important : Ne pas modifier le langage de l’interface en Français avant la configuration du portail car il y a un Bug lors de la sauvegarde des modifications dans certaines versions.

En revanche, une fois la configuration terminée et validée, vous pouvez modifier la langue de l’interface en Français.


Information : Avant de continuer, consultez ce guide : pfSense : Installation et Configuration


Configuration du Portail Captif

Sélectionner : Services – Captive Portal

Cliquez sur “+ Add”

Renseigner le Nom du Portail Captif et sa description. Pour l’exemple : “PORTAIL

Activer “Enable Captive Portal” et sélectionner l’interface “LAN

Maximum concurrent connections : 1 (Limite le nombre de connexions simultanées d’un même utilisateur)

Idle timeout (Minutes) : Choisir entre 1 a 5 (Les clients seront déconnectés après cette période d’inactivité)

Activer “Enable logout popup window” (une fenêtre popup permet aux clients de se déconnecter)

Définir “Pre-authentication Redirect URL(URL de redirection par défaut. Les visiteurs ne seront redirigés vers cette URL après authentification que si le portail captif ne sait pas où les rediriger)

Note : Avec “http://…..” devant le domaine : Exemple : http://www.google.fr

Définir “After authentication Redirection URL(URL de redirection forcée. Les clients seront redirigés vers cette URL au lieu de celle à laquelle ils ont initialement tenté d’accéder après s’être authentifiés)

Note : Avec “http://…..” devant le domaine : Exemple : http://www.google.fr

Activer “Disable Concurrent user logins” (seule la connexion la plus récente par nom d’utilisateur sera active)

Activer “Disable MAC filtering” (nécessaire lorsque l’adresse MAC du client ne peut pas être déterminée)

Sélectionner “Use an Authentication backend

Sélectionner “Local Database” pour “Authentication Server”

Attention : Ne pas sélectionner “Local Database” pour “Secondary Authentication Server”

Activer “Local Authentication Privileges” (Autoriser uniquement les utilisateurs avec les droits de “Connexion au portail captif”)

Puis cliquez “Save


Résultat


Configuration du Groupe et Utilisateur pour délégation du Portail Captif

Création d’un groupe et utilisateur qui aura pour fonction de créer des Utilisateurs autorisés a se connecter au Portail Captif. Ce groupe et utilisateurs associés auront seulement le droit de créer des Utilisateurs du Portail Captif.

Sélectionner : System – User Manager

Onglet “Groups” , cliquez sur “+ Add

Renseigner le Nom du Groupe “Agent” et sa description “Delegation Creation Utilisateurs Portail”. Cliquez “Save

Dans le menu “Actions”, modifier le groupe créé en cliquant sur le stylo

Cliquez sur “+ Add” rubrique “Assigned Privileges“.

Sélectionnez dans la liste “WebCfg – System: User Manager” (Accès à la page de gestion des utilisateurs “User Manager”)

Puis cliquez sur “Save

Revenir a la rubrique “Assigned Privileges” en cliquant sur “+ Add

Sélectionnez dans la liste “WebCfg – Status: Captive Portal” (Voir le Status des utilisateurs connectés”)

Puis cliquez sur “Save

Vérifier les droits, puis cliquez sur “Save

Onglet “Users“, cliquez sur “+ Add

Entrer un Nom d’Utilisateur “agent”, son mot de passe et sa description (Agent autorisé a créer des utilisateurs du Portail Captif).

Sélectionner dans “Group membership” le groupe “Agent” précédemment créé. Cliquez sur “Move to Member of list” puis “Save


La délégation pour l’utilisateur “Agent” est autorisé a créer des utilisateurs pour connexion au Portail Captif


Configuration du Groupe et Utilisateurs autorisés a se connecter au Portail Captif

Ce groupe et utilisateurs associés auront seulement le droit d’utiliser le Portail Captif.

Onglet “Groups” , cliquez sur “+ Add

Renseigner le Nom du Groupe “Portail” et sa description “Utilisateurs du Portail”. Cliquez “Save

Dans le menu “Actions”, modifier le groupe créé en cliquant sur le stylo

Cliquez sur “+ Add” rubrique “Assigned Privileges“.

Sélectionnez dans la liste “User – Services: Captive Portal login” (Autorisé seulement a se connecter au Portail Captif)

Puis cliquez sur “Save

Vérifier les droits, puis cliquez sur “Save

Onglet “Users“, cliquez sur “+ Add

Entrer un Nom d’Utilisateur “test”, son mot de passe et sa description “Un Utilisateur du Portail”.

Sélectionner dans “Group membership” le groupe “Portail” précédemment créé. Cliquez sur “Move to Member of list” puis “Save


L’utilisateur “test” est autorisé a se connecter au Portail Captif


Connexion avec le Compte “agent”

Cet utilisateur a seulement le droit de créer des Utilisateurs du Portail Captif par délégation et de voir le Statut des utilisateurs connectés.

Tableau de bord restreint. Seulement les fonctions de création d’utilisateur et de Statut du Portail Captif sont disponibles.

Le “Statut du Portail Captif” permet de voir les utilisateurs connectés et de les déconnecter si besoin …

Exemple de création d’un utilisateur du Portail Captif

Résultat


Redémarrer pfSense : Diagnostics – Reboot


Interception du Portail Captif sur un poste client du réseau local LAN

Lancez votre navigateur internet et tapez une adresse valide en HTTP et non HTTPS. Exemple : http://neverssl.com

La redirection HTTPS vers HTTP ne peut pas fonctionner. Il faut un certificat valide pour que la redirection se fasse sans problème.

Exemple de lien d’accès au portail : http://192.168.2.1:8002/index.php?zone=portail  (zone=portail : car notre portail captif se nomme “PORTAIL”)


Personnalisation du Logo

Sélectionner “Services , “Captive Portal” , Cliquer sur le “Stylo” pour modifier la configuration du portail

Rubrique “Captive Portal Login Page” : Activer “Enable Custom Logo Image” puis parcourir pour sélectionner votre image (Logo)

Personnalisation de l’affichage en Français

Sélectionner “Diagnostics” “Edit File

Tapez : /usr/local/captiveportal puis “Browse” puis cliquez sur “index.php”

Rechercher (Ctrl + F) “You are connected” – Remplacer par : “Vous êtes connecté”

Rechercher (Ctrl + F) “Disconnecting…” et “You have been disconnected” – Remplacer par “Déconnexion…” et “Vous êtes déconnecté”

Rechercher (Ctrl + F) “Invalid credentials specified” – Remplacer par “Les informations saisies sont invalides” (Attention il y a 2 lignes a modifier)

Cliquer sur “Save” pour enregistrer les modifications

Tapez : /etc/inc puis “Browse” puis cliquez sur “captiveportal.inc”

Rechercher (Ctrl + F) “Captive Portal login Page” – Remplacer par : “Portail Captif PC2S”

Rechercher (Ctrl + F) “Login” et “Made with … by … Netgate” – Remplacer par “Connexion” et “Connectez vous avec votre compte PC2S”

Rechercher (Ctrl + F) “User” et “Password” – Remplacer par “Utilisateur” et “Mot de Passe”

Rechercher (Ctrl + F) “Logout” et “Click the button below to disconnect” – Remplacer par “Déconnexion” et “Cliquez sur le bouton ci-dessous pour vous déconnecter”

Cliquer sur “Save” pour enregistrer les modifications


Redémarrer pfSense : Diagnostics – Reboot


Résultats


Si le package Squid est installé : pfSense : Proxy Transparent Filtrage Web URL Squid SquidGuard

Sélectionner : Services – Squid Proxy Server

Onglet “Authentication” – Sélectionner la méthode d’authentification “Captive Portal

Note : Si l’accès WEB est impossible : Laisser la méthode d’authentification sur “None

Si le package LightSquid est installé – Rapport des logs : Traces des URL visitées par l’utilisateur “bubu”




A suivre : pfSense : Portail Captif – Adresses MAC de Confiance