Saltar al contenido principal

OpenWrt y WiFi para invitados: configuración de captive portal con Purple

Cómo funciona el WiFi para invitados en la nube de Purple con dispositivos OpenWrt a través de un captive portal externo estándar y RADIUS, y dónde comprobar la compatibilidad y encontrar los pasos.

📖 2 min de lectura📝 389 palabras📚 5 definiciones clave

Escuchar esta guía

Ver transcripción del podcast
[0:00 - 1:00] Introducción y contexto Bienvenido a la sesión informativa técnica de Purple. Soy su anfitrión y, en los próximos diez minutos, analizaremos a fondo la integración del firmware personalizado OpenWrt con Purple WiFi. Si es responsable de TI, arquitecto de redes o CTO que despliega firmware personalizado en entornos de hostelería, retail o el sector público, esta sesión es para usted. Dejaremos de lado la teoría académica y le ofreceremos la guía exacta para configurar CoovaChilli, proteger las redes del personal con 802.1X y segmentar entornos multiinquilino mediante claves precompartidas privadas (PPSK). ¿Por qué es esto importante? Porque el despliegue de firmware personalizado como OpenWrt ofrece una flexibilidad increíble y total independencia del hardware. Sin embargo, sin una capa de control de acceso estructurada y basada en la identidad, esa flexibilidad se convierte en un riesgo de seguridad. Necesita recopilar datos de origen de forma segura, garantizar el cumplimiento del GDPR y segmentar el tráfico con total confianza. Entremos de lleno en el análisis técnico. [1:00 - 6:00] Análisis técnico El núcleo de la integración con OpenWrt se basa en CoovaChilli. CoovaChilli es el controlador de acceso de código abierto que intercepta el tráfico de clientes no autenticados y lo redirige al Captive Portal de Purple. Cuando un invitado se conecta a su SSID abierto, CoovaChilli actúa como guardián. Asigna una dirección IP a través de su propio servidor DHCP interno, que se ejecuta en la interfaz tun0, y bloquea todo el tráfico, excepto el que usted permita explícitamente en el walled garden (entorno controlado). Cuando el invitado intenta navegar, CoovaChilli intercepta la solicitud HTTP y genera una redirección a la página de bienvenida de Purple. Aquí es donde la configuración del walled garden es fundamental. En el archivo chilli.conf, debe definir el parámetro HS_UAMDOMAINS. Se trata de una lista separada por comas de los dominios a los que los invitados pueden acceder antes de autorizarse. Debe incluir splash.purple.ai, api.purple.ai y los distintos dominios de CDN que utilizamos para servir los recursos del portal. Si olvida un dominio, el portal no se cargará o los botones de inicio de sesión social fallarán. Así de sencillo. Una vez que el invitado se autoriza en el portal de Purple, el servidor RADIUS en la nube de Purple envía un mensaje Access-Accept de vuelta a CoovaChilli en el puerto UDP 1812. A continuación, CoovaChilli autoriza la dirección MAC, abre las reglas de firewall para esa sesión y comienza a enviar datos de contabilidad (accounting) en el puerto UDP 1813. El registro de contabilidad no es opcional. Es el método por el cual Purple realiza el seguimiento de la duración de la sesión y el uso de datos para su panel de analíticas. Ahora, hablemos de la WiFi del personal. No se utiliza CoovaChilli para el personal. Para las redes de empleados, se utiliza hostapd con WPA2-Enterprise o WPA3-Enterprise. Se trata de la autenticación 802.1X estándar. El punto de acceso actúa como autenticador, reenviando los mensajes EAP a su servidor RADIUS. Para los dispositivos corporativos, debería desplegar EAP-TLS, que utiliza certificados digitales en lugar de contraseñas. Esto elimina por completo el robo de credenciales. Configure hostapd.conf para que apunte a su servidor RADIUS, y el servidor RADIUS dictará la asignación de VLAN para ese usuario específico. Esto nos lleva a una de las funciones más potentes de los despliegues modernos de OpenWrt: Private Pre-Shared Keys, o PPSK. En un entorno multiinquilino - por ejemplo, un edificio de alquiler para viviendas o un espacio de coworking - no conviene tener cincuenta SSIDs diferentes transmitiendo. Esto arruina la eficiencia de su tiempo de transmisión. En su lugar, se transmite un único SSID. Cuando un dispositivo se conecta, hostapd envía la dirección MAC al servidor RADIUS. El servidor RADIUS responde con una contraseña específica y un ID de VLAN específico para ese dispositivo, utilizando el atributo Tunnel-Password. Esto significa que el empleado de la tienda A se conecta a la VLAN 10, mientras que el asistente al evento en la sala principal se conecta a la VLAN 30, todos ellos conectándose exactamente al mismo SSID. Es elegante, escala y aplica el acceso de menor privilegio en el extremo de la red. [6:00 - 8:00] Recomendaciones de implementación y errores comunes Hablemos de la implementación. Al desplegar OpenWrt con Purple, el primer paso es siempre obtener sus credenciales RADIUS del portal de Purple. Necesita las direcciones IP de RADIUS principal y secundaria, el secreto compartido y la URL del portal. En su configuración de OpenWrt, definirá su interfaz de red de invitados - normalmente eth1 o wlan0 - y vinculará CoovaChilli a ella. Asegúrese de que el HS_RADSECRET en su chilli.conf coincida exactamente con el del portal de Purple. Un solo carácter que no coincida provocará fallos de autenticación silenciosos. El mayor error que vemos es la resolución DNS antes de la autenticación. CoovaChilli intercepta las peticiones DNS. Si su cortafuegos bloquea el router OpenWrt para resolver DNS externos, la redirección del Captive Portal fallará. Asegúrese de que su router OpenWrt tiene acceso DNS sin restricciones a resolutores públicos como Google u OpenDNS. Otro problema común son los mecanismos de detección del Captive Portal integrados en iOS y Android. Los dispositivos Apple se conectan a captive.apple.com para comprobar la conectividad a internet. Si añade captive.apple.com a la lista blanca de su walled garden, el dispositivo pensará que tiene acceso a internet y no mostrará el asistente de red cautiva. Si desea que aparezca la ventana emergente automática, mantenga los dominios de Apple fuera del walled garden. [8:00 - 9:00] Preguntas y respuestas rápidas Hagamos una ronda rápida de preguntas y respuestas. Pregunta uno: ¿Puedo ejecutar CoovaChilli y hostapd 802.1X en el mismo punto de acceso OpenWrt? Sí. Vincula CoovaChilli a la interfaz de su SSID de invitados y configura hostapd con 802.1X en la interfaz de su SSID de personal. Funcionan de forma independiente. Pregunta dos: ¿Soporta Purple la asignación dinámica de VLAN con OpenWrt? Sí. Los servidores RADIUS de Purple pueden devolver atributos RADIUS estándar, incluidos Tunnel-Type, Tunnel-Medium-Type y Tunnel-Private-Group-ID, indicando a OpenWrt que asigne al usuario autenticado una VLAN específica. Pregunta tres: ¿Qué ocurre si el router OpenWrt pierde la conexión con el servidor RADIUS de Purple? CoovaChilli no podrá autenticar nuevas sesiones. Las sesiones autorizadas existentes permanecerán activas hasta que expire su tiempo límite de sesión. Configure siempre el servidor RADIUS secundario de Purple para garantizar una alta disponibilidad. [9:00 - 10:00] Resumen y siguientes pasos En resumen: OpenWrt ofrece una plataforma robusta e independiente del hardware para WiFi empresarial. Al integrar CoovaChilli para el acceso de invitados y hostapd para el personal seguro y PPSK multiinquilino, se crea una Red Basada en la Identidad. Purple abstrae la complejidad de la infraestructura RADIUS, ofreciendo un portal gestionado en la nube que captura datos de primera mano y garantiza el cumplimiento normativo. El siguiente paso es auditar sus despliegues actuales de firmware personalizado. Asegúrese de que sus walled gardens estén completamente configurados, verifique sus intervalos de contabilidad RADIUS y comience a planificar su migración de PSK compartidas a la segmentación dinámica de PPSK. Gracias por escuchar el Informe Técnico de Purple. Para obtener más información sobre cómo Purple puede proteger y monetizar su WiFi de invitados, visite purple.ai. Hasta la próxima.

