Passer au contenu principal

OpenWrt et WiFi invité : configuration du captive portal avec Purple

Comment le WiFi invité cloud de Purple fonctionne avec les appareils OpenWrt via un captive portal externe standard et RADIUS, et où vérifier la compatibilité et trouver les étapes.

📖 2 min de lecture📝 389 mots📚 5 définitions clés

Écouter ce guide

Voir la transcription du podcast
[0:00 - 1:00] Introduction & Contexte Bienvenue dans ce briefing technique Purple. Je suis votre hôte, et dans les dix prochaines minutes, nous allons décortiquer l'intégration du firmware personnalisé OpenWrt avec Purple WiFi. Si vous êtes responsable informatique, architecte réseau ou CTO et que vous déployez des firmwares personnalisés dans l'hôtellerie, le commerce de détail ou le secteur public, ce briefing est fait pour vous. Nous allons laisser de côté la théorie académique pour vous donner le guide de configuration exact de CoovaChilli, de sécurisation des réseaux du personnel avec 802.1X et de segmentation des environnements multi-locataires à l'aide de Private Pre-Shared Keys. Pourquoi est-ce important ? Parce que le déploiement d'un firmware personnalisé comme OpenWrt vous offre une flexibilité incroyable et une totale indépendance matérielle. Mais sans une couche de contrôle d'accès structurée et basée sur l'identité, cette flexibilité devient une faille de sécurité. Vous devez capturer les données de première partie en toute sécurité, garantir la conformité GDPR et segmenter votre trafic de manière fiable. Entrons dans le vif du sujet technique. [1:00 - 6:00] Analyse technique approfondie Le cœur de l'intégration OpenWrt repose sur CoovaChilli. CoovaChilli est le contrôleur d'accès open source qui intercepte le trafic des clients non authentifiés et les redirige vers le Captive Portal de Purple. Lorsqu'un invité se connecte à votre SSID ouvert, CoovaChilli fait office de gardien. Il attribue une adresse IP via son propre serveur DHCP interne, s'exécutant sur l'interface tun0, et bloque tout le trafic, à l'exception de ce que vous autorisez explicitement dans le walled garden. Lorsque l'invité tente de naviguer sur Internet, CoovaChilli intercepte la requête HTTP et génère une redirection vers la splash page de Purple. C'est là que la configuration du walled garden est essentielle. Dans votre fichier chilli.conf, vous devez définir le paramètre HS_UAMDOMAINS. Il s'agit d'une liste de domaines séparés par des virgules que les invités peuvent atteindre avant de s'authentifier. Vous devez inclure splash.purple.ai, api.purple.ai, ainsi que les différents domaines de CDN que nous utilisons pour diffuser les ressources du portail. Si vous oubliez un domaine, le portail ne se chargera pas ou les boutons de connexion sociale ne fonctionneront pas. C'est aussi simple que cela. Une fois que l'invité s'est authentifié sur le portail Purple, le serveur RADIUS cloud de Purple renvoie un message Access-Accept à CoovaChilli sur le port UDP 1812. CoovaChilli autorise alors l'adresse MAC, ouvre les règles de pare-feu pour cette session et commence à envoyer des données de comptabilité sur le port UDP 1813. La comptabilité n'est pas facultative. C'est ainsi que Purple suit la durée de la session et l'utilisation des données pour votre tableau de bord analytique. Parlons maintenant du WiFi du personnel. Vous n'utilisez pas CoovaChilli pour le personnel. Pour les réseaux du personnel, vous utilisez hostapd avec WPA2-Enterprise ou WPA3-Enterprise. Il s'agit de l'authentification 802.1X standard. Le point d'accès agit en tant qu'authentificateur, transmettant les messages EAP à votre serveur RADIUS. Pour les appareils d'entreprise, vous devriez déployer EAP-TLS, qui utilise des certificats numériques plutôt que des mots de passe. Cela élimine complètement le vol d'identifiants. Vous configurez hostapd.conf pour pointer vers votre serveur RADIUS, et le serveur RADIUS dicte l'attribution du VLAN pour cet utilisateur spécifique.Cela nous amène à l'une des fonctionnalités les plus puissantes des déploiements modernes de OpenWrt : les clés pré-partagées privées, ou PPSK. Dans un environnement multi-locataire - comme une propriété de type build-to-rent ou un espace de coworking - vous ne voulez pas de cinquante SSIDs différents en diffusion. Cela ruine l'efficacité de votre temps d'antenne. À la place, vous diffusez un seul SSID. Lorsqu'un appareil se connecte, hostapd envoie l'adresse MAC au serveur RADIUS. Le serveur RADIUS répond avec une phrase de passe spécifique et un ID VLAN spécifique pour cet appareil, en utilisant l'attribut Tunnel-Password. Cela signifie que le membre du personnel de vente de la boutique A est orienté vers le VLAN 10, tandis que le participant à l'événement dans le hall principal est orienté vers le VLAN 30, tous se connectant exactement au même SSID. C'est élégant, évolutif, et cela applique l'accès au moindre privilège en périphérie. [6:00 - 8:00] Recommandations de mise en œuvre et pièges à éviter Parlons de la mise en œuvre. Lors du déploiement de OpenWrt avec Purple, votre première étape consiste toujours à récupérer vos identifiants RADIUS depuis le portail Purple. Vous avez besoin des adresses IP RADIUS principale et secondaire, du secret partagé et de l'URL du portail. Dans votre configuration OpenWrt, vous définirez votre interface réseau invité - généralement eth1 ou wlan0 - et y lierez CoovaChilli. Assurez-vous que le HS_RADSECRET dans votre chilli.conf correspond exactement à ce qui se trouve dans le portail Purple. Une différence d'un seul caractère entraînera des échecs d'authentification silencieux. Le plus grand piège que nous constatons est la résolution DNS pré-authentification. CoovaChilli intercepte les requêtes DNS. Si votre pare-feu en amont empêche le routeur OpenWrt de résoudre le DNS externe, la redirection vers le Captive Portal échouera. Assurez-vous que votre routeur OpenWrt dispose d'un accès DNS sans restriction aux résolveurs publics comme Google ou OpenDNS. Un autre problème courant concerne les mécanismes de détection de Captive Portal intégrés à iOS et Android. Les appareils Apple contactent captive.apple.com pour vérifier la connectivité Internet. Si vous mettez captive.apple.com sur liste blanche dans votre walled garden, l'appareil pensera qu'il dispose d'un accès Internet et n'affichera pas l'assistant de réseau captif. Si vous souhaitez l'affichage automatique, n'incluez pas les domaines d'Apple dans le walled garden. [8:00 - 9:00] Questions-Réponses rapides Passons à une session rapide de questions-réponses. Question une : Puis-je exécuter CoovaChilli et hostapd 802.1X sur le même point d'accès OpenWrt ? Oui. Vous liez CoovaChilli à votre interface SSID invité, et vous configurez hostapd avec 802.1X sur votre interface SSID personnel. Ils fonctionnent de manière indépendante. Question deux : Purple prend-il en charge l'attribution dynamique de VLAN avec OpenWrt ? Oui. Les serveurs RADIUS de Purple peuvent renvoyer des attributs RADIUS standard, notamment Tunnel-Type, Tunnel-Medium-Type et Tunnel-Private-Group-ID, demandant à OpenWrt d'orienter l'utilisateur authentifié vers un VLAN spécifique.Troisième question : que se passe-t-il si le routeur OpenWrt perd la connexion avec le serveur RADIUS de Purple ? CoovaChilli ne parviendra pas à authentifier les nouvelles sessions. Les sessions autorisées existantes resteront actives jusqu'à l'expiration de leur délai de session. Configurez toujours le serveur RADIUS secondaire de Purple pour garantir une haute disponibilité. [9:00 - 10:00] Résumé et prochaines étapes Pour résumer : OpenWrt fournit une plateforme robuste et indépendante du matériel pour le WiFi d'entreprise. En intégrant CoovaChilli pour l'accès invité et hostapd pour le personnel sécurisé et le PPSK multi-locataire, vous construisez un réseau basé sur l'identité. Purple élimine la complexité de l'infrastructure RADIUS, offrant un portail géré dans le cloud qui capture les données de première partie et garantit la conformité. Votre prochaine étape consiste à auditer vos déploiements actuels de micrologiciels personnalisés. Assurez-vous que vos walled gardens sont entièrement configurés, vérifiez vos intervalles de comptabilisation RADIUS et commencez à planifier votre migration des PSK partagés vers la segmentation PPSK dynamique. Merci d'avoir écouté ce briefing technique de Purple. Pour en savoir plus sur la façon dont Purple peut sécuriser et monétiser votre WiFi invité, visitez purple.ai. À la prochaine.

