Comment fonctionnent les connexions réseau de portail captif?


8

L'accès à Internet dans les hôtels, les cafés des aéroports est souvent contrôlé par un portail captif qui vous oblige à une page Web particulière lors de la première utilisation, par exemple une page de paiement ou une page pour accepter des conditions de service ou une page d'authentification / autorisation. Vous voyez cela avec des connexions filaires et sans fil.

Comment cela marche-t-il?


1
Un peu comme ça, mais pas fait pour le mal. ex-parrot.com/~pete/upside-down-ternet.html
Zoredache

Réponses:


14

Cela varie certainement selon le fournisseur du produit sans fil, mais d'après mon expérience, cela fonctionne généralement comme ceci:

  1. Votre ordinateur portable établit une connexion sans fil avec un point d'accès intelligent, qui peut être connecté à une station de gestion centralisée.
  2. Votre première demande Web est interceptée et répondue avec un en- Location:tête qui vous redirige vers une page de connexion / politique (par exemple http://hotelwireless.net/login ). Cela peut vivre directement sur le point d'accès intelligent ou sur une station de gestion centrale.
  3. Une fois l'authentification terminée, votre adresse MAC est ajoutée à une liste de clients autorisés, ce qui permet d'acheminer correctement les demandes futures vers Internet ou des ressources intranet accessibles.

En ce qui concerne comment l'appeler, je l'ai entendu le plus souvent appelé «portail captif» ou «portail d'accès sans fil».


2
Je l'ai également vu utiliser DNS, donc la première requête DNS sera résolue sur la page de connexion / politique.
Niko SP

1
Cherchez-vous à en créer un? Il existe des distributions Linux rapides, faciles et sécurisées comme pfSense que vous pouvez déployer en moins d'une heure.
G Koe

2
Comment fonctionne le côté client? Windows 10, après avoir obtenu une telle connexion wifi, lancera le navigateur par défaut pour accéder au portail. Les téléphones Android 5 lanceront une Sign-in to Networkapplication (pas le navigateur par défaut) qui affichera simplement cette page de portail. Y a-t-il un nouveau protocole impliqué? Quelles sont ses spécifications?
Old Geezer

Je sais que c'est un vieux message, mais comment intercepter les premières requêtes Web (ou plutôt les demandes Web jusqu'à ce que l'utilisateur se soit authentifié par un moyen comme cliquer sur un bouton)?
Dominik

4

Tout d'abord pour réaliser la redirection, vous avez besoin d'un authentificateur en ligne (contrôleur d'accès). Dans le contexte de votre sujet, vous aurez besoin d'un contrôleur LAN sans fil si vous optez pour la gestion centrale de l'AP. OU vous pouvez également placer un contrôleur d'accès réseau de type portail captif avec des fonctionnalités de jardin mural.

Le NAS surveille le trafic entrant dans la liaison descendante (côté client) via un socket brut en mode promiscuous et lorsque le trafic initié par le navigateur pour un client non authentifié est détecté, une redirection HTTP lui est donnée en réponse. Ainsi, le navigateur à la réception est redirigé vers notre page d'accueil du portail CAPTIVE, qui peut être hébergée en ligne sur l'authentificateur ou hors boîte sur un serveur Web externe.

Le seul travail de cette page est de fournir à l'utilisateur une interface utilisateur pour entrer les informations d'identification. les informations d'identification saisies sont retransmises au démon authentificateur comme le piment en cas de piment coova, ces informations sont ensuite transmises en tant que demande de rayon au serveur RADIUS ou peuvent être vérifiées localement. Une fois l'authentification réussie, l'état du client à l'authentificateur est marqué autorisé et le client se voit accorder l'accès.

Comment la redirection est réalisée

L'approche la plus largement utilisée consiste à intercepter la requête HTTP initiée par l'utilisateur et le code 302 en réponse au client. Dans le piment, cela se fait via la fonction ci-dessous

http_redirect2() {

cat < <  EOF
HTTP/1.1 302 Redirect 

Location: $1

Set-Cookie: PORTAL_SESSIONID=$PORTAL_SESSIONID

Set-Cookie: COOVA_USERURL=$COOVA_USERURL

Connection: close

EOF
    exit

}

Cette redirection peut être facilement réalisée avec une interface tun tap contrôlée de manière pragmatique vers une interface côté client qui intercepte le trafic client. Une redirection supplémentaire peut également être obtenue via l'empoisonnement DNS, mais peut parfois causer des problèmes si les réponses sont mises en cache sur le navigateur client. D'autres choses peuvent être faites plus spécifiquement en fonction du domaine problématique. Je peux vous aider avec ça si vous voulez.


2

Il y a une grande description de cela à https://www.arubanetworks.com/vrd/GuestAccessAppNote/wwhelp/wwhimpl/js/html/wwhelp.htm .

En voici une partie:

Processus d'authentification du portail captif

Le portail captif est une authentification de couche 3, qui nécessite que les appareils se connectent au réseau et obtiennent une adresse IP et les informations DNS associées avant de s'authentifier via le portail captif. Les étapes suivantes expliquent l'intégralité du processus du portail captif lorsque ArubaOS natif est utilisé pour l'authentification du portail captif:

1. Le périphérique qui s'associe au SSID invité se voit attribuer un rôle initial (rôle de connexion invité dans l'exemple de configuration). Ce rôle initial permet DHCP, afin que l'utilisateur obtienne une adresse IP.

2. L'utilisateur ouvre un navigateur et fait une demande HTTP (ou HTTPS) vers une destination (par exemple, www.bbc.com).

3. Le résolveur de l'appareil envoie une demande DNS pour résoudre le site www.bbc.com. Le rôle initial (rôle d'ouverture de session invité) autorise les services DNS, afin que le résolveur puisse communiquer avec le serveur DNS.

