En este artículo, exploraremos cómo configurar una autenticación IPSec IKEv2 basada en SAML, utilizando FortiAuthenticator como proveedor de identidad (IdP). La correcta configuración de este proceso es crucial para garantizar la seguridad y la eficiencia en el acceso remoto a través de VPN. Este artículo guiará a los administradores de red en la configuración adecuada de FortiGate para implementar esta autenticación, asegurando que todos los parámetros necesarios se manejen correctamente.
Índice
Descripción del problema
La autenticación basada en SAML proporciona un mecanismo robusto y seguro para gestionar el acceso a recursos en redes privadas. Sin embargo, su correcta implementación en dispositivos como FortiGate y FortiAuthenticator puede ser compleja. Los problemas suelen surgir debido a configuraciones inadecuadas que pueden afectar la conectividad y el acceso de los usuarios.
Alcance
Este artículo es aplicable a las versiones de FortiAuthenticator v6.4.x o posteriores, FortiGate v7.2.0 o posteriores, y FortiClient v7.2.4 o posteriores.
Diagnóstico paso a paso
A continuación se describen los pasos necesarios para configurar adecuadamente la autenticación IPSec IKEv2 SAML en FortiGate, incluyendo la configuración inicial de FortiAuthenticator:
- Especifica un puerto TCP que será aceptado por FortiGate. Actualmente, esta opción está disponible solo a través de comandos CLI. En un dispositivo con VDOM habilitado, la configuración debe ejecutarse en el VDOM Global:
config system global
set auth-ike-saml-port 9443
end - Especifica el certificado que se presentará al FortiClient. Para .
- Verifica si el servicio SAML está habilitado en la interfaz particular de FortiAuthenticator.
Solución recomendada
Aquí hay una referencia de las configuraciones ya realizadas:
- Configuraciones generales de IdP SAML:

- Configuraciones de Proveedor de Servicio: FortiAuthenticator permite guardar configuraciones sin campos obligatorios. Aquí no hay detalles de SP (como ejemplo):

- Para este artículo KB en particular, se utilizaron otras configuraciones de SP. Todas las configuraciones de IdP deben ser configuradas en la sección IdP de FortiGate, y todos los campos de ‘SP Metadata’ deben ser extraídos de las configuraciones de ‘Proveedor de Servicio’ de FortiGate:

- Los ‘Assertion Attributes’ deben ser idénticos:

- Configura las configuraciones de IdP en FortiGate. Ve a la GUI -> Usuario & Autenticación -> Inicio de Sesión Único -> Selecciona el botón ‘Crear nuevo’:

- Ajusta los parámetros conforme a los requisitos. Los atributos mencionados se muestran subrayados en la captura de pantalla a continuación:
- El campo de dirección debe ser el FQDN/IP y puerto de escucha de SAML IKEv2 de FortiGate.
- Todos los demás campos de ‘Configuración del Proveedor de Servicio’ de FortiGate están en gris, no son ajustables. Estos campos deben ser copiados a las configuraciones de Proveedor de Servicio de FortiAuthenticator (ver paso 3).
- Hay dos opciones en el campo ‘Tipo de Configuración de Proveedor de Identidad’. Para este artículo, se seleccionó ‘Producto Fortinet’ porque FortiAuthenticator estaba actuando como el servidor IdP.
Para esta opción, estos tres atributos deben configurarse en la ‘Configuración de Proveedor de Identidad’:
- Interfaz de escucha de IdP.
- Prefijo.
- Se ha importado un certificado en FortiGate. El certificado se puede encontrar en las ‘Configuraciones generales de IdP SAML’ de FortiAuthenticator en el paso 3.1.
- La sección ‘Atributos adicionales de SAML’ debe ser la misma que en el IdP SAML (ver paso 3):