OpenWrt est un firmware open source qui fonctionne sur une large gamme de routeurs et de points d'accès. Purple ajoute la couche invité par-dessus : le captive portal que vos visiteurs voient, le parcours de connexion et les données de première partie que vous collectez. Il ne remplace pas votre matériel ou votre firmware.

Comment OpenWrt fonctionne avec le WiFi invité Purple

Purple est un cloud overlay et est hardware-agnostic. Si votre appareil prend en charge un captive portal externe et RADIUS, il peut exécuter la connexion invité de Purple. Deux mécanismes standards font le travail.

  • Authentification web externe. L'appareil redirige un nouvel appareil vers votre splash page Purple au lieu de lui accorder l'accès immédiatement. Le visiteur se connecte et la page lui redonne le contrôle.
  • RADIUS. L'appareil vérifie chaque connexion par rapport au service RADIUS de Purple sur les ports standards, 1812 pour l'authentification et 1813 pour la comptabilité. Les données de comptabilité sont ce qui alimente vos analyses de visiteurs.

Un walled garden, une courte liste d'adresses autorisées qu'un appareil peut atteindre avant de se connecter, permet de charger la splash page et de finaliser les étapes de paiement ou de connexion sociale.

C'est tout le modèle : votre matériel déplace les paquets, Purple possède la connexion et les données. Parce qu'il fonctionne sur l'authentification web standard et RADIUS, il fonctionne de la même manière sur Cisco Meraki, HPE Aruba, Ruckus, Juniper Mist, Ubiquiti UniFi, Cambium, Extreme et Fortinet. Purple est hardware-agnostic par conception.

