Hotspot — Portail captif

16/07/2009

Hots­pot, por­tail cap­tif … Qu’est ce que c’est ?

1 — Défi­ni­tion d’un Hots­pot et d’un por­tail captif

La déno­mi­na­tion exacte d’un hots­pot est Wire­less Inter­net hots­pot. Il s’agit d’un lieu où la connexion vers un réseau Inter­net est pos­sible via une connexion sans fil et grâce à un ensemble de tech­no­lo­gies et de pro­to­coles misent en œuvre. On parle égale­ment de borne ou de point d’accès Wi-fi. Les hots­pot se sont rapi­de­ment déve­lop­pés à l’échelle mon­dial per­met­tant ainsi à des uti­li­sa­teurs nomades dis­po­sant d’équipements adap­tés (ordi­na­teurs ou télé­phones por­tables com­pa­tibles, PDA et autres) à se connec­ter à Inter­net de par­tout avec beau­coup de sim­pli­cité. Si ces connexions Inter­net sont ouvertes au grand public, cela ne veut pas dire qu’il n’existe aucune pro­tec­tion à l’accès et pour les uti­li­sa­teurs. Nous savons bien qu’une fois connec­tés sur un même réseau, les uti­li­sa­teurs deviennent poten­tiel­le­ment vul­né­rables. La pre­mière des pro­tec­tions qui a été mise en place au sein des hots­pot est le por­tail captif.

Le por­tail cap­tif est un logi­ciel qui s’installe sur un hots­pot et qui per­met de gérer l’authentification des uti­li­sa­teurs qui sou­haitent se connec­ter à Inter­net. Il faut noter que tous les hots­pot ne fonc­tionnent pas sur le prin­cipe d’un por­tail cap­tif, mais pour des rai­sons de sécu­rité de plus en plus de hots­pots sou­haitent aujourd’hui dis­po­ser d’un por­tail captif.

Le por­tail cap­tif a réussi à s’imposer comme la solu­tion pour les réseaux sans fil publics qu’ils soient gra­tuits ou payants. Mais il faut noter que le por­tail cap­tif peut égale­ment fonc­tion­ner 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 for­cer l’utilisateur à s’identifier avant d’accéder au réseau Inter­net. L’identification se fait géné­ra­le­ment via une page Inter­net et pour les hots­pots payant elle peut néces­sité le paie­ment par carte bancaire.

Pour mieux com­prendre le por­tail cap­tif, nous vous invi­tons à pas­ser à la deuxième par­tie de notre exposé dans laquelle nous trai­te­rons exclu­si­ve­ment de la mise en œuvre et du fonc­tion­ne­ment d’un por­tail captif.

2 – Mise en ouvre et fonc­tion­ne­ment d’un por­tail captif

Ins­tal­ler un por­tail cap­tif néces­site de faire le choix entre plu­sieurs solu­tions pos­sibles. Cela veut dire qu’il existe plu­sieurs logi­ciels sus­cep­tibles de ser­vir de por­tail cap­tif. Ces logi­ciels sont sou­vent des solu­tions open source. Ils sont ins­tal­ler sur des équi­pe­ments qui per­met­tant de les faire fonctionner.

La tech­nique du por­tail cap­tif est plus ou moins la même quelque soit la solu­tion uti­li­sée, le but est de mettre en jeu plu­sieurs équi­pe­ments et pro­to­coles per­met­tant à l’utilisateur de se connec­ter au serveur.

Théo­ri­que­ment com­ment ça se présente ?

L’utilisateur com­mence par se connec­ter à un réseau (en filière ou en Wi-fi), cette connexion se fait sans pro­blème grâce à des pro­to­coles spé­ci­fiques. Une fois connecté, l’utilisateur est dirigé auto­ma­ti­que­ment vers un ser­veur DHCP qui lui attri­but une adresse IP. L’adresse IP est une sorte d’identité pour l’utilisateur néces­saire égale­ment pour envoyer des infor­ma­tions (pro­to­cole TCP/IP).