Comandos CLI utilizados
La configuración también se puede realizar via la consola CLI:
config user saml
edit «FAC-IPSec»
set entity-id «http://10.191.35.84:9443/remote/saml/metadata/»
set single-sign-on-url «https://10.191.35.84:9443/remote/saml/login»
set single-logout-url «https://10.191.35.84:9443/remote/saml/logout»
set idp-entity-id «http://10.191.36.157/saml-idp/fc87gp0rbb35vu70/metadata/»
set idp-single-sign-on-url «https://10.191.36.157/saml-idp/fc87gp0rbb35vu70/login/»
set idp-single-logout-url «https://10.191.36.157/saml-idp/fc87gp0rbb35vu70/logout/»
set idp-cert «FAC_Idp»
set user-name «username»
set group-name «group»
set digest-method sha1
next
end
- Configura ‘ike-saml-server’ bajo la interfaz de escucha:
config system interface
edit «port3»
set ike-saml-server «FAC-IPSec»
next
end
- Crea un grupo de usuarios SAML remoto:
GUI: Ve a la GUI -> Usuario & Autenticación -> Grupos de Usuario -> Selecciona el botón ‘Crear nuevo’ y especifica el Servidor SAML y el nombre del grupo.
Configuraciones CLI:
config user group
edit «FAC-IPSec-Gr01»
set member «FAC-IPSec»
next
end
- Configura un VPN IPsec Dial-up:
config vpn ipsec phase1-interface
edit «fac-saml-vpn»
set type dynamic
set interface «port3»
set ike-version 2
set peertype any
set net-device disable
set mode-cfg enable
set proposal aes128-sha256 aes256-sha1
set dpd on-idle
set eap enable
set eap-identity send-request
set authusrgrp «FAC-IPSec-Gr01» <– grupo SAML.
set ipv4-start-ip 10.1.1.1
set ipv4-end-ip 10.1.1.254
set dns-mode auto
set psksecret ENC lxorIx6jKIyKMgONO7xeP23mAmONx/ePNMS4l/ERtkpOaIT2mAm6Ga3OHc8R3t7H8/arJvOBYWvk4J003DwVXqhjeFlGmj
set dpd-retryinterval 60
next
endconfig vpn ipsec phase2-interface
edit «fac-saml-vpn»
set phase1name «fac-saml-vpn»
set proposal aes128-sha1 aes256-sha256
set dhgrp 14
set keylifeseconds 86400
next
endNota: Los grupos de usuarios deben definirse en la configuración de la Fase 1 o en la política de firewall.
- Crea una política de firewall para el tráfico IPsec:
config firewall policy
edit 2
set name «IPSec-vpn»
set uuid 9c1f013c-eda2-51ed-5c50-93db6dd6a717
set srcintf «fac-saml-vpn»
set dstintf «port2»
set action accept
set srcaddr «all»
set dstaddr «all»
set schedule «always»
set service «DNS» «NTP»
set logtraffic all
set nat enable
next
end
- Configura el valor del tiempo de espera de autenticación remota según sea necesario:
config system global
set remoteauthtimeout 120
end - Configuración de FortiClient en la estación de trabajo. Completa los campos de acuerdo con la configuración:
Nota: El soporte para navegadores externos en IPsec SAML ahora es compatible con FortiOS v.7.6.1 y superiores.

- Resultados de la conexión. Puede aparecer un mensaje de advertencia del certificado. Consulta el paso 2:



Buenas prácticas y recomendaciones
Para asegurar una implementación exitosa, siempre es recomendable:
- Actualizar a las últimas versiones de FortiGate, FortiAuthenticator y FortiClient.
- Revisar las configuraciones de seguridad para evitar brechas en la autenticación.
- Realizar pruebas de conectividad después de cada cambio de configuración.
- Registrar y monitorear actividades inusuales que puedan indicar problemas de autenticación.
Notas adicionales
Ejecuta los siguientes comandos para habilitar la depuración en FortiGate:
diagnose debug console timestamp enable
diagnose debug application fnbamd -1
diagnose debug application saml -1
diagnose debug application ike -1
diagnose debug application eap_proxy -1
diagnose debug enable
Además, habilita RADIUS para depurar en FortiAuthenticator y luego reproduce el problema.
Nota: El acceso remoto IPsec con SAML mediante un navegador externo para la autenticación está soportado a partir de FortiOS v7.6.1, versiones de FortiClient 7.2.5 y 7.4.1 para Mac y Windows, y FortiClient 7.4.3 para Linux.
¿Te ha resultado útil??
0 / 0

Hola, somos Mila Jiménez y César Sánchez. Dos apasionados de la ciberseguridad con muchos años de experiencia. Hemos trabajado en muchas empresas del mundo TI y ahora nos apetece compartir nuestro conocimiento con cualquiera que lo necesite.
¡Si te gusta nuestro contenido puedes invitarnos a un café AQUÍ!