Ce dont vous avez besoin

  • Un appareil OpenWrt qui prend en charge un captive portal externe et RADIUS.
  • Un site Purple avec votre splash page et votre parcours de connexion configurés.
  • Vos détails RADIUS Purple et les adresses de walled garden, depuis votre tableau de bord Purple.

Configurez-le avec Purple

La compatibilité de votre modèle exact et les paramètres à utiliser sont confirmés dans la liste des matériels pris en charge par Purple. Vérifiez d'abord votre appareil à cet endroit, puis suivez le guide de configuration correspondant pour connaître les valeurs précises à saisir.

Matériel pris en charge par Purple

Cette page explique comment les pièces s'assemblent, afin que vous sachiez ce que fait chaque étape.

Ce que vous obtenez

Une fois que les invités se connectent via Purple, chaque visite devient une donnée de première partie vérifiée et consentie de manière consciente : qui a visité, à quelle fréquence et comment les contacter avec leur autorisation. C'est la différence entre un WiFi qui connecte les gens et un WiFi qui construit une audience marketing qui vous appartient. Purple est aligné avec la GDPR et certifié ISO 27001, avec une disponibilité de 99,999 % sur plus de 80 000 sites actifs.

Définitions clés

Cloud overlay

Purple se superpose à votre matériel existant. Le kit continue de faire fonctionner le WiFi ; Purple gère la connexion des invités et les données, sans rien remplacer.

Hardware-agnostic

Purple fonctionne avec n'importe quel point d'accès ou contrôleur qui prend en charge un captive portal externe et RADIUS, plutôt que d'être lié à un seul fournisseur.

Authentification web externe

Un standard où le point d'accès redirige un nouvel appareil vers une splash page externe pour se connecter, au lieu d'accorder l'accès lui-même. Purple héberge cette splash page.

RADIUS

Le protocole que le matériel utilise pour vérifier chaque connexion et enregistrer les données de session avec Purple, sur les ports standards 1812 pour l'authentification et 1813 pour la comptabilité.

Walled garden

Une courte liste d'adresses autorisées qu'un appareil peut atteindre avant de se connecter, afin que la splash page et les étapes de paiement ou de connexion sociale puissent se charger.