Portail captif WIFI

Bonjour,

Je voudrais effectuer une solution de portail captif pour des utilisateurs WIFI.

Je voudrais que lors de la connection sur le réseau les utilisateurs WIFI soit redirigé vers Charte qu’il valide et ensuite une page permettant à l’utilisateur de crée un compte avec son Nom,Prénom et Login mot de passe afin de s’authentifier sur le réseau WIFI.

Mais son couple login/mot de passe doit etre renseignés dans un annuaire LDAP lorsque qu’il le crée.

Est il possible de faire ce genre de chose avec un annuaire LDAP existant.

Merci pour vos réponses

C’est assez complexe ce que tu cherches à faire, si tu comptes tout faire toi même. Ce serait p-e plus simple de faire comme beaucoup d’hotels : prendre une borne (je sais que DLink en fait) qui gère tout.

Ceci dit, j’ai bien quelques idées comment je ferais, je peux développer si cela t’interesse.

J’suis en train d’essayer de faire ça (en gros) mais comme j’ai pas encore trop avancé j’peux pas t’aider pour le moment. Mais si t’attend un peu y’a peut-être de l’espoir :slight_smile:

Bon la différence c’est que mon portail captif doit être ipv4 ET ipv6 …

Bon, comme je suis motivé, voici comment je ferais :

  • Une borne Wifi en mode bridge* (sur une borne grand public, il convient de se brancher sur le port LAN, et de laisser le port WAN débranché), sans sécurité
  • Un ‹ serveur › dont le rôle sera détaillé dans la suite
  • Un annuaire LDAP ou une base de données quelconque, peu importe
  • Le mode bridge est essentiel parce qu’il nous faudra travailler au layer 2, càd sur des adresses MAC en réseau Ethernet.

Le ‹ serveur › intègre plusieurs éléments, dont :

  • Un serveur Web sécurisé (https) pour que le visiteur puisse se connecter sans que le voisin puisse récupérer ses informations par sniff
  • Des scripts pour communiquer avec le LDAP ou la base de données
  • Du NAT/PAT et des éléments de filtrage

Alors comment on associe tout ce bordel ?

  • Par défaut on configure le ‹ serveur › pour PATer toutes les connexions TCP sortantes sur les ports 80 (http) et 443 (https) vers lui même, et on configure le serveur Web local pour faire une redirection vers la page d’authentification en https. Par ailleurs on autorise le DNS (port 53 UDP) vers le serveur DNS, et on bloque tous les autres ports.

  • Quand le visiteur s’identifie auprès du serveur (via la connexion LDAP ou BdD), on fait 3 choses pour l’adresse MAC du client:

    1/ on ajoute une nouvelle règle NAT (devant celle par défaut) qui autorise à sortir
    2/ on annule les règles de filtrage par une règle devant celle qui bloque
    3/ on ajoute dans une liste l’heure de début de ‹ bail › histoire de pouvoir expirer des clients au bout de X heures

  • Par ailleurs, on développe un script à s’exécuter toutes les 5 mins (par exemple) qui fera le ménage dans la liste de MAC et les régles PAT/FW associées.

En ce qui concerne le choix de l’OS pour la partie ‹ serveur ›, Linux est un choix raisonnable dans la mesure ou iptables permet facilement d’ajouter et d’enlever des règles de PAT (PREROUTING) et FW à la volée.

Voilà, comme j’ai dit, c’est pas spécialement facile à faire quand on veut tout faire de rien :slight_smile:

Il me semble qu’il existe des firmwares pour routeurs linksys qui offrent plus ou moins ces trucs là.

Oui ça utilise chilispot qui marche très bien pour ça et c’est assez vite mis en place. Seul problème (pour moi) il fait pas d’ipv6 alors perso je vais essayer opengate sous freebsd et si j’y arrive pas, ce sera chilispot + des scripts pour ajouter la gestion de l’ipv6.

Désolé j’ai oublié le principal,

En fait le serveur existant fera office filtrage et de bail pour les utilisateurs la seule chose dont j’ai besoin c’est une interface Web (Formulaire qui permet à l’utilisateur de créer un compte (Nom, Prénom et login/mot de passe).

Donc ce formulaire , une fois valider renseigne notre annuaire LDAP externe (PC) afin qu’il puisse s’authentifier sur l’interface HTTPS du serveur existant.

Merci beaucoup désolé je suis confus mais LDAP est tout nouveau pour moi.

Bonne soirée