Académique Documents
Professionnel Documents
Culture Documents
**************
THEME
Réalisé par :
Abdoul Aziz NDONGO email : aboulazizndongo@gmail.com
Souleymane DIOUF email : sulaayman@hotmail.fr
Encadreur :
Monsieur KASSE
INTRODUCTION ...................................................................................................................... 3
RADIUS ..................................................................................................................................... 4
LDAP ......................................................................................................................................... 5
ARCHITECTURE ..................................................................................................................... 6
CONCLUSION ........................................................................................................................ 29
ANNEXES ............................................................................................................................... 29
2
INTRODUCTION
Les réseaux sans fils sont un des moyens de connexions les plus utilisés car ils permettent une
meilleure mobilité par rapport aux réseaux filaires. L’essor des réseaux sans fil est du à sa
facilité et rapidité d’installation, à l’accès de partage des services de hauts débits et à beaucoup
d’autres avantages par rapport aux réseaux filaires.
Cependant les réseaux sans fils ne sont pas sans failles. Les réseaux sans fils sont objets de
plusieurs attaques des pirates et personnes males intentionnées et nécessite donc une
protection.
Nous allons donc essayer de trouver des solutions à ces vulnérabilités. Pour cela nous allons
utiliser un portail captif (couplé avec LDAP et RADIUS) qui est une plateforme permettant de
contrôler l’accès des utilisateurs à Internet.
PORTAIL CAPTIF
Un portail captif est une structure permettant un accès rapide à Internet. Lorsqu'un utilisateur
cherche à accéder à une page Web pour la première fois, le portail captif capture la demande de
connexion par un routage interne et propose à l'utilisateur de s'identifier afin de pouvoir recevoir
son accès. Cette demande d'authentification se fait via une page Web stockée localement sur le
portail captif grâce à un serveur HTTP. Ceci permet à tout ordinateur équipé d'un navigateur
HTML et d'un accès Wifi de se voir proposer un accès à Internet. La connexion au serveur est
sécurisée par SSL grâce au protocole HTTPS, ce qui garantit l'inviolabilité de la transaction.
Les identifiants de connexion (identifiant, mot de passe) de chaque utilisateur sont stockés dans
une base de données qui est hébergée localement ou sur un serveur distant. Une fois l'utilisateur
authentifié, celui-ci se voit alors autorisé à utiliser son accès pour une durée limitée fixée par
l'administrateur. A la fin de la durée définie, l'utilisateur se verra redemander ses identifiants de
connexion afin d'ouvrir une nouvelle session.
3
du mot de passe. Le système d'authentification va alors contacter une base de données contenant
la liste des utilisateurs autorisés à accéder au réseau. Enfin le système d'authentification lui
indique, plus ou moins directement selon les portails captif, à la passerelle que le couple
MAC/IP du client est authentifié sur le réseau. Finalement le client est redirigé vers la page
Web qu'il a demandé initialement; le réseau derrière la passerelle lui est dorénavant accessible
Le portail captif, grâce à divers mécanismes comme une fenêtre pop-up sur le client rafraîchie
à intervalles réguliers ou des requêtes Ping vers le client, est en mesure de savoir si l'utilisateur
est toujours connecté au réseau. Au bout d'un délai d'absence sur le réseau, le portail captif va
couper l'accès à cet utilisateur.
PRESENTATION DE PFSENSE
PfSense ou « Packet Filter Sense » est un routeur/firewall open source basé sur le système
d'exploitation FreeBSD réputé pour son extrême stabilité et Monowall auquel il rajoute ses
propres fonctionnalités. Ce qui séduit chez Pfsense est sa facilité d'installation et de
configuration des outils d'administration réseau. En effet il est possible de configurer quasiment
toutes les fonctionnalités de Pfsense via l'interface Gui PHP. La distribution Pfsense met ainsi
à la disposition de l'administrateur réseau une multitude d'outils open sources permettant
d'optimiser ses taches. Pfsense assure le Filtrage par source et destination au niveau des
adresses IP, protocole IP, port source et destination des protocoles TCP, et UDP. Il a la capacité
à limiter le nombre de connexion règle par règle. Pfsense est aussi un firewall capable de faire
la traduction d’adresses, le filtrage de paquets entre LAN ET WAN, la QoS et du « load
balancing »entre plusieurs connexions internet.
RADIUS
Le protocole RADIUS mis au point initialement par Livingston, est un protocole
d’authentification standard, défini par un certain nombre du RFC. Le fonctionnement de
RADIUS est basé sur un système client/serveur chargé de définir les accès d’utilisateurs distant
à un réseau. Il s’agit du protocole de prédilection des fournisseurs d’accès à internet car il est
relativement standard et propose des fonctionnalités de comptabilité permettant aux FAI de
facturer précisément leurs clients.
Le protocole RADIUS repose principalement sur un serveur (le serveur RADIUS), relié à une
base d’identification (base de données, annuaire LDAP, etc.) et un client RADIUS, appelé NAS
faisant office d’intermédiaire entre l’utilisateur final et le serveur. L’ensemble des transactions
entre le client RADIUS et le serveur RADIUS est chiffré et authentifié grâce à un secret partagé.
4
Il est à noter que RADIUS peut faire office de proxy, c'est-à-dire transmettre les requêtes du
client à d’autres serveurs RADIUS.
Le fonctionnement de RADIUS est basé sur un scénario proche de celui-ci :
Un utilisateur envoie une requête au NAS afin d’autoriser une connexion à distance ;
Le NAS achemine la demande au serveur RADIUS ;
Le serveur RADIUS consulte la base de données d’identification afin de connaître le
type de scénario d’identification demandé pour l’utilisateur. Soit le scénario actuel
convient, soit une autre méthode d’identification est demandée à l’utilisateur. Le
serveur RADIUS retourne ainsi une des trois requêtes suivantes :
ACCEPT : l’identification a réussi
REJECT : l’identification a échoué
CHALLENGE : le serveur RADIUS souhaite des informations supplémentaires de
la part de l’utilisateur et propose un « défi » ;
Le schéma suivant récapitule les éléments entrant en jeu dans un système utilisant un serveur
RADIUS :
LDAP
LDAP (Lightweight Directory Access Protocol,) est un protocole standard permettant de gérer
des annuaires, c'est-à-dire d'accéder à des bases d'informations sur les utilisateurs d'un réseau
par l'intermédiaire de protocoles TCP/IP.
Le protocole LDAP est uniquement prévu pour gérer l'interfaçage avec les annuaires. Plus
exactement il s'agit d'une norme définissant la façon suivant laquelle les informations sont
échangées entre le client et le serveur LDAP ainsi que la manière de laquelle les données sont
représentées. Ainsi ce protocole se conforme à quatre modèles de base :
5
un modèle d'information : définissant le type d'information stocké dans l'annuaire
un modèle de nommage (parfois appelé modèle de désignation) : définissant la façon de
laquelle les informations sont organisées dans l'annuaire et leur désignation
un modèle fonctionnel (parfois appelé modèle de services) : définissant la manière
d'accéder aux informations et éventuellement de les modifier, c'est-à-dire les services offerts
par l'annuaire.
un modèle de sécurité : définissant les mécanismes d'authentification et de droits d'accès
des utilisateurs à l'annuaire.
De plus, LDAP définit la communication entre
Le client et le serveur, c'est-à-dire les commandes de connexion et de déconnexion au
serveur, de recherche ou de modification des entrées
Les serveurs eux-mêmes, pour définir d'une part le service de réplication (réplication
service), c'est-à-dire un échange de contenu entre serveurs et synchronisation, d'autre part
pour créer des liens entre les annuaires (on parle de referral service).
ARCHITECTURE
le1 le0
10.1.1.254/24
10.1.1.1/24
SERVEUR LDAP ET
RADIUS
1 1
LAN
Figure 2: Architecture
Le serveur ou pfsense doit être équipé de deux interfaces réseaux l’une des interfaces est
reliée au WAN et l’autre au LAN.
Nous avons utilisé une machine virtuelle installée sous VMware avec deux cartes réseaux
l’une ponté sur la carte wifi (WAN) et l’autre sur la carte Ethernet (LAN).
La carte WAN (le1) va récupérer une adresse via DHCP.
6
INSTALLATION ET CONFIGURATION DE FreeRADIUS
FreeRADIUS est un serveur RADIUS libre il offre une alternative aux autres serveurs
d’entreprise RADIUS, et est un des serveurs RADIUS les plus modulaires et riche en
fonctionnalités aujourd’hui. FreeRADIUS est, entre autre, utilisé par des fournisseurs d’accès
à l’internet pour authentifier leurs clients et leur communiquer une configuration IP. Il est
considéré comme le serveur le plus utilisé dans le monde. Pour l’installer on tape la
commande: apt-get install freeradius freeradius-utils freeradius-ldap
7
INSTALLATION ET CONFIGURATION D’OPENLDAP
OpenLDAP est une implémentation libre du protocole LDAP distribuée selon les termes de la
licence OpenLDAP Public Licence. OpenLDAP est un annuaire informatique qui fonctionne
sur le modèle client/serveur. Il contient des informations de n'importe quelle nature qui sont
rangées de manière hiérarchique. Pour bien comprendre le concept, il est souvent comparé
aux pages jaunes, où le lecteur recherche un numéro de téléphone particulier : il va d'abord
sélectionner la profession, puis la ville, puis le nom de l'entrée pour trouver au final le numéro
de téléphone. En pratique, dans un réseau informatique, il est utilisé pour enregistrer une grande
quantité d'utilisateurs ou de services, parfois des centaines de milliers. Il permet d'organiser
hiérarchiquement les utilisateurs par département, par lieu géographique ou par n'importe quel
autre critère.
Dans notre cas nous utilisons le serveur LDAP pour le relier avec notre serveur radius pour
l’authentification.
Dans notre configuration présenté dans les sections suivantes, le nom de domaine du serveur
doit correspondre avec le nom de domaine de notre machine donc le suffixe sera dc=ucad,
dc=sn.
8
Editons maintenant le fichier /etc/ldap/ldap.conf comme indiquer dans la figure
dpkg-reconfigure slapd
Cliquons sur NO
9
Figure 11 : Renseignement du domaine DNS
Cliquons sur Ok puis confirmons le mot de passe. Ensuite configurons la base de données,
Choisissons HDB puis appuyer sur Entrer
10
Figure 14 : Configuration de la base de données
11
Figure 17 : Configuration du protocole LDAPv2 (3)
INSTALLATION DE PHPLDAPADMIN
Tapons les commandes suivantes pour installer phpldapadmin et ses dépendances
Maintenant nous avons besoin de modifier le fichier config.php de phpldapamin pour donner
aux serveurs les droits pour cela tapons la commande : nano /etc/phpldapadmin/config.php
http://10.1.1.2/phpldapadmin
12
Figure 18 : Interface d’administration de phpldapadmin
13
Figure 20 : Interface de connexion de phpldapadmin après connexion
Ajoutons maintenant une Unité organisationnelle pour cela cliquons sur dc=ucad, dc=sn puis
sur ajouter une sous entrée.
14
Figure 23 : Création d’un compte utilisateur
15
COUPLAGE DE LDAP ET DE RADIUS
Editons le fichier /etc/freeradius/modules/ldap puis mettons-y les informations suivantes :
Auth-type LDAP {
ldap
URI ldap://127.0.0.1
Bindpw passer
Port 389
16
Vérifions que les utilisateurs de phpldapadmin peuvent s’authentifier sur radius.
INSTALLATION DE PFSENSE
Insérons l’image de pfsense puis sélectionnons l’option 1
17
Figure 28 : Installation de pfsense
Configurons maintenant les interfaces choisissons le0 pour le Wlan et le1 pour le Lan
18
Fixons maintenant l’adresse de l’interface LAN que cous utiliserons pour l’administration de
l’interface Web. Configurons aussi le DHCP en définissant les plages d’adresses qui seront
attribuées aux clients.
19
Figure 31: Installation de pfsense sur le disque dur
Cliquons ensuite sur ok pour l’installer avec les options par défaut
20
Figure 34: Installation de pfsense (4)
L’installation est à présent fini tapons maintenant l’adresse http://10.1.1.254 au niveau de notre
navigateur pour accéder à l’interface web de pfsense.
Le nom d’utilisateur par défaut est admin et le mot de passe est pfsense.
21
Figure 36: Connexion à l’interface web de pfsense
Cliquons ensuite sur Système puis sur General Setup et renseignons les informations comme
suit :
22
Figure 37: Configuration générale
8.8.8.8 est le serveur DNS de Google et 10.1.1.2 le serveur DNS que nous avons configuré (voir
Annexe).
Cliquons ensuite sur System puis sur Advanced et renseignons les informations suivantes
23
Figure 38: Configuration avancée de pfsense
24
Figure 39: Configuration du DNS forwarder
Cliquons sur Service puis sur DHCP Server pour configurer notre serveur DHCP
Cliquons maintenant sur services puis sur CaptivePortal ensuite sur l’ongle + pour ajouter
un portail captif
25
Figure 41: Ajout d’un portail Captif
Cliquons sur Continue puis renseignons les informations comme indiquer dans la figure
26
Figure 44: Configuration du portail captif (1)
Configuration de Radius
Ensuite dans la partie Portail Page Content cliquons sur choisissez un fichier pour aller
sélectionner le code HTML que nous avons codé pour la page d’authentification (voir
annexe). On fait aussi la même chose pour Authentication Error Page Contents qui sera la
page ou ne serons redirigé s’il y’à erreur d’authentification.
27
Figure 46: Personnalisation du portail
28
Figure 48: Page d’authentification
CONCLUSION
PfSense est donc un moyen efficace pour gérer, protégé, l’accès au Wifi. Les différentes
options qui nous sont proposées permettent d’intégrer parfaitement PfSense dans une
architecture déjà existante, notamment pour l’identification des utilisateurs Ldap via un serveur
Radius.
ANNEXES
Configuration du point d’accès
Connectons nous d’abord à notre point d’accès en renseignant l’adresse IP au niveau du
navigateur puis désactivons le service DHCP.
29
Figure 49: Configuration Point d 'accées
30
Figure 50: Authentication Error Page Content
Créons ensuite le fichier de zone directe db.ucad.sn pour y mettre les informations de zones
31
Figure 51: Création du fichier de zone directe
Créons le fichier de zone inverse db.192 pour y mettre les informations de résolution inverse
32
Redémarrons ensuite le serveur
33