Cisco WLC
GUÍA DE CONFIGURACIÓN
El objetivo del siguiente manual es una descripción de la configuración necesaria en el equipamiento Cisco WLC para la integración con Octopus Platform
1- Requerimientos previos
Previamente a ninguna configuración, se aconseja revisar la versión del Cisco WLC y actualizar a versión 8.2.100.0 o superior para configuraciones en modo local y 8.7 o superior en modo flexconnect. Esto es debido a que en estas versiones está permitido configurar ACLs a partir de nombres de dominio o url-domain lo cual aporta varias ventajas.
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 Server
Radius Authentication
Se configurarán los parámetros de los servidores radius a los que se enviarán las peticiones de autenticación de los usuarios, para ello acceder a Security > AAA > RADIUS > Authentication y configurar los siguientes parámetros globales:
Auth Called Station ID Type: AP MAC Address:SSID
MAC Delimiter: Hyphen
Tras configurar estos parámetros pulsar el botón New para añadir el primer servidor radius, configurando los siguientes campos:
Server IP Address: <IP_Radius_1>
Server Secret Format: ASCII
Shared Secret: <Secret>
Confirm Shared Secret: <Secret>
Port Number: 1812
Server Status: Enabled
Server Timeout: 3 seconds
A continuación añadir el segundo servidor radius:
Server IP Address: <IP_Radius_2>
Server Secret Format: ASCII
Shared Secret: <Secret>
Confirm Shared Secret: <Secret>
Port Number: 1812
Server Status: Enabled
Server Timeout: 3 seconds
Radius Accounting
Acceder a Security > AAA > RADIUS > Accounting y configurar los siguientes parámetros globales:
Auth Called Station ID Type: AP MAC Address:SSID
MAC Delimiter: Hyphen
Pulsar el botón New para añadir el primer servidor radius configurando los siguientes campos:
Server IP Address: <IP_Radius_1>
Shared Secret Format: ASCII
Shared Secret: <Secret>
Confirm Shared Secret: <Secret>
Port Number: 1813
Server Status: Enabled
Server Timeout: 3 seconds
Añadir el segundo servidor Radius:
Server IP Address: <IP_Radius_2>
Shared Secret Format: ASCII
Shared Secret: <Secret>
Confirm Shared Secret: <Secret>
Port Number: 1813
Server Status: Enabled
Server Timeout: 3 seconds
Otras configuraciones
Para permitir conexiones simultáneas de varios dispositivos con el mismo username y que el limite lo gestione el servidor radius, acceder a Security > AAA > User Login Policies y configurar:
Max Concurrent Logins for a user name: 0
2.2 Access Control List
Para que el proceso de validación de los usuarios funcione correctamente es necesario permitir el acceso a ciertos dominios sin necesidad de autenticarse. Para ello, lo más sencillo es cargar un pequeño script para crear los ACLs aunque también es posible realizarlo a través del interfaz gráfico en Security > Access Control Lists. A continuación, se detallan los pasos a seguir para crear el ACL conectándose al equipo mediante SSH o consola.
Crear ACL
config acl create WALLEDGARDEN_GUEST
Añadir permisos para el Portal Cautivo y dominios básicos:
config acl url-domain add <dominio_captive_portal> WALLEDGARDEN_GUEST
config acl url-domain add google-analytics.com WALLEDGARDEN_GUEST
config acl url-domain add docubleclick.net WALLEDGARDEN_GUEST
Si se desean añadir dominios extra (Redes Sociales, Paypal, etc...) pueden consultarse desde el siguiente enlace.
Revisar la configuración realizada y aplicar cambios
Detalle de la configuración:
show acl detailed WALLEDGARDEN_GUEST
Si tras revisar la configuración realizada todos los parámetros son correctos ejecutar los siguientes comandos para guardar los cambios.
config acl apply WALLEDGARDEN_GUEST
save config
2.3 Configuración WLAN
En primer lugar, en la pestaña Controller:
Fast SSID change: Enable.
El siguiente paso en el apartado WLANs, será crear una nueva WLAN o modificar una ya existente donde queremos asociar el portal cautivo. Para crearla:
Type: WLAN
Profile Name: determinar el nombre de la WLAN.
SSID: establecer el SSID que radiarán los APs.
Dentro de la configuración de la WLAN realizar la siguiente configuración:
General
Una vez creado la WLAN, en la edición del profile ir a la primera pestaña General y habilitar el SSID ya que por defecto se crea deshabilitado.
SSID: Nombre de red o SSID.
Status: Enabled
Layer 2
En la pestaña Security > Layer 2 configurar los siguientes parámetros:
Layer 2 Security: None
Layer 3
En la pestaña Security > Layer 3 configurar los siguientes parámetros:
Layer 3 Security: Web Policy
Marcar la opción: Authentication
Preauthentication ACL: Seleccionar ACL creado anteriormente
Over-ride Global Config: Enable
Web Auth Type: External (Re-direct to external server)
URL (revisar apartado 2.4 para que la redirección de la url sea http o https):
Opción http: http://<dominio_captive_portal>/login/hotspot/cisco
Opción https: https://<dominio_captive_portal>/login/hotspot/cisco
AAA Servers
En la pestaña AAA Servers seleccionar los servidores radius creados anteriormente, tanto de Authentication y Accounting, para ello realizar la siguiente configuración:
Authentication Servers
Marcar la casilla Enabled
Server 1: seleccionar el Servidor Radius con la IP <IP_Radius_1>
Server 2: seleccionar el Servidor Radius con la IP <IP_Radius_2>
Accounting Servers
Marcar la casilla Enabled
Server 1: seleccionar el Servidor Radius con la IP <IP_Radius_1>
Server 2: seleccionar el Servidor Radius con la IP <IP_Radius_2>
Radius Server Accounting
Interim Update: habilitar esta opción
Interim Interval: 600
Advanced Configuration
Para finalizar la configuración de la WLAN ir a la pestaña Advanced y habilitar las siguientes opciones:
Allow AAA Override: Enabled
Enable Session timeout: Enabled. Rellenar un valor, aunque realmente será sobreescrito del servidor radius.
Client user idle timeout (15-100000): Se aconseja entre 600 y 900 segundos
Tras realizar todos los cambios descritos hacer click en Apply para salvar la configuración realizada.
2.4 Opción configuración proceso login: HTTP o HTTPS
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.
Opción HTTP
Se aconseja realizar algunos cambios en la configuración de la controladora para mejorar la experiencia del usuario final. Para ello acceder a Management y configurar los siguientes parámetros:
WebAuth SecureWeb: Disabled
HTTPS Redirection: Disabled
Se aconseja deshabilitar la opción WebAuth SecureWeb ya que con validación http aparecerían en los navegadores alertas de seguridad:
De igual manera se aconseja deshabilitar la opción HTTPS Redirection. Tal como comunica Cisco en su documentación, actualmente se aconseja deshabilitar esta opción porque los navegadores muestran alerta con posible error de “Man in the middle” que también deteriora la experiencia de los usuarios:
Tras realizar algún cambio en esta sección es necesario salvar los cambios y reiniciar el controlador para que se aplique la nueva configuración
Opción HTTPS
Si se elige configurar este opción de validación segura es muy importante saber que es necesario una resolución DNS entre el subdominio asociado al certificado y la IP virtual del controlador, de lo contrario las validaciones no se redirigirán al WLC y se producirán errores de autenticación. Esta entrada DNS la deberán resolver los servidores DNS entregados por DHCP a los clientes.
Lo primero, será cargar un nuevo certificado en el controlador asociado al subdomino para realizar el login. Se ofrecen certificados, para lo cual será necesario configurar e iniciar una transferencia FTP con los siguientes comandos:
transfer download mode ftp
transfer download datatype webauthcert
transfer download serverip <XX.XX.XX.XX>
transfer download path <PATH>
transfer download filename ciscosecurelogin.pem
transfer download username <username>
transfer download password <password>
transfer download port <port>
transfer download certpassword <certpassword>
transfer download start
Si todo es correcto, seguidamente será necesario habilitar la posibilidad de autenticación mediante HTTPS. Para ello acceder a Management > HTTP-HTTPS y configurar:
WebAuth SecureWeb: Enabled
Una vez habilitado el envío de las credenciales de los usuarios mediante HTTPS es necesario cambiar el DNS Name del controlador Cisco para que coincida con el Domain Name incluido en el certificado proporcionado. Para ello acceder a Controller > Interfaces y editar la Interface virtual para modificar el siguiente parámetro:
Una vez realizados los cambios será necesario guardar la configuración y reiniciar el controlador para que todos los cambios realizados se apliquen correctamente.
2.5 Opción configuración FlexConnect
Configuración APs en modo Flexconnect
Entrar en cada uno de los APs que aparecen en la pestaña Wireless > Access Points > Pestaña General
AP mode: FlexConnect
Pestaña High Avalilability
Primary Controller: <nombre de WLC>
Pestaña FlexConnect
VLAN Support: enabled
Native VLAN ID: <vlan gestión APs>
Pulsar el botón Apply y repetir estos pasos con cada uno de los APs instalados.
Configuración FlexConnect Group
Para configurar los APs hay que crear un FlexConnect Group para ello ir a la pestaña Wireless > FlexConnect Groups y hacer click en New para añadir un nuevo grupo.
Group Name: <nombre grupo>
Dentro del grupo creado, pestaña General > FlexConnect APs
Pulsar Add AP y añadir todos los que queramos asignar al grupo.
Pestaña WLAN VLAN mapping
WLAN Id: Identificador de WLAN guest que se quiere aplicar.
Vlan Id: Identificador de VLAN asignado a la WLAN
Configuración FlexConnect Access Control List
Para que el proceso de validación de los usuarios funcione correctamente es necesario permitir el acceso a ciertos dominios para ello lo más sencillo es cargar un pequeño script para crear los ACLs aunque también es posible realizarlo a través del interfaz gráfico en Security > Access Control Lists > FlexConnect ACLs. A continuación se detallan los pasos a seguir para crear el ACL conectándose al equipo mediante SSH o consola.
Crear ACL
config flexconnect acl create FLEXWALLEDGARDEN_GUEST
Añadir permisos para el Portal Cautivo y dominios básicos:
config flexconnect acl url-domain add <dominio_captive_portal> FLEXWALLEDGARDEN_GUEST
config flexconnect acl url-domain add google-analytics FLEXWALLEDGARDEN_GUEST
config flexconnect acl url-domain add doubleclick.net FLEXWALLEDGARDEN_GUEST
Si se desean añadir dominios extra (Redes Sociales, Paypal, etc...) pueden consultarse desde el siguiente enlace.
Revisar la configuración realizada y aplicar cambios
Detalle de la configuración:
show flexconnect acl summary
show flexconnect acl detailed FLEXWALLEDGARDEN_GUEST
Si tras revisar la configuración realizada todos los parámetros son correctos ejecutar los siguientes comandos para guardar los cambios.
config flexconnect acl apply FLEXWALLEDGARDEN_GUEST
save config
Asignar ACL en WLAN
En la edición de la WLAN > Layer 3 > Preauthentication ACL, modificar los siguientes parámetros:
WebAuth FlexAcl: Seleccionar el ACL creado anteriormente para la configuración FlexConnect
2.6 Otras configuraciones
Para permitir a clientes VPN autenticación completa sin necesidad de web-auth security, y evitar cortes de conexión ejecutar los siguientes comandos:
config wlan security web-auth timeout 3600 <Wlan_id>
Deshabilitar logout pop-up recién logado. Si el navegador no tiene habilitado el bloqueador de ventanas emergentes puede dar problemas en los procesos de logout y login. Para deshabilitarlo ejecutar el siguiente comando:
config custom-web logout-popup disable
2.7 Listado MACs Autorizadas
Para que la validación de los usuarios funcione correctamente es necesario identificar los NAS o suplicantes que podrán realizar peticiones de autenticación a los servidores radius. En este caso se deben añadir todas las direcciones MAC del interfaz WiFi de los Access Point que radiarán el SSID configurado.
Estas direcciones MAC son fácilmente accesibles dentro de Wireless > Access Points > Radios > Base Radio MAC (es la misma en 2,4 y 5 GHz)
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 Configuración Captive portal + MAC Authentication
Para activar la autenticación por MAC es necesario editar la WLAN donde queremos aplicarlo y realizar la siguiente configuración:
Pestaña Security > Layer 2
MAC Filtering: Enabled
Pestaña Security > Layer 3 > Layer 3 security:
On MAC Filter failure: Enabled
Pestaña Advanced, asegurarse de:
Enable Session Timeout: Disabled
3.2 Configuración MAC Authentication
Para crear un SSID dedicado únicamente a la validación por MAC Authentication, dirigirse al apartado WLANs, para crear una nueva WLAN o modificar una ya existente. Para crearla:
Type: WLAN
Profile Name: determinar el nombre de la WLAN.
SSID: configurar SSID por ejemplo Mac_Auth_Guest
Una vez creado la WLAN, en la edición del profile ir a la primera pestaña General y habilitar el SSID ya que por defecto se crea deshabilitado.
En la pestaña Security > Layer 2 configurar los siguientes parámetros:
Layer 2 Security: None
MAC Filtering: Enable
En la pestaña Security > Layer 3 configurar los siguientes parámetros:
Layer 3 Security: Web Policy
Marcar la opción: On MAC Filter failure
Preauthentication ACL: None
Over-ride Global Config: Disable
En la pestaña AAA Servers seleccionar los servidores radius creados anteriormente, tanto de Authentication y Accounting, para ello realizar la siguiente configuración:
Asociar los servidores radius creados en el punto 2.1 de esta guía
Pestaña Advanced, asegurarse de:
Enable Session Timeout: Disabled
Allow AAA Override: Enabled
Client user idle timeout (15-100000): Se aconseja entre 600 y 900 segundos
Tras realizar todos los cambios descritos hacer click en Apply para salvar la configuración realizada.
3.3 Configuración Identity PSK
Algunos dispositivos que se conectan a nuestras redes, especialmente dispositivos IoT, no tienen la capacidad de realizar conexiones a través de validaciones seguras como 802.1X y por ello se conectan a través de validaciones WPA-PSK. Este tipo de validación tiene inconvenientes de seguridad ya que la clave es única y cualquier dispositivo puede conectase. La funcionalidad Identity PSK de Cisco, permite un doble factor de autenticación a través de filtrado MAC y claves PSK, que pueden ser asignadas por dispositivo o grupos de dispositivo, permitiendo seguridad y control a gran escala. Para configurar la identificación por PSK:
Configuración Cisco WLC
Antes de nada configuración la funcionalidad MAC Authentication del apartado 3.1
Acceder al apartado WLANs y crear una nueva WLAN o configurar una ya existente y en la pestaña Security > Layer2:
Layer 2 Security: WPA+WPA2
WPA+WPA2 Parametrers: WPA2 Policy
Authentication Key Management: PSK Enable
PSK Format: Introducir clave PSK
Después ir a la pestaña AAA Servers:
Authentication Servers: Enabled
Server 1: Configurado en punto 2.1 del manual.
Server 2: Configurado en punto 2.1 del manual.
Accounting Servers: Enabled
Server 1: Configurado en punto 2.1 del manual.
Server 2: Configurado en punto 2.1 del manual.
Radius Server Accounting
Interium Update: Enabled
Interim Interval: 600
Por último, en la pestaña Advanced
Allow AAA Override: Enabled
Configuración plataforma Octopus > Access Profile
Atributos radius a configurar:
cisco-av-pair = “psk-mode=ascii”
cisco-av-pair += “psk=password”
Posible combinar con local policy con el atributo
cisco-av-pair += “role=policyCiscoWLC”
3.4 Configuración Access Profiles
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 WLC. Aunque están disponibles los dictionarys radius más comunes y propietarios de Cisco, a continuación se lista algunos considerados como más interesantes:
Atributo | Descripción | Formato |
---|---|---|
Airespace-Data-Bandwidth-Average-Contract Airespace-Real-Time-Bandwidth-Average-Contract Airespace-Data-Bandwidth-Burst-Contract Airespace-Real-Time-Bandwidth-Burst-Contract | Definen límites de velocidad para una determinada sesión, tanto de subida como bajada. Es necesario configurar los cuatro. | Kilobyte |
Airespace-Guest-Role-Name | Asignación de un QoS Rol Name, previamente creado en CiscoWLC |
|
Airespace-ACL-Name | Asignación de una Access Control List previamente creado en CiscoWLC |
|
cisco-av-pair | string con diferentes posibilidades. |
|
Reply-Message | Útil para funciones de troubleshooting, ya que permite identificar elementos asociados de la plataforma Octopus, como un access profile, método de acceso , localización, … |
|
Asignación QoS Role Name: Aunque se puede enviar los parámetros de configuración directamente desde el servidor radius, también es posible asignar un QoS Role, que podrá ser asociado desde la plataforma con el atriburo radius Airespace-Guest-Role-Name.
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
Wireless > QoS > Roles > Per-User Bandwidth Contracts (kbps):
Average Data Rate: Tasa de datos promedio para el tráfico TCP por usuario.
Burst Data Rate: Tasa de datos máximo para el tráfico TCP por usuario.
Average Real-Time Rate: Tasa de datos promedio en tiempo real para el tráfico UDP por usuario.
Burst Real-Time Rate: Tasa de datos máxima en tiempo real para el tráfico UDP por usuario.
Asignación ACL Name: También es posible asignar desde la plataforma Octopus el ACL que aplicaría a un determinado usuario conectado a la WLAN. Para crearlos serían seguir los pasos del apartado 2.2