Vous êtes sur la page 1sur 11

Mise en place d’un portail captif avec authentification

via un serveur RADIUS

I. Contexte
En entreprise les employés ont souvent besoin d’une connexion wifi pour les
équipements personnels (téléphone, ordinateur portable, tablette, etc). Pour
satisfaire ce besoin, il faut mettre en place un point d’accès wifi pour les employés et
pour des raisons de sécurité, on doit mettre en place un portail captif.
Dans notre cas, nous allons mettre en place un portail captif sous Pfsense. Il existe
plusieurs méthodes d’authentification pour le portail captif dans Pfsense et nous
allons choisir la méthode d’authentification via un serveur RADIUS connecté à un
système de gestion d’utilisateur comme LDAP sous linux et l’Active Directory sous
Windows.

II. Configuration

 Un pfsense avec 4 cartes réseaux (WAN, LAN, OPT1 (LDAP), OPT2 (AD)
 Un système Windows Server 2008 R2 pour la partie Active Directory
 Un système Ubuntu 16.04 pour la partie LDAP
 Un client Windows 7

 Schéma d’architecture générale


III. Authentification LDAP
Pour commencer nous allons installer le serveur LDAP puis PhpLdapAdmin pour créer
les groupes et les utilisateurs et ensuite installer le serveur Freeradius.

 LDAP

1. Installation de LDAP

sudo apt-get install slapd ldap-utils

2. Reconfiguration de LDAP

sudo dpkg-reconfigure slapd

Puis nous allons répondre au questionnaire comme suit :

 Voulez-vous omettre la configuration d'OpenLDAP ? Non


 Nom de domaine : dieusy.com
 Nom d'entité (« organization ») : Dieusy_G
 Mot de passe de l'administrateur : azerty
 Module de base de données à utiliser : HDB
 Faut-il supprimer la base de données lors de la purge du paquet ? Non
 Faut-il déplacer l'ancienne base de données ? Oui
 Faut-il autoriser le protocole LDAPv2 ? Non

Nous devons configurer le fichier ldap.conf :


sudo nano /etc/ldap/ldap.conf

Puis on décommente les lignes BASE et URI et on modifie comme suit :

 PHPLDAPADMIN

1. Installation de PhpLdapAdmin

sudo apt-get install phpldapadmin

2. Configuration de PhpLdapAdmin

Ici nous allons modifier un fichier dans le dossier phpldapadmin :


sudo nano /etc/phpldapadmin/config.php

Dans ce fichier nous allons commencer par modifier le nom du serveur LDAP qui sera
affiché à l’écran :
$servers->setValue('server','name','Dieusy LDAP Server')
Puis il faut modifier la base de recherche. Vu que notre domaine est dieusy.com, la
base de recherche sera donc (dc=dieusy,dc=com) :
$servers->setValue('server','base',array('dc=dieusy,dc=com'))
Ensuite on modifie l’adresse du serveur :
$servers->setValue('server','host','192.168.1.3')

Puis on modifie les paramètres de login :

$servers->setValue('login','bind_id','cn=admin,dc=dieusy,dc=com')

Après avoir modifié ce fichier on peut se rendre sur l’interface web de phpldapamin
avec l’adresse http://192.168.1.3/phpldapadmin et on se connecte avec ces
informations :

Ensuite nous devons créer une unité organisationnelle, un groupe et des utilisateurs.

On clique sur cn=admin puis sur « créer une sous entrée » et on choisit « Générique :
Unité Organisationnelle »
On clique sur « créer un objet » puis sur « valider ».

Pour créer un groupe on clique sur ou=Dieusy_G puis sur « créer une sous entrée »
et on choisit « Générique : Groupe Posix ».

On clique sur « créer un objet » puis sur « valider ».

Pour créer des utilisateurs on clique sur cn=ITIC-group puis sur « créer une sous
entrée » et on choisit « Générique : Compte Utilisateur » et on remplit le formulaire
comme suit :
On clique sur « créer un objet » puis sur « valider ».

 FREERADIUS

Installation de freeradius
sudo apt-get install freeradius freeradius-ldap

Configuration de freeradius

On tape sudo nano /etc/freeradius/clients.conf puis on rajoute ceci dans le fichier :

Puis on tape sudo nano /etc/freeradius/modules/ldap et on modifie le fichier


comme suit :

Ensuite dans les fichiers /etc/freeradius/sites-available/default et


/etc/freeradius/sites-available/inner-tunnel et dans la partie authorize, on
commente files en ajoutant un # devant puis on décommente ldap et ces lignes dans
la partie authenticate :
IV. Authentification Active Directory
Dans cette partie on suppose que le serveur Active Directory est déjà installé, tout ce
que nous avons à faire c’est installer un serveur d’authentification (RADIUS) sur
Windows Serveur 2008 R2 qui permettra de lier Pfsense au répertoire d’Active
Directory pour l’authentification, pour cela il faut ajouter un rôle.

 Création d’un groupe et des utilisateurs


En premier lieu il faut créer un groupe utilisateur dans l’active directory. Pour cela on
se rend dans notre domaine créé, clic-droit sur le domaine, Nouveau puis Groupe.

On nomme le groupe puis on clique sur OK

Ensuite il faut créer un utilisateur et l’ajouter dans le groupe crée ci-dessus. Pour cela
on fait clic-droit, Nouveau puis Utilisateur. On renseigne les informations de
l’utilisateur (identifiant et mot de passe), on clique sur Suivant puis sur Terminer.
Pour ajouter l’utilisateur dans le groupe on fait clic-droit sur l’utilisateur puis Ajouter
à un groupe… Onsélectionne le groupe qu’on vient de créer puis on clique sur OK.
 Installation et configuration du serveur RADIUS
On se rend dans le Gestionnaire de serveur, dans Rôles on clique sur Ajouter des
rôles.

On coche « Service de stratégie et d’accès réseau »

On choisit le service NPS (Network Policy Server)

Puis on clique sur installer.


Dans le Gestionnaire de serveur à gauche on développe les services de stratégie et
d’accès réseau puis on va dans NPS (local).

Dans la configuration standard on sélectionne Serveur RADIUS pour les connexions


cablées ou sans fil 802.1X et on clique sur Configurer 802.1X.
Type de configuration : Connexion sans fil

Dans Clients Radius on clique sur ajouter et on attribue un nom au client RADIUS, une
adresse IP et un secret partagé qui sera à réécrire dans Pfsense (ici azerty).

On choisit le protocole Mot de passe sécurisé EAP-MSCHAP Version 2 et on clique


sur suivant.
Pour sélectionner un groupe utilisateur on clique sur Ajouter et on sélectionne le
groupe créé ci-dessus et on clique sur Suivant, on vérifie la configuration puis on
clique sur Terminer.
V. Configuration du portail captif dans Pfsense

Tout d’abord nous devons installer le service freeradius dans Pfsense. Pour cela on se
rend dans SystemPackage > Manager et on installe le paquet freeradius2.

 Configuration
On doit se rendre dans FreeRADIUS: Clients > Edit > NAS / Clients pour faire de
Pfsense un client Radius et on configure comme ceci :

Le secret partagé ici est le même que celui qu’on a mis dans les serveurs RADIUS de
Ubuntu et (azerty).
On sauvegarde et on va dans l’onglet Interfaces puis on configure comme suit et on
sauvegarde :
Les autres champs sont à laisser par défaut. On sauvegarde et on se rend dans
Services > Captive Portal.
Dans Interfaces on met OPT1 lorsqu’on teste avec le serveur LDAP et OPT2 pour l’AD.
Dans la partie Authentification on choisit RADIUS Authentication comme méthode
d’authentification.
Pour le RADIUS protocol on choisit PAP si on teste avec LDAP et MSCHAPv2 avec
l’Active Directory.
Dans Primary RADIUS server on renseigne l’adresse IP du serveur RADIUS, dans notre
cas 192.168.1.3 pour LDAP et 192.168.1.4 pour l’AD et on sauvegarde.

VI. Test avec le client Windows 7


Pour tester que ça fonctionne on désactive une carte entre OPT1 et OPT2 et on va
dans la machine Windows. Si on fait un ipconfig dans le cmd on peut constater que la
machine reçoit une adresse automatiquement.

Lorsqu’on ouvre le navigateur on arrive directement à la page d’authentification puis


on renseigne les identifiants et lorsqu’on se connecte on redirigé vers Google.