OpenWrt es un firmware de código abierto que se ejecuta en una amplia gama de routers y puntos de acceso. Purple añade la capa de invitados por encima: el captive portal que ven sus visitantes, el proceso de inicio de sesión y los datos de primera mano que usted recopila. No sustituye a su hardware ni a su firmware.

Cómo funciona OpenWrt con el WiFi para invitados de Purple

Purple es una solución superpuesta en la nube y es independiente del hardware (hardware-agnostic). Si su dispositivo es compatible con un captive portal externo y RADIUS, puede ejecutar el inicio de sesión de invitados de Purple. Dos mecanismos estándar se encargan de ello.

  • Autenticación web externa. El dispositivo redirige un nuevo dispositivo a su página de inicio de Purple en lugar de concederle acceso de inmediato. El visitante inicia sesión y la página le devuelve el control.
  • RADIUS. El dispositivo comprueba cada inicio de sesión con el servicio RADIUS de Purple en los puertos estándar, 1812 para autenticación y 1813 para contabilidad. Los datos de contabilidad son los que alimentan sus análisis de visitantes.

Un walled garden, una lista corta de direcciones permitidas a las que un dispositivo puede acceder antes de iniciar sesión, permite que se cargue la página de inicio y que se completen los pasos de pago o inicio de sesión con redes sociales.