4. Le serveur DNS répond avec l'adresse correcte à www.bbc.com.

5. Le résolveur indique au navigateur l'adresse IP à utiliser en fonction de la réponse DNS.

6. Le navigateur établit une connexion TCP au port 80 de l'adresse www.bbc.com.

7. Le contrôleur intercepte la connexion et usurpe les prises de contact TCP initiales du processus HTTP. En ce moment, le navigateur client pense qu'il communique avec le serveur bbc.com.

8. Lorsque le navigateur envoie la demande HTTP GET pour la page Web, le contrôleur répond en disant que bbc.com a «temporairement déménagé» vers.

9. Le navigateur ferme la connexion.

10. Le navigateur tente de se connecter, mais il doit d'abord envoyer une demande DNS pour l'adresse.

11. Le serveur DNS réel répond qu'il ne peut pas résoudre https://securelogin.arubanetworks.com , mais le contrôleur intercepte cette réponse et modifie le paquet pour dire que securelogin.arubanetworks.com est à l'adresse IP du contrôleur lui-même. N'oubliez pas qu'il est essentiel que le serveur DNS renvoie une réponse à la requête. Ce n'est qu'alors que le contrôleur peut usurper la réponse du serveur DNS. L'envoi d'une demande DNS sans recevoir de réponse n'est pas suffisant, car sans réponse, le contrôleur n'aidera jamais le client à résoudre securelogin.arubanetworks.com.

12. Le navigateur initie une connexion HTTPS à l'adresse du contrôleur, qui répond avec la page de connexion au portail captif, où le client s'authentifie.

13. Une fois l'authentification réussie, l'utilisateur se voit attribuer le rôle de post-authentification (rôle d'invité auth dans l'exemple de configuration). Il s'agit du rôle par défaut dans le profil de portail captif.

14. Après l'authentification, le navigateur est redirigé vers bbc.com à l'adresse initialement résolue par le DNS. Alternativement, si une page d'accueil est configurée, le navigateur est redirigé vers la page d'accueil.

15. Pour réussir la redirection vers la page Web d'origine, le contrôleur usurpe une réponse de bbc.com pour indiquer au client que bbc.com a «définitivement déménagé» vers bbc.com. Cette étape corrige la «réinstallation temporaire» qui s'est produite lors de la connexion au portail captif.

16. Cela oblige le client à réinterroger DNS pour l'adresse de www.bbc.com.

17. Le navigateur commence à communiquer avec le serveur bbc.com réel.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.