Guías
Collapse SMS para UniFi

Configuración de la autenticación por SMS en Ubiquiti UniFi Controller

Implemente la autenticación por SMS para Wi-Fi (autenticación por SMS de Ubiquiti UniFi Controller) configurando un UniFi Captive Guest Portal protegido mediante Protectimus UniFi Guest Portal Server. Esta solución se integra de forma fluida con Ubiquiti UniFi Controller y permite proteger la red Wi-Fi mediante autenticación por SMS. Puede elegir cualquier proveedor de SMS que se adapte a sus necesidades.

Así funciona el proceso de autenticación por SMS para Wi-Fi después de configurar el portal de invitados con Ubiquiti UniFi Controller y conectarlo a Protectimus:

  1. A los usuarios que intenten conectarse a la red Wi-Fi se les solicitará que introduzcan su número de teléfono.
  2. Se envía al usuario por SMS una contraseña de un solo uso exclusiva.
  3. El usuario introduce la contraseña de un solo uso recibida en el campo correspondiente.
  4. Protectimus verifica la contraseña de un solo uso y concede o deniega el acceso a la red Wi-Fi según el resultado de la autenticación.

Por motivos administrativos y de seguridad, el servidor Protectimus registra todos los datos introducidos por los usuarios en formato CSV. Los datos registrados incluyen la dirección MAC del usuario, la dirección MAC del punto de acceso, la dirección IP asignada y el número de teléfono indicado durante la autenticación. Puede configurar el periodo de almacenamiento de los datos según sus requisitos específicos. Tenga en cuenta que, en la mayoría de los países, suele ser obligatorio conservar los datos durante un mínimo de 6 meses.

Puede instalar On-Prem Protectimus Authentication Platform en su propio hardware o utilizar Protectimus Cloud Service. En ambos casos, dispondrá de una solución sólida y fiable de autenticación por SMS para su red Wi-Fi.

1. Registrarse y configurar los ajustes básicos de Protectimus

 
  1. Regístrese en Protectimus Cloud Service y active la API o instale Protectimus On-Premise Platform (si instala Protectimus Platform en Windows, marque la casilla Radius durante la instalación).
  2. Añadir un recurso.

2. Instalar Protectimus UniFi Guest Portal Server mediante una imagen de Docker

 
  1. Para comenzar la instalación de Protectimus UniFi Guest Portal Server, descargue e instale primero Docker y docker-compose:

 
  1. A continuación, clone el repositorio de Git: https://github.com/protectimus/platform-linux.git
 
  1. Después de clonar correctamente el repositorio de Git, edite el archivo situado en unifi-guest-portal/config/guest-portal.yml, e incorpore las propiedades descritas en el tercer apartado.
 
  1. Vaya al directorio unifi-guest-portal y ejecute:

    docker-compose up -d
  1. Puede supervisar el proceso de despliegue de Protectimus UniFi Guest Portal Server mediante el comando:

    docker-compose logs -f
  1. También existe un archivo adicional fragments.html, necesario para personalizar la interfaz de usuario de la pantalla de inicio de sesión.
 
  1. Cuando finalice el despliegue, Protectimus UniFi Guest Portal Server estará disponible en:

    https://localhost:8080

    Puede modificar el puerto en el archivo de configuración (unifi-guest-portal/config/guest-portal.yml).


Si no puede utilizar la imagen de Docker por algún motivo, póngase en contacto con nuestro equipo de soporte, y le ayudaremos con la instalación.

3. Configurar los ajustes de Protectimus UniFi Guest Portal Authentication Server


Los ajustes de Protectimus UniFi Guest Portal Authentication Server pueden configurarse en el archivo guest-portal.yml, que debe encontrarse en el mismo directorio que el ejecutable.

Las propiedades disponibles que debe añadir al archivo guest-portal.yml incluyen:

3.1. Ajustes del servidor del portal de invitados

 
server:
  port: 8888
  ssl:
	enabled: true
	key-store-type: PKCS12
	key-store: classpath:keystore/guest-portal.p12
	key-store-password: password
	key-alias: guest-portal