Mais l’utilisateur n’a pas tou­jours accès à Inter­net pour le moment mais il est connecté au réseau. Il va donc lan­cer une page Inter­net. Cette page va envoyer une requête de type Web grâce au pro­to­cole HTTP vers le ser­veur, cette requête passe obli­ga­toi­re­ment par la pas­se­relle qui elle va ren­voyer à l’utilisateur une page web d’authentification.

Si l’utilisateur dis­pose des para­mètres néces­saires (Login/password) pour se connec­ter au réseau. Il va donc les sai­sir et trans­mettre ces infor­ma­tions sur le ser­veur. Il est impor­tant de noter que la page envoyée à l’utilisateur est cryp­tée grâce au pro­to­cole SSL qui per­met de pro­té­ger les don­nées qui sont trans­mises par l’utilisateur pour son authentification.

Il va ensuite se pro­duire un ensemble d’opérations au sein de dif­fé­rents ser­veurs. Dans un pre­mier temps les don­nées cryp­tées sont envoyés dans le ser­veur de base de don­nées qui véri­fie que cet uti­li­sa­teur existe bel et bien. Si le ser­veur de bases de don­nées constate que l’utilisateur existe, selon le por­tail cap­tif en œuvre, il envoie les infor­ma­tions vers le ser­veur d’authentification. Il s’agit du ser­veur radius. Les por­tails cap­tifs cités dans ce dos­sier sont tous com­pa­tibles Radius et pour infor­ma­tion néces­site tous le fonc­tion­ne­ment d’apache, MySQL et PHP. Mais cela n’est pas le cas pour tous les por­tails captifs.

Tou­te­fois, après véri­fi­ca­tion sur le ser­veur d’authentification, des infor­ma­tions liées à l’adresse IP et l’adresse phy­sique (adresse MAC) de l’utilisateur sont envoyées vers la pas­se­relle afin d’ouvrir l’accès à l’utilisateur qui pourra par la suite se connec­ter au réseau Internet.

Ces opé­ra­tions se font en quelques secondes, elles sont qua­si­ment invi­sible pour l’utilisateur qui res­tera ainsi connecté un bon moment mais des requêtes ping lui seront régu­liè­re­ment envoyées afin de véri­fier qu’il est tou­jours connecté. Si le ser­veur constate un moment d’absence, l’utilisateur sera décon­necté et devra par la suite relan­cer la pro­cé­dure d’authentification.

Main­te­nant exa­mi­nons à l’aide d’un schéma ce qui s’est tech­ni­que­ment passé :

Sur ce schéma il appa­raît de nou­veau élément qui n’ont pas été men­tionné dans la par­tie théo­rique. Cela est tout a fait nor­mal car nous esti­mons qu’il est plus facile de détailler un méca­nisme à l’aide d’un schéma.

En fait, il y a pas grand chose de nou­veau par rap­port à ce qui a été dit dans la par­tie théo­rique. Il y a le pare-feu et le LDAP au niveau du ser­veur d’authentification qui n’ont pas été cités. D’autres éléments comme les rou­teurs et autres qui rentrent en jeu n’ont égale­ment pas été cités sur ce schéma. Notre but est de syn­thé­ti­ser le fonc­tion­ne­ment d’un por­tail captif.

Donc si on résume le schéma, l’utilisateur essaye de se connec­ter, il passe par la pas­se­relle qui va cher­cher la page d’authentification dis­po­nible dans le por­tail cap­tif. La pas­se­relle ren­voie à l’utilisateur cette page d’authentification. Ensuite c’est la pro­cé­dure qui s’enchaine jusqu’à l’accès Inter­net. Par contre nous sou­hai­tons égale­ment par­ler du LDAP. Il s’agit du pro­to­cole mis en jeux au niveau du ser­veur d’authentification per­met­tant d’interroger ou de modi­fier l’annuaire. Pour ce qui est du pare-feu, pas grand chose à dire, il s’agit sim­ple­ment d’une pro­tec­tion mise en place lorsque l’accès à Inter­net est effec­tive. Mais nous tenons quand même à signa­ler que le pare-feu est géré par des iptables, ce qui per­met clas­ser le tra­fic et d’identifier grâce au tables mangle et au fil­ter un tra­fic pou­vant cor­res­pondre à un couple adresse MAC/adresse IP. C’est une par­tie lié à la sécu­rité que nous sou­hai­tions mettre en évidence.

