Le portail captif est un logiciel qui s'installe sur un hotspot et qui permet de gérer l'authentification des utilisateurs qui souhaitent se connecter à Internet. Il faut noter que tous les hotspot ne fonctionnent pas sur le principe d'un portail captif, mais pour des raisons de sécurité de plus en plus de hotspots souhaitent aujourd'hui disposer d'un portail captif.

Le portail captif a réussi à s'imposer comme la solution pour les réseaux sans fil publics qu'ils soient gratuits ou payants. Mais il faut noter que le portail captif peut également fonctionner sur des réseaux filières. Il n'y pas d'exception entre réseau sans fil ou réseau filière, le but est de forcer l'utilisateur à s'identifier avant d'accéder au réseau Internet. L'identification se fait généralement via une page Internet et pour les hotspots payant elle peut nécessité le paiement par carte bancaire.

Pour mieux comprendre le portail captif, nous vous invitons à passer à la deuxième partie de notre exposé dans laquelle nous traiterons exclusivement de la mise en œuvre et du fonctionnement d'un portail captif.

2 – Mise en ouvre et fonctionnement d'un portail captif

Installer un portail captif nécessite de faire le choix entre plusieurs solutions possibles. Cela veut dire qu'il existe plusieurs logiciels susceptibles de servir de portail captif. Ces logiciels sont souvent des solutions open source. Ils sont installer sur des équipements qui permettant de les faire fonctionner.

Voici une liste non exhaustive des portails captifs open source :

WifiDog Chillispot NoCatSplash Nocatauth

La technique du portail captif est plus ou moins la même quelque soit la solution utilisée, le but est de mettre en jeu plusieurs équipements et protocoles permettant à l'utilisateur de se connecter au serveur.

Théoriquement comment ça se présente ?

L'utilisateur commence par se connecter à un réseau (en filière ou en Wi-fi), cette connexion se fait sans problème grâce à des protocoles spécifiques. Une fois connecté, l'utilisateur est dirigé automatiquement vers un serveur DHCP qui lui attribut une adresse IP. L'adresse IP est une sorte d'identité pour l'utilisateur nécessaire également pour envoyer des informations (protocole TCP/IP).

Mais l'utilisateur n'a pas toujours accès à Internet pour le moment mais il est connecté au réseau. Il va donc lancer une page Internet. Cette page va envoyer une requête de type Web grâce au protocole HTTP vers le serveur, cette requête passe obligatoirement par la passerelle qui elle va renvoyer à l'utilisateur une page web d'authentification.

Si l'utilisateur dispose des paramètres nécessaires (Login/password) pour se connecter au réseau. Il va donc les saisir et transmettre ces informations sur le serveur. Il est important de noter que la page envoyée à l'utilisateur est cryptée grâce au protocole SSL qui permet de protéger les données qui sont transmises par l'utilisateur pour son authentification.

Il va ensuite se produire un ensemble d'opérations au sein de différents serveurs. Dans un premier temps les données cryptées sont envoyés dans le serveur de base de données qui vérifie que cet utilisateur existe bel et bien. Si le serveur de bases de données constate que l'utilisateur existe, selon le portail captif en œuvre, il envoie les informations vers le serveur d'authentification. Il s'agit du serveur radius. Les portails captifs cités dans ce dossier sont tous compatibles Radius et pour information nécessite tous le fonctionnement d'apache, MySQL et PHP. Mais cela n'est pas le cas pour tous les portails captifs.

Toutefois, après vérification sur le serveur d'authentification, des informations liées à l'adresse IP et l'adresse physique (adresse MAC) de l'utilisateur sont envoyées vers la passerelle afin d'ouvrir l'accès à l'utilisateur qui pourra par la suite se connecter au réseau Internet.

Ces opérations se font en quelques secondes, elles sont quasiment invisible pour l'utilisateur qui restera ainsi connecté un bon moment mais des requêtes ping lui seront régulièrement envoyées afin de vérifier qu'il est toujours connecté. Si le serveur constate un moment d'absence, l'utilisateur sera déconnecté et devra par la suite relancer la procédure d'authentification.

