FortiWiFi
GUÍA DE CONFIGURACIÓN
El objetivo del siguiente manual es una descripción de la configuración necesaria en el equipamiento FortiWiFi para la integración con Octopus Platform
1- Requerimientos previos
Si en la instalación existe un firewall que bloquee el tráfico se deberá permitir el acceso libre a ciertos dominios e IPs para habilitar la autenticación de los usuarios.
Servidores Radius:
Primario: <IP_Radius_1> puertos 1812 y 1813 UDP
Secundario: <IP_Radius_2> puertos 1812 y 1813 UDP
Servidor Splash Portal:
Dominio <dominio_captive_portal> puertos 80 y 443 TCP
Para el funcionamiento de la configuración de los módulos Guest y Enterprise, previamente será necesario contratar las licencias de la plataforma Octopus con los respectivos módulos
2- Configuración módulo Guest
2.1 Radius Servers
Para configurar el Servidor Radius al que se enviarán las peticiones de Autenticación de los usuarios acceder a User & Device > RADIUS Servers y añadir un nuevo Servidor Radius con la siguiente configuración:
Name: Radius_Guest
Authentication method: Specify, PAP
Primary Server IP/Name: <IP_Radius_1>
Primary Server Secret: <Secret>
Secondary Server IP/Name: <IP_Radius_2>
Secondary Server Secret: <Secret>
Una vez añadido el Servidor Radius se debe crear el grupo de usuarios que utilice dicho servidor. Para ello acceder a User & Device > User Groups y añadir un nuevo grupo con la siguiente configuración:
Name: Group_Radius
Type: Firewall
Remote Groups: añadir el servidor Radius creado anteriormente.
Una vez que se haya añadido el Servidor Radius es necesario acceder por SSH al equipo Fortinet y ejecutar el siguiente código para activar el Servidor de Accounting.
config user radius
edit "Radius_Guest"
set acct-interim-interval 600
config accounting-server
edit 1
set status enable
set server <IP_Radius_1>
set secret <Secret>
set port 1813
next
end
next
end
Para habilitar la autenticación por HTTPS acceder por SSH o consola al equipo Fortinet y ejecutar los siguientes comandos:
config user setting
set auth-secure-http enable
end
2.2 Captive Portal
El siguiente paso es crear la WLAN que estará asociada al portal cautivo externo. Para ello acceder a WiFi & Switch Controller > SSID y añadir un nuevo SSID haciendo click en Create New SSID con la siguiente configuración:
Interface Name: indicar el nombre del interfaz
Type: WiFi SSID
Traffic Mode: Tunnel
Address: configurar los parámetros referentes al direccionamiento IP dependiendo de la configuración de red del cliente.
Administrative Access: RADIUS Accounting
DHCP Sever: configurar los parámetros del servidor DHCP dependiendo de la configuración de red del cliente.
WiFi Settings
SSID: configurar el SSID que radiarán los APs.
Security mode: Captive Portal
Portal Type: Authentication
Authentication Portal: External → https://<dominio_captive_portal>/login/hotspot/fortiwifi
User Groups: seleccionar el grupo que contiene el Servidor Radius, Group_Radius
Redirect after Captive Portal: Original Request
2.3 Walled Garden
Para configurar los dominios a los que los usuarios tendrán libre acceso antes de validarse acceder a Policy & Objects > Addresses y añadir una nueva Address con la siguiente configuración:
Name: <dominio_captive_portal>
Type: FQDN
FQDN: <dominio_captive_portal>
Interface: any
Repetir el proceso para añadir una nueva Address para cada uno de los dominios necesarios para el funcionamiento del portal cautivo dependiendo de los métodos de validación escogidos:
Para añadir dominios extra consultar el siguiente enlace
A continuación, es necesario crear un Address Group que incluya todos los dominios anteriores. Para ello dentro de esta misma sección hacer click en Create New Address Group y configurar los siguientes parámetros:
Name: WIFI
Members: incluir todos los dominios añadidos anteriormente.
Una vez añadidas todas las direcciones es necesario asociar cada una de ellas a una política en concreto. Para ello acceder a Policy & Objects > IPv4 Policy y añadir una política nueva con la siguiente configuración:
Name: policy_WIFI
Incoming Interface: SSID configurado
Outgoing Interface: WAN Interface
Source: all
Destination: indicar las direcciones añadidas anteriormente
Service: ALL
Action: Accept
Además, es necesario también añadir una política que permita el acceso a los servidores DNS. Para ello añadir una política nueva con la siguiente configuración:
Name: DNS
Incoming Interface: SSID configurado
Outgoing Interface: WAN Interface
Source: all
Destination: all
Service: DNS
Action: Accept
Si se va a habilitar en la localización la validación a través de redes sociales será necesario añadir también la siguiente política.
Name: Social Login
Incoming Interface: SSID configurado
Outgoing Interface: WAN Interface
Source: all
Destination: añadir los Internet Services pre-configurados en el Fortinet dependiendo de la red social (Facebook-Web, Linkedin-Web, Twitter-Web)
Action: Accept
El siguiente paso es habilitar el bypass de las políticas del Walled Garden para que no le afecte el portal cautivo externo configurado. Para ello acceder por consola al equipo y ejecutar el siguiente código cambiando el policy_id por el que corresponda.
config firewall policy
edit <policy_id>
set captive-portal-exempt enable
end
Para finalizar esta configuración, se debe crear una política de acceso a Internet para los usuarios autenticados con la siguiente configuración:
Name: GUEST_ACCESS
Incoming Interface: SSID configurado
Outgoing Interface: WAN Interface
Source:
all
añadir el grupo de Radius creado anteriormente.
Destination: all
Service: ALL
Action: Accept
2.4 Listado MACs Autorizadas
Para que la validación de los usuarios funcione correctamente es necesario identificar los NAS que podrán realizar peticiones de autenticación al Servidor Radius. En este caso se deben añadir la dirección MAC de cada AP y las direcciones MAC asignadas al interfaz WiFi de los APs en los que se radiará el SSID con el portal cautivo tanto en 2.4GHz como en 5GHz.
Para ver estas direcciones MAC una vez cargada toda la configuración en los APs es necesario acceder al equipo Fortinet por SSH y ejecutar el siguiente código dentro del VDOM correspondiente.
diagnose wireless-controller wlac -d all
Se debería añadir la MAC asignada al interfaz WiFi tanto en 2.4GHz como en 5GHz de cada SSID configurado.
Por otro lado, para localizar la dirección MAC del AP ejecutar el siguiente comando.
get wireless-controller wtp-status
En este caso se debe añadir la dirección board-mac de cada AP
Para obtener información sobre cómo añadir la dirección MAC de cada AP como un NAS autorizado en la plataforma consulte el siguiente enlace Localizaciones
3- Configuración módulo Enterprise
Para poder integrar las configuraciones de este módulo con la plataforma, es necesario contratar el Módulo Enterprise de Octopus Platform
3.1 MAC Authentication
Para activar la autenticación por MAC es necesario editar el SSID Profile creado. Para ello, es necesario acceder al equipo mediante SSH o consola y ejecutar los siguientes comandos indicando el nombre del SSID profile correspondiente.
config wireless-controller vap
edit <name>
set mac-auth-bypass enable
next
end
----
La validación a través de la dirección MAC de los dispositivos o MAC Authentication únicamente puede ser activada si el equipamiento FortiWiFi presenta la versión FortiOS 6.0.0 o superior.
3.2 Configuración funcionalidades “Access Profiles” plataforma Octopus Wifi
A través de la plataforma Octopus es posible configurar una serie de atributos reply de los paquetes Access-Accept, agrupados en los llamados Access Profile. Estos Access Profile, permite activar una serie de funcionalidades en el FortiWiFi. Aunque están disponibles los dictionarys radius más comunes y propietarios de FortiWiFi, a continuación se lista algunos considerados como más interesantes:
Atributo | Descripción | Formato |
---|---|---|
Idle-Timeout | Tiempo máximo de inactividad. Si el usuario no transfiere ningún dato en la red durante este tiempo, la sesión terminará y tendrá que volver a autenticarse. Tiene que ser configurado en segundos. | Segundos |
Acct-Interim-Interval | Define el intervalo de tiempo en el que el NAS manda la actualización del paquete accounting con toda la información de sesión del usuario. Tiene que ser configurado en segundos. | Segundos (minimo 600 segundos) |
Reply-Message | Útil para funciones de troubleshooting, ya que permite identificar elementos asociados de la plataforma Octopus Wifi, como un access profile, método de acceso , localización, … |
|
Ejemplo de configuración de un Access Profile con los atributos anteriormente explicados:
Para mas información sobre como crear un Access Profile en Octopus Platform ir a Perfiles de Acceso