Ese es todo el modelo: su hardware mueve los paquetes, Purple es propietario del inicio de sesión y de los datos. Dado que se ejecuta sobre autenticación web estándar y RADIUS, funciona de la misma manera en Cisco Meraki, HPE Aruba, Ruckus, Juniper Mist, Ubiquiti UniFi, Cambium, Extreme y Fortinet. Purple es independiente del hardware por diseño.

Lo que necesita

  • Un dispositivo OpenWrt que admita un captive portal externo y RADIUS.
  • Un venue de Purple con su página de inicio y su proceso de inicio de sesión configurados.
  • Sus datos de RADIUS de Purple y las direcciones del walled garden, obtenidos desde su panel de control de Purple.

Configuración con Purple

Si su modelo exacto es compatible y los ajustes que debe utilizar se confirman en la lista de hardware compatible de Purple. Compruebe primero su dispositivo allí y luego siga la guía de configuración correspondiente para conocer los valores precisos que debe introducir.

Hardware compatible con Purple

Esta página explica cómo encajan las piezas, para que sepa qué hace cada paso.

Lo que obtiene

Una vez que los invitados inician sesión a través de Purple, cada visita se convierte en datos de primera mano verificados y con consentimiento explícito y consciente: quién nos visitó, con qué frecuencia y cómo contactar con ellos con su permiso. Esa es la diferencia entre un WiFi que conecta a las personas y un WiFi que crea una audiencia de marketing de su propiedad. Purple cumple con el GDPR y cuenta con la certificación ISO 27001, con un tiempo de actividad del 99,999 % en más de 80.000 venues activos.

Definiciones clave

Solución superpuesta en la nube (Cloud overlay)

Purple se sitúa por encima de su hardware existente. El equipo sigue ejecutando el WiFi; Purple gestiona el inicio de sesión de invitados y los datos, sin sustituir nada.

Independiente del hardware (Hardware-agnostic)

Purple funciona con cualquier punto de acceso o controlador que admita un captive portal externo y RADIUS, en lugar de estar vinculado a un solo proveedor.

Autenticación web externa

Un estándar en el que el punto de acceso redirige un nuevo dispositivo a una página de inicio externa para que inicie sesión, en lugar de conceder el acceso por sí mismo. Purple aloja esa página de inicio.

RADIUS

El protocolo que utiliza el hardware para comprobar cada inicio de sesión y registrar los datos de la sesión con Purple, en los puertos estándar 1812 para autenticación y 1813 para contabilidad.

Walled garden

Una lista corta de direcciones permitidas a las que un dispositivo puede acceder antes de iniciar sesión, para que se carguen la página de inicio y los pasos de pago o inicio de sesión social.