3 – Les pro­to­coles uti­li­sées dans le cadre d’un por­tail captif

Dans le cadre d’un por­tail cap­tif, de nom­breux pro­to­coles sont mis en ser­vice. Les prin­ci­paux sont les suivants :

- Le pro­to­cole HTTP et HTTPS : Il per­met la com­mu­ni­ca­tion entre le client et le ser­veur. Grâce au HTTPS, les com­mu­ni­ca­tions peuvent être sécu­risé. Il est uti­lisé lors de l’envoie des don­nées sen­sibles comme les mots de passe.

- Pro­to­cole IP : Pour l’adressage des machines et l’acheminement des données

- Le pro­to­cole SSL : Uti­lisé spé­cia­le­ment dans le trans­mis­sion des para­mètres de connexion ou le paie­ment pour carte ban­caire (Pour les hots­pot payants). Il per­met de trans­por­ter les don­nées chiffrées.

- Le pro­to­cole EAP : Spé­cia­le­ment uti­lisé pour contrôle d’accès. Il per­met d’établir l’accès à un réseau pour l’utilisateur.

- LDAP : Il per­met inter­ro­ger et de modi­fier les ser­vices de l’annuaire au niveau pour le ser­veur d’authentification.

4 – Avan­tages et inconvénients

Mal­heu­reu­se­ment, un por­tail cap­tif pré­sente plu­sieurs incon­vé­nients mais il y a égale­ment quelques avantages.

Parmi les incon­vé­nients on note :

- Il n’existe mal­heu­reu­se­ment pas un sys­tème entiè­re­ment sécu­risé avec un risque zéro.

- On ne peut pas se fier à la fia­bi­lité des utilisateurs.

- Une fois connecté l’usurpation d’identité reste pos­sible car les adresses MAC et IP d’un uti­li­sa­teur sont faci­le­ment imitables.

- Même si l’authentification se fait sur un pro­to­cole sécu­risé, il se peut que la trans­mis­sion des don­nées se fassent en clair.

Mal­heu­reu­se­ment, mal­gré toutes les mesures que l’on peut prendre le risque zéro n’existe pas et même si un por­tail cap­tif per­met de fil­trer l’accès au hots­pot, cela ne veut pas dire que l’on a réussi à se mettre à l’abri.

Mais il faut dire qu’un por­tail cap­tif a réussi à réduire consi­dé­ra­ble­ment les risques, d’attaque sur les réseaux public. C’est un sys­tème qui per­met de dis­sua­der les uti­li­sa­teurs mal­veillants à bien se tenir. Son prin­ci­pal avan­tage est l’authentification obli­ga­toire. Lorsqu’on se connecte à un hots­pot via un por­tail cap­tif, les infor­ma­tions deman­dées ont très sou­vent un rap­port avec notre identité.

Cette tech­nique est mise ne place au sein des por­tails cap­tifs afin de garan­tir la tra­ça­bi­lité de toutes les actions effec­tuées sur le serveur.

Mais com­ment assu­rer la tra­ça­bi­lité de chaque acti­vité ? Cette ques­tion nous amène au der­nier point de notre exposé lié à la sécurité :

5 – Les ser­vices de sécu­rité offerts.

La pre­mière sécu­rité qu’offre un por­tail cap­tif est l’authentification, cela per­met par la suite de mettre en place tout un de ser­vice de sécu­rité car les uti­li­sa­teurs sont tous iden­ti­fiables. Cette par­tie lié aux ser­vice de sécu­rité nous per­met de répondre sur les pos­si­bi­li­tés offertes par le logi­ciel libre. Il faut savoir que la plu­part des por­tails cap­tifs sont open source, mais le logi­ciel libre met égale­ment à la dis­po­si­tion des admi­nis­tra­teurs réseaux une pano­plie de logi­ciels liés à la ges­tion et la sur­veillance des réseaux.

spacer