NOMBRE DE LA PROPIEDAD FUNCIÓN DE LA PROPIEDAD
port:
Puerto en el que se ejecutará Protectimus UniFi Guest Portal Authentication Server.
ssl:
Si desea importar su propio certificado SSL de confianza, esta propiedad permite configurar sus ajustes, incluidos el tipo y la ruta del almacén de claves, la contraseña del almacén de claves y el alias de la clave.

3.2. Ajustes de UniFi

 
unifi:
  cookie-expiration-time: 30000
  base-url: https://localhost:8443
  username: admin
  password: admin
  sites-verification-enabled: true
  sites:
	- default
  session:
	duration-minutes: 90
	download-speed: 2048
	upload-speed: 640
	quota: 4096
  redirect-page: https://www.google.com
NOMBRE DE LA PROPIEDAD FUNCIÓN DE LA PROPIEDAD
cookie-expiration-time:
Permite establecer el tiempo de caducidad de las cookies.
base-url:
URL de UniFi Controller.
username:
Nombre de usuario del administrador de UniFi Controller.
password:
Contraseña del administrador de UniFi Controller.
sites-verification-enabled:
Permite restringir el acceso al portal desde los sitios web especificados.
sites:
Sitios de UniFi Controller (unidad organizativa fundamental que permite administrar y supervisar los dispositivos y clientes de la red UniFi).
session:
Esta propiedad permite configurar la sesión, incluidos su duración máxima, los límites de carga y descarga y la cuota de datos.
redirect-page:
Esta es la URL que el cliente intenta abrir tras autenticarse correctamente en el portal de invitados. En este caso, es https://www.google.com. Este tipo de URL suele utilizarse para comprobar la conectividad a Internet o redirigir a una página web concreta después de la autenticación.

3.3. Ajustes de la API de Protectimus (configuración de la conexión con el servicio PROTECTIMUS)

 
protectimus-api:
  login:
  api-key:
  url: https://api.protectimus.com/
  resource-id: 
NOMBRE DE LA PROPIEDAD FUNCIÓN DE LA PROPIEDAD
login:
Su nombre de usuario en el sistema PROTECTIMUS.
api-key:
Su clave de API en el sistema PROTECTIMUS.
url:
Si utiliza el servicio en la nube PROTECTIMUS, especifique la siguiente URL de API: https://api.protectimus.com/ Si utiliza Protectimus On-Premise Platform, la URL de API será similar a esta: protectimus.api.url=http://127.0.0.1:8080/
resource-id:
ID del recurso que creó en el sistema PROTECTIMUS.

3.4. Ajustes de los informes

 
report:
  csv:
	params:
  	- action
  	- id
  	- ip
  	- ap
  	- ssid
  	- time
  	- phoneNumber
	date-format: 'yyyy-MM-dd HH:mm:ss z'
	zone-id: UTC
NOMBRE DE LA PROPIEDAD FUNCIÓN DE LA PROPIEDAD
csv:
Indica que el informe se almacenará en formato CSV.
params:
Puede especificar los parámetros de los inicios de sesión de los invitados que desea guardar. Las opciones disponibles son:
  • Acción;
  • ID;
  • IP;
  • Punto de acceso (AP);
  • SSID;
  • Hora;
  • Número de teléfono.
date-format:
Formato de fecha en el que debe mostrarse en el informe (por ejemplo, Unix).
zone-id:
ID de la zona horaria.

3.5. Ejemplo del archivo guest-portal.yml

 
server:
  port: 8888
  ssl:
	enabled: true
	key-store-type: PKCS12
	key-store: file:guest-portal.p12
	key-store-password: password
	key-alias: guest-portal

unifi:
  base-url: https://localhost:8443
  username: admin
  password: admin
  sites:
	- default

protectimus-api:
  login: test@protectimus.com
  api-key: secret
  url: https://api.protectimus.com/
  resource-id: 1

logging:
  level:
	com.protectimus: INFO

4. Configurar Ubiquiti UniFi Controller

4.1. Iniciar UniFi Controller


