MISE EN PLACE D’UN PORTAIL CAPTIF
1
I-
Etude du cahier de charge et recherche de solutions :
La société CAP-Avenir hébergeant des entreprises locataires. Celles-ci Celles ci souhaitant mettre à disposition de leur personnel l’accès au Wi-Fi, Wi Fi, le directeur de Cap Avenir veut mettre en place un accès rapide et sécurisé à internet. Ainsi, suite à nos recherches nous avons retenu la solution du portail captif. captif Un portail captif est une méthode permettant de gérer l’accès à un réseau(ou à internet) via une authentification sur une page web.
a. Principe de fonctionnement du portail captif : Lorsqu'un utilisateur cherche à accéder à Internet Internet pour la première fois, le portail capte sa demande de connexion grâce à un routage interne et lui propose 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 ptif grâce au serveur HTTP. Ceci permet à tout ordinateur équipé d'un navigateur web 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. tr Les identifiants de connexion (Login et Mot de passe) 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é il se voit autorisé à utiliser son accès Internet pour une durée fixée par l'administrateur. A la fin de la durée fixée, l'utilisateur se verra redemander redemande ses identifiants de connexions afin d'ouvrir une nouvelle session.
b. Solutions existantes et choix de Pfsense : Nous avons récupéré une liste liste des portails captifs existant et les avons comparés. Caractéristiques
NoCatSplash Talweg Wifidog Chillispot Pfsense
Simplicité d'installation Infrastructure nécessaire Performances & consommation réseau Gestion utilisateurs
2
Sécurité authentification Sécurité communications Protocoles supportés Crédit temps Interface d'administration / Statistiques Légende: : Non Disponible. : Plus ou moins.
Au vu de ce comparatif PfSense nous apparaît plus apte à répondre à notre projet. projet En effet c’est cette solution qui répond le mieux aux critères de : - Disponibilité (Firewall, Firewall, LoadBalancing, LoadB etc.) - Confidentialité (HTTPS Web GUI, HTTPS HTTPS authentification, IPSEC, PPTP, etc...) - « Auditabilité » (Statistique très nombreuse) -
Mise
à
jour
(Possibilité Possibilité
de
mise
à
jour
du
système
sans
réinstallation,
packagestéléchargeables estéléchargeables directement depuis le Web GUI, etc…). - Simplicité d’administratio ’administration (autonome et en local), d’installation. - Autonomie complète. - Toujours en évolution en évolution
c. Schéma Général dePfsense Pfsense est une distribution open source (licence BSD) gratuite pour transformer un pc en pare-feu.. La base du système est FreeBSD, et pfSense est un fork de mOnOwall. Il intégre beaucoup de fonctionnalité dont celle qui nous intéresse, la portail captif.
3
4
II-
Préparation, installation et configuration de Pfsense : a. Installation de Pfsense
Il existe deux façons de faire marcher le portail captif de Pfsense : sur le disque dur ou via un Live CD. Cette dernière solution est très rapide et efficace. Le chargement se fait automatiquement ainsi que saconfiguration. Mais elle possède tout de même des inconvénients : _ Chargement long _ Configuration stockée sur disquette (les disquettes sont peu fiables) _ Impossibilité d'ajouter des "packages" (logiciels), on ne peut pas toucher à la structure du CD. Pour uneimplantation dans un réseau, il vaut mieux l'installer sur un disque dur. Nous avons alors choisi un ordinateur dont la configuration est largement suffisante.
Après avoir téléchargé l’ISO sur le site de PfSense : http://www.pfsense.org nous l’avons gravé sur CD afin de passer à l’installation. Au lancement nous avons obtenu cet écran :
Nous avons laissé le choix par défaut puis appuyé sur « Entrez » pour arriver, au bout de quelques secondes à l’écran suivant :
Puis nous avons tapé sur la lettre ‘i’ pour installer pfSense en dur. (N.B. : Si, au bout de 10 secondes, nous ne répondons rien à cet écran, pfSense se lance en Live-CD). C’est alors que l’installation proprement dite doit démarrer par cet écran :
5
A l’aide des touches flèches du clavier nous avons sélectionné
pour une installation par défaut.
Toujours, pour une installation par défaut, nous avons choisi avec les flèches du clavier et appuyé sur [Entrée].
Nous confirmons en choisissant < OK > avec les flèches du clavier et appuyonssur[Entrée].
Un écran comme celui-si s’affiche, que nous avons laissé faire jusqu’à l’écran suivant.
Nous choisissons avec les flèches du clavier et appuyons sur [Entrée]. 6
Un écran comme celui-ci s’affiche, nous laissons faire jusqu’à l’écran suivant.
Et en fin nous choisissons < Reboot > et appuyons sur [Entrée]. Notre ordinateur va redémarrer. Il faut surtout veiller à enlever le CD-ROM du lecteur CD/DVD pour que pfSense puisse démarrer (sinon nous allons démarrer à nouveau sur le CD d’installation de pfSense et non pas sur votre disque dur). - Une fois notre ordinateur redémarré, nous arrivons sur un écran qui nous demande si nous voulons créer des VLANs. A ce stade nousnotons surtout sur un papier le nom de nos interfaces ; ce qui nous sera très utile au moment où on nous demandera de les attribuer. Pour notre exemple nous avons ‘rl0′ et ‘pcn0′. Une fois nos interfaces notées et n’ayant pas le besoin de VLAN, nous avons répondu non à la question des VLANs en tapant ‘n’, puis en appuyant sur [Entrée]. - Ensuite nous avons choisi manuellement l’interface‘rl0′ pour WAN. [Nous pouvions le faire en appuyant sur ‘a’ pour que pfSense détecte automatiquement notre interface. Juste ne pas oublier que le clavier est en qwerty] et nous avons appuyé sur [Entrée]. - Nous avons fait pareillement pour définir la LAN qui est ‘pcn0′ puis nous avons validé par [Entrée].
- A la question de savoir s’il y a une autre interface à paramétrer nous avons répondu non. - Les deux interfaces sont attribuées et listées ; pour leurprise en compte nous répondons « y » à la dernière question.
7
Voilà, ainsi avons-nous fini l’installation de Pfsense, nous avons procédé par la suite à sa configuration. b. Configuration de Pfsense Pfsense fonctionnel, nous sommes passés à la configuration. Nous avons pris la précaution de changer l’adresse du LANen choisissant dans la console le choix 2, Set LAN IP address. une interface graphique (http) en connectant un PC sur la carte associé au LAN.
Nous allons pouvoir maintenant configurer Pfsense via l'interface Web. Pour cela nous avons connecté une machine sur la carte réseau de Pfsense du côté du LAN. Nous avons ouvert un navigateur et avons entré l’adresse de Pfsense : http://192.168.2.1
Pour se connecter à l’interface graphique nous avons introduit les identifiants par défaut :le usernamepar défaut admin, et mot de passe : pfsense. Nous allons au menu System, puis General Setup 8
La configuration générale de Pfsense se trouve sur cette page. En effet nous avons entré ou modifié les informations suivantes : Nom de la machine : pfsense Le domaine : integrale.lan L'IP du DNS :109.0.66.20 (Serveur DNS du FAI de Cap Avenir) Nous avons fait attention à décocher l'option se trouvant dessous (Allow DNS server list to beoverriddenby DHCP/PPP on WAN). En effet, cette option provoque des conflits puisque le DNS des clients n'estplus Pfsense, mais un DNS du WAN inaccessible par le LAN. Nous avons ensuite modifié le nom et le mot de passe du compte permettant de se connecter sur Pfsense pour des raisons de sécurité.
Nous avons ensuite activé l'accès à ces pages, via une connexion sécurisée SSL en cochant le protocole HTTPS. Entrez le port 443 dans webConfigurator (correspondant à SSL).
Nous avons modifié le serveur NTP et le fuseau horaire pour régler notre horloge. Enfin, nous avons changé le thème d'affichage de Pfsense. En effet, le thème par défaut(metallic), comporte quelques bugs (problème d'affichage, lien disparaissant). Mettez donc le thème"Pfsense".
9
Ensuite, toujours dans "System", allez dans Advanced. Ici, nous avons activé la connexion SSH afin de l'administrer à distance sans passer par l'interface graphique (en cas de besoin).
Les paramètres généraux de Pfsense réglés, nous sommes passés à la configuration des interfaces.
c. Configuration des interfaces : Voilà comment se sont passées en détail les configurations des interfaces LAN et WAN. Dans Interface, puis WAN pour commencer, nous avons rentré l’adresse IP de la carte réseaucoté WAN, ainsi que l'adresse IP de la passerelle.
La carte LAN était normalement bien configurée mais nous avons vérifié :
10
Enfin, dans la partie DNS forwarder, nous avons activé l'option Enable DNS forwarder. Cette option va permettre à Pfsense de transférer et d'émettre les requêtes DNS pour les clients.
III-
Le Portail Captif: a. Paramètres Généraux :
Afin de mettre en place le portail captif, nous sommes allé dans la section Captive Portal puis effectué l’ensemble des manipulations ci-après : Coché la case Enable captive portail, puis choisi l'interface sur laquelle le portail captif va écouter (LAN dans notre cas). Dans les 2 options suivantes, nous avons défini les temps à partir desquelles les clients serontdéconnectés. Idle Timeout définit le temps à partir duquel un client inactif seradéconnecté automatiquement. Nous l’avons mis à 30 minutes Hard Timeout définie le temps à partir duquel un client sera déconnecté quel que soit son état ; définie à trois heures soit 180 minutes Ensuite, nous pouvions activer ou pas un pop-up qui va servir au client de se déconnecter. Mais nous n’avons pas jugé utile de le faire.
11
After Authentification Redirection URL : activé, pour rediriger le client authentifié vers une Url donnée (ici la page d’accueil du site Cap Avenir un peu de publicité !). Concurrent user logins : nous l’avons activé pour éviter que deux personnes se connectent avec le même login. L’utilisateur pourra se connecter sur une seule machine à la fois. Ce qui permet de limiter les usurpations d’identité pour se connecter.
Il est possible ensuite de rediriger un client vers une URL spécifique. Nous avons préféré dene rien mettre afin de laisser la liberté au client de gérer leur page de démarrage.Afterauthentication Redirection URL Le paramètre suivant, permet d'éviter les redondances de connexions. En effet,l'utilisateur pourra se connecter sur une seule machine à la fois. Cela va donc limiter les usurpationsd'identité pour se connecter.
b. L’authentification : Concernant l’authentification, trois possibilités s’offrent à nous. _ Sans authentification, les clients sont libres. _ Via un fichier local où les utilisateurs sont enregistrés _ Via un serveur RADIUS externe
Pour le contexte Cap Avenir nous avons choisi l’authentification via un fichier local. Dans le menu System / User Manager
Après avoir cliqué sur la petite croix(add user), on obtiens cette fenêtre pour créer les utilisateurs
12
Après avoir créée le premier utilistaeur, nous sommes passés au test de fonctionnement du portail captif, qui a été concluant.
c. Sécurisation : PfSense, à son installation, est dénué de toute sécurité. C’est assez embêtant dans la mesure où par exemple un mot de passe en clair serait facile à intercepter. Plusieurs étapes sont à prendre en compte : - L’accès au Web Configurator (l’interface d’administration) - L’authentification de l’utilisateur - L’après authentification, Une communication cryptée
IV-
Configuration du point d’accès :
Comme point d’accès nous avons utilisé un routeur Lynksys Cisco WRT160Nv2. La configuration a consisté en : -
Attribution d’une adresse IP dans le réseau du LAN pour pouvoir accéder à l’interface de gestion du routeur.
13
-
Désactivation de service DHCP du routeur. C’est le DCHP de Pfsense qui attribue les adresses
-
Activation de la diffusion du SSID et modification du nom du SSID en « Portail Cap Avenir »
-
Désactivation du mode de sécurité du SSID
-
V-
Tests de connexion :
Tests de connexion avec quelques users créés et concluant. Test des paramètres de connections (Idle time out, Hard time out etc.)
14
VI-
Mise en production et Administration :
Serveur installé, attribution d’une adresse IP coté WAN dans le plan d’adressage du réseau, ajouté au réseau, exclusion d’adresse IP sur le serveur DHCP pour pas de conflits. Tests d’intégration : Effectué
Administration graphique L’administration de Pfsense se fait en mode graphique par l’interface du LAN.
CONCLUSION La mise en place de cette solution ne s'est pas faite sans embuche. En effet pour pouvoir réaliser ce projet de bout en bout, nous avons dû faire preuve d'un auto-apprentissage acharné en ce qui concerne le monde UNIX/FreeBSD. Aussi après comparatif et test, Pfsense est le meilleur compromis. Cette solution de portail captif est stable, simple d'utilisation, modulable, évolutive et sécurisée. Mettre en place un portail captif est une chose, mais il faut en assurer la sécurité. Alors que les problèmes de sécurité deviennent de plus en plus importants dans les réseaux, et notamment sur Internet, il convient d'être conscient des forces et des limites du portail captif, et des autres solutions existantes afin d'assurer le meilleur rapport praticabilité/sécurité. Le portail captif est particulièrement adapté à des accès réseaux pour de nombreuses personnes, généralement de passage : il garantit une facilité d'utilisation par le client, qui a priori n'aura besoin d'aucun support de la part de l'équipe technique qui sera responsable du portail. Dans le cadre d'un accès plus restreint et plus sécurisé à Internet, nous pourrons nous retourner sur les VPN ou le cryptage du réseau WiFi, mais ces méthodes requièrent un support sur les machines clientes; voir des mises à jour fréquentes de Pfsense car ces solutions doivent évoluer en permanence pour rester sûres.
15