GUÍA DE CONFIGURACIÓN
El objetivo del siguiente manual es una descripción de la configuración necesaria en el equipamiento Fortigate para la integración con la plataforma WiFi Invitados.
Panel | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
|
1- Configuración inicial
Existen dos opciones de configuración para la validación del portal cautivo: Una a través de conectividad http, donde el tráfico no iría cifrado y otra a través de https. Se aconseja la segunda opción para un funcionamiento adecuado de todas las funcionalidades y para evitar errores de seguridad en los navegadores que deterioran la experiencia del usuario final.
...
Lo normal es que los siguientes parámetros de configuración no tengan nada configurado. Utilizando el comando "show" podemos verificarlo:
Code Block | ||||
---|---|---|---|---|
| ||||
config user setting show "config user setting end" config firewall auth-portal show "config firewall auth-portal end" |
1.2 Opción HTTPS
Lo primero, será cargar un nuevo certificado asociado al subdominio para realizar el login. para ello seguir los siguientes pasos:
Subir certificado
Lo primero será crear el certificado con formato ".pfx". Podemos crearlo con openssl.
Para subirlo, acceder a la interfaz gráfica System > Certificates > Import > Local Certificate:
Type: PKCS #12 Certificate
Certificate with key file: certificate.pfx
Password: dejarlo en blanco
Certificate Name: <certificate_name>
Cambios configuración
Code Block | ||||
---|---|---|---|---|
| ||||
config user setting set auth-secure-http enable set auth-cert <certificate_name> end config firewall auth-portal set portal-addr <certificate_name> end |
...
Si se utiliza un servidor DHCP ajeno al equipo Fortinet, crear una entrada DNS que resuelva "<certificate_name> = IP interfaz configuración portal del Fortinet". En caso contrario seguir los siguientes pasos:
Networks > DNS Servers > DNS Database > Create New
Type: Master
View: Shadow
DNS Zone: <certificate_name>
Domain Name: <certificate_name>
Authoritative: disable
...
Dentro de Database creado DNS Entries > Create New
Type: Address (A)
Hostname: securelogin
IP Address: incluir la dirección IP del equipo FortiWiFi en el interfaz WIFI en el que se activará el portal cautivo. (Esta dirección IP se puede consultar en Network > Interfaces)
...
Code Block | ||||
---|---|---|---|---|
| ||||
config system dns-database edit "<certificate_name>" set domain "<certificate_name>" config dns-entry edit 1 set hostname "securelogin.<certificate_name>" set ip 10.10.0.1 next end next end |
- Vertificar
Verificar que los servidores DNS entregados al cliente es el del Fortinet. Para ello Network > Interfaces > Interfaz WiFi Invitados configurado > DHCP Server > DNS Server, configurar "Same as interface IP"
2- Radius Servers
El siguiente paso es configurar los parámetros del Servidor Radius al que se enviarán las peticiones de autenticación de los usuarios. Para ello se aconseja realizarlo a través de CLI, ya que parte de la configuración no es soportada por la interfaz gráfica:
Code Block | ||||
---|---|---|---|---|
| ||||
config user radius edit Radius_Guest set server "<IP_Radius_1>" set secret <Secret> set acct-interim-interval 600 set auth-type pap set secondary-server "<IP_Radius_2>" set secondary-secret <Secret> config accounting-server edit 1 set status enable set server "<IP_Radius_1>" set secret <Secret> next edit 2 set status enable set server "<IP_Radius_2>" set secret <Secret> next end next end |
Posteriormente crear un 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:
Code Block | ||||
---|---|---|---|---|
| ||||
config user group edit "Radius_Group" set member "Radius_Guest" next end |
...
El siguiente paso es crear la VLAN que estará asociada al portal cautivo externo. Para ello acceder a Network > Interfaces y añadir una nueva vlan haciendo click en Create New Interface con la siguiente configuración:
Interface Name: indicar el nombre del interfaz
Type: VLAN
Interface: indicar el interface al que estará asociada la VLAN
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.
Admission Control
Security mode: Captive Portal
Authentication Portal: External
https://<dominio_captive_portal>/login/hotspot/fortigate
User Access: Restricted to Groups
User Groups: Seleccionar el grupo que contiene el Servidor Radius
Ejemplo de configuración por CLI:
Code Block | ||||
---|---|---|---|---|
| ||||
config system interface edit "vlan710" set vdom "root" set ip 10.10.0.1 255.255.252.0 set allowaccess ping radius-acct set alias "vlan_Guest710" set security-mode captive-portal set security-mac-auth-bypass enable set security-external-web "https://"<dominio_captive_portal>"/login/hotspot/fortigate" set security-groups "Radius_group" set role lan set snmp-index 14 set interface "bridgeEth" set vlanid 710 next end |
...
El último paso para terminar la configuración en el equipamiento Fortigate es añadir el Walled Garden, para ello acceder a Policy & Objects > Addresses y añadir los dominios básicos más los que nos interesen (ej: Redes sociales) del siguiente listado que se puede desplegar a continuación:
Name: Nombre identificativo
Type: FQDN
FQDN: *domain*
Interface: any
Como mínimo se deberán añadir:
<dominio_captive_portal>
google-analytics.com
doubleclick.net
A continuación se puede ver la lista completa dependiendo de las funcionalidades utilizadas.
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Ejemplo CLI
Code Block | ||||
---|---|---|---|---|
| ||||
config firewall address edit "<dominio_captive_portal>" set type fqdn set fqdn "<dominio_captive_portal>" next edit "google-analytics.com" set type fqdn set fqdn "google-analytics.com" next edit "doubleclick.net" set type fqdn set fqdn "doubleclick.net" next end |
A continuación, es necesario crear un Address Group que incluya todos los dominios anteriores. Para ello, hacer click en Create New Address Group y configurar los siguientes parámetros:
Name: Nombre identificativo
Members: incluir todos los dominios añadidos anteriormente.
Code Block | ||||
---|---|---|---|---|
| ||||
config firewall addrgrp edit "walledgarden_group" set member "<dominio_captive_portal>" "google-analytics.com" "doubleclick.net" next end |
...
Una vez añadidas todas las direcciones es necesario asociar cada una de ellas a una política, para ello dirigirse a Policy & Objects > IPv4 Policy y añadir una serie de políticas
Política walled garden
Name: walledgardenpolicy_guest
Incoming Interface: interface creada para invitados anteriormente.
Outgoing Interface: WAN Interface
Source: all
Destination: indicar el Address Group añadido anteriormente.
Service: ALL
Action: Accept
Se debe habilitar el bypass al 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.
Code Block | ||||
---|---|---|---|---|
| ||||
config firewall policy edit <policy_id> set captive-portal-exempt enable end |
...
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_guest
Incoming Interface: interface creada anteriormente.
Outgoing Interface: WAN Interface
Source: all
Destination: all
Service: DNS
Action: Accept
Política de acceso a internet
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: auth_guest
Incoming Interface: interface creada en anteriormente
Outgoing Interface: WAN Interface
Source:
all
añadir el grupo de Radius creado anteriormente
Destination:
allall
Service:
ALLALL
Action:
AcceptAccept
A continuación se resumen todas las políticas en CLI:
Code Block | ||||
---|---|---|---|---|
| ||||
edit 1 set name "walledgardenpolicy_guest" set srcintf "vlan710" set dstintf "wan1" set srcaddr "all" set dstaddr "walledgarden_guest" set action accept set schedule "always" set service "ALL" set captive-portal-exempt enable set nat enable next edit 2 set name "dns_guest" set srcintf "vlan710" set dstintf "wan1" set srcaddr "all" set dstaddr "all" set action accept set schedule "always" set service "DNS" set captive-portal-exempt enable set nat enable next edit 3 set name "auth_guest" set srcintf "vlan710" set dstintf "wan1" set srcaddr "all" set dstaddr "all" set action accept set schedule "always" set service "ALL" set fsso disable set groups "Radius_Group" set nat enable next end |
6- NAS Identifier
Para que el Servidor Radius autorice e identifique las peticiones de autenticación provenientes del equipo FortiGate es necesario modificar el nombre del equipo para que envíe la MAC Address del mismo. Para ello ejecutar los siguientes comando modificando la dirección MAC por la que corresponda.
Code Block | ||||
---|---|---|---|---|
| ||||
config system global
set alias "18CF5EA1F8BD"
set hostname "18CF5EA1F8BD"
end |
...
end |
7- Listado MACs Autorizadas
...
Warning |
---|
La validación a través de la dirección MAC de los dispositivos o MAC Authentication únicamente puede ser activada si el equipamiento FortiGate presenta la versión FortiOS 6.0.0 o superior. |
Para activar la autenticación por MAC es necesario editar la vlan asociada al portal cautivo. Para ello es necesario acceder al equipo mediante SSH o consola y ejecutar los siguientes comandos indicando el nombre de la vlan correspondiente:
Code Block | ||||
---|---|---|---|---|
| ||||
config system interface edit <name> set security-mac-auth-bypass enable next end |
...
-