Para realizar pruebas, UniFi Controller puede ejecutarse mediante el comando siguiente:


docker run --rm --init -p 8843:8843 -p 8880:8880 -p 8443:8443 -p 3478:3478/udp -v ~/unifi:/unifi --name unifi jacobalberty/unifi

El contenedor UniFi-in-Docker utiliza los puertos siguientes:

  • 8080/tcp – Comandos y control de dispositivos
  • 8443/tcp – Interfaz web y API
  • 3478/udp – Servicio STUN
  • 8843/tcp – Portal HTTPS (opcional)
  • 8880/tcp – Portal HTTP (opcional)

4.2. Configurar Wi-Fi para el portal Hotspot


  1. Vaya a UniFi Controller > Settings > WiFi.
  2. Haga clic en Create New.
  3. En WiFi Optimization, seleccione Hotspot y mantenga el ajuste predeterminado Captive Portal.
  4. En Security Protocol, seleccione Open.
    Cómo configurar UniFi Captive Portal para los invitados: paso 1   Cómo configurar UniFi Captive Portal para los invitados: paso 2
Después de crear la red WiFi, haga clic en Hotspot Portal debajo del botón de opción Captive Portal para abrir la página de configuración final.    

4.3. Configurar el portal Hotspot


  1. En One Way Methods, habilite External Portal Server y haga clic en Edit.
  2. Introduzca la dirección IP del servidor en el que se ejecuta Protectimus Guest Portal (valor predeterminado: 127.0.0.1).

Cómo configurar UniFi Captive Portal para los invitados: paso 3

  1. En Post-Authorization Restrictions, introduzca la subred de su red local. De forma predeterminada, todas las direcciones posibles de la red local están bloqueadas, por lo que puede dejar este valor sin cambios. No obstante, si desea permitir que los invitados accedan a dispositivos concretos, como una impresora, pero no al resto de la red, puede establecer aquí esas restricciones. Se recomienda utilizar subredes diferentes para la red de invitados y la red propia a fin de simplificar las restricciones.
  2. En la sección Success Landing Page, introduzca el Success Text o especifique una Custom URL a la que se redirigirá al usuario después de autenticarse correctamente.


Cómo configurar UniFi Captive Portal para los invitados: paso 4

5. Proceso de autenticación


Cuando un usuario se conecta a la red WiFi para invitados e intenta acceder a Internet, UniFi Controller lo redirige al portal de invitados.

Por ejemplo:


/guest/s/default/?ap=74:83:c2:29:f4:1c&id=50:e0:85:68:7f:ef&t=1639577246&url=http://edge.microsoft.com&ssid=WiFi-test-3

La URL de redirección contiene los parámetros siguientes:


  • /guest/s/default/: esta parte de la ruta de la URL identifica el portal de invitados, y default indica que se utiliza su configuración predeterminada.
  • ap=74:83:c2:29:f4:1c: dirección MAC del punto de acceso al que el cliente intenta conectarse a través del portal de invitados.
  • id=50:e0:85:68:7f:ef: identificador del dispositivo o cliente que intenta acceder a Internet a través del portal de invitados.
  • t=1639577246: marca de tiempo en formato Unix que indica la hora actual en segundos. Puede utilizarse para comprobar el periodo de validez de la solicitud u otras restricciones temporales.
  • url=http://edge.microsoft.com: URL original a la que el cliente intentó acceder antes de ser redirigido al portal de invitados.
  • ssid=WiFi-test-3: nombre de la red Wi-Fi (SSID) a la que el cliente intenta conectarse.

Después de iniciar sesión correctamente, se envía una solicitud a UniFi Controller en /cmd/stamgr para crear una sesión nueva.

El endpoint /cmd/stamgr de UniFi Controller se encarga de gestionar las sesiones de las estaciones (clientes). Gestiona las tareas relacionadas con los dispositivos cliente conectados a la red Wi-Fi, como añadirlos, eliminarlos y controlar sus sesiones.

Si tiene alguna otra pregunta, póngase en contacto con nuestro servicio de atención al cliente.

    Tabla de contenidos