Maintenant examinons à l'aide d'un schéma ce qui s'est techniquement passé :

Sur ce schéma il apparaît de nouveau élément qui n'ont pas été mentionné dans la partie théorique. Cela est tout a fait normal car nous estimons qu'il est plus facile de détailler un mécanisme à l'aide d'un schéma.

En fait, il y a pas grand chose de nouveau par rapport à ce qui a été dit dans la partie théorique. Il y a le pare-feu et le LDAP au niveau du serveur d'authentification qui n'ont pas été cités. D'autres éléments comme les routeurs et autres qui rentrent en jeu n'ont également pas été cités sur ce schéma. Notre but est de synthétiser le fonctionnement d'un portail captif.

Donc si on résume le schéma, l'utilisateur essaye de se connecter, il passe par la passerelle qui va chercher la page d'authentification disponible dans le portail captif. La passerelle renvoie à l'utilisateur cette page d'authentification. Ensuite c'est la procédure qui s'enchaine jusqu'à l'accès Internet. Par contre nous souhaitons également parler du LDAP. Il s'agit du protocole mis en jeux au niveau du serveur d'authentification permettant d'interroger ou de modifier l'annuaire. Pour ce qui est du pare-feu, pas grand chose à dire, il s'agit simplement d'une protection mise en place lorsque l'accès à Internet est effective. Mais nous tenons quand même à signaler que le pare-feu est géré par des iptables, ce qui permet classer le trafic et d'identifier grâce au tables mangle et au filter un trafic pouvant correspondre à un couple adresse MAC/adresse IP. C'est une partie lié à la sécurité que nous souhaitions mettre en évidence.

3 – Exemples de portail captif

De nombreux opérateurs Internet proposent des accès Internet via des hotspot. Ces accès sont quasiment tous gérés par des portails captifs, Prenons deux exemples de portail captif que nous avons eu l'occasion d'utiliser :

Le hotspot Neuf Télécom

C'est l'un des hotspot le plus présent dans les villes de France. Pour se connecter, il faut dans un premier temps se connecter physiquement au réseau, on est ensuite dirigé vers une page d'authentification. Cette authentification est réservée aux abonnés neuf télécom. Pour un première accès, il faut s'inscrire en communiquant des informations relatives à son compte client. On reçoit automatiquement des paramètres de connexions avec lesquels on peut s'authentifier afin de pouvoir accéder au réseau public Internet.

Par contre pour des raisons de sécurité, le mot de passe d'authentification est régulièrement changé (tous les deux mois approximativement) et envoyé par mail à l'abonné neuf.

Le hotspot de la médiathèque de Limoges

Nous avons eu également l'occasion de se connecter au hotspot de la médiathèque de la ville de Limoges. La procédure est quasiment la même, mais ici, l'authentification se fait avec le numéro d'abonné disponible sur la carte d'abonnement. La particularité de ce hotspot est qu'il déconnecte régulièrement et cela, généralement après 5 voir 6 minutes d'inactivité sur son poste. Dans les deux, il y a un point commun, c'est celui de la sécurité. Il s'agit de l'authentification... La question que l'on se pose est de savoir pourquoi l'authentification se fait avec des données qui permettent de facilement vous identifier. Nous aborderons cette question dans le dernier points de notre exposé lié à la sécurité du portail captif.

4 – Les protocoles utilisées dans le cadre d'un portail captif

Dans le cadre d'un portail captif, de nombreux protocoles sont mis en service. Les principaux sont les suivants :

- Le protocole HTTP et HTTPS : Il permet la communication entre le client et le serveur. Grâce au HTTPS, les communications peuvent être sécurisé. Il est utilisé lors de l'envoie des données sensibles comme les mots de passe.

- Protocole IP : Pour l'adressage des machines et l'acheminement des données

- Le protocole SSL : Utilisé spécialement dans le transmission des paramètres de connexion ou le paiement pour carte bancaire (Pour les hotspot payants). Il permet de transporter les données chiffrées.

- Le protocole EAP : Spécialement utilisé pour contrôle d'accès. Il permet d'établir l'accès à un réseau pour l'utilisateur.

- LDAP : Il permet interroger et de modifier les services de l'annuaire au niveau pour le serveur d'authentification.

5 – Avantages et inconvénients

Malheureusement, un portail captif présente plusieurs inconvénients mais il y a également quelques avantages.

Parmi les inconvénients on note :

- Il n'existe malheureusement pas un système entièrement sécurisé avec un risque zéro.

- On ne peut pas se fier à la fiabilité des utilisateurs.

- Une fois connecté l'usurpation d'identité reste possible car les adresses MAC et IP d'un utilisateur sont facilement imitables.

- Même si l'authentification se fait sur un protocole sécurisé, il se peut que la transmission des données se fassent en clair.

Malheureusement, malgré toutes les mesures que l'on peut prendre le risque zéro n'existe pas et même si un portail captif permet de filtrer l'accès au hotspot, cela ne veut pas dire que l'on a réussi à se mettre à l'abri.

Mais il faut dire qu'un portail captif a réussi à réduire considérablement les risques, d'attaque sur les réseaux public. C'est un système qui permet de dissuader les utilisateurs malveillants à bien se tenir. Son principal avantage est l'authentification obligatoire. Lorsqu'on se connecte à un hotspot via un portail captif, les informations demandées ont très souvent un rapport avec notre identité.

C'est le cas pour l'abonné NEUF ou celui de la médiathèque de la ville de Limoges, pour reprendre les exemples citées dans ce dossier.

L'abonné NEUF reçoit des codes d'accès qui sont directement lié à son compte client. Tout comme celui de la médiathèque. Les codes qui lui donne accès au hotspot ne sont autres que sont NOM et son numéro d'abonné.

Cette technique est mise ne place au sein des portails captifs afin de garantir la traçabilité de toutes les actions effectuées sur le serveur.

Mais comment assurer la traçabilité de chaque activité ? Cette question nous amène au dernier point de notre exposé lié à la sécurité :

6 – Les services de sécurité offerts.

La première sécurité qu'offre un portail captif est l'authentification, cela permet par la suite de mettre en place tout un de service de sécurité car les utilisateurs sont tous identifiables. Cette partie lié aux service de sécurité nous permet de répondre sur les possibilités offertes par le logiciel libre. Il faut savoir que la plupart des portails captifs sont open source, mais le logiciel libre met également à la disposition des administrateurs réseaux une panoplie de logiciels liés à la gestion et la surveillance des réseaux.

La liste des logiciels de surveillance n'est pas exhaustive, et l'utilisation de tel ou tel logiciel dépend des besoins de l'administrateur, charger d'assurer la surveillance et le bon fonctionnement du serveur.

Voici une liste non exhaustive :

Sebek : outil de surveillance du système, permet de capturer et d'analyser le trafic, les sondes IDS, et analyser de logs. C'est un outil de surveillance en profondeur. Il donne une vision plus ou moins complète des activités suspicieuse.

Hflow : outil de surveillance des flux réseau. Il permet d’identifier la quantité de données échangées

Tcpdump: outil qui permet d’enregistrer toutes les trames réseau

netsat: outil permettant d’indiquer l’état des connexions réseaux en cours en indiquant les connexions TCP et UDP. Il permet également d'afficher toutes les connexions y compris celles des serveurs en attente de connexion. Il afficher également le nom de l’utilisateur de l’utilisateur utilisant un programme et le port utilisé par le programme.

Walleye: outil qui permet de consulter les informations recueilli après inspection d’un système attaqué.

Chkrootkit: outil qui permet de détecter les traces d’une attaque en recherchant la présence de rootkit sur un système infecté.

Sources :

http://www.brest-wireless.net/wiki/softs/portail_captif

http://fr.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol

http://olivieraj.free.fr/fr/linux/information/firewall/fw-02-02.html

http://projets-gmi.iup.univ-avignon.fr/projets/proj0708/M1/p10/doc/Rapport_1er_semestre.pdf

http://old.apc.org/wireless/wsis_wireless_3.pdf