Cómo solucionar la autenticación IKEv2 SAML en FortiGate con FortiAuthenticator como IdP

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.

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:

  1. 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

  2. Especifica el certificado que se presentará al FortiClient. Para .
  3. 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:
Artículos relacionados  Cómo resolver el problema de "interface flapping" en FortiGate desplegado en Azure.

Configuración general de IdP SAML

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

Configuración de Proveedor de Servicio

  • 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:

Configuraciones adecuadas de Proveedor de Servicio

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

Atributos de Assertion

  1. 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’:

    Crear configuración SAML IdP

  2. Ajusta los parámetros conforme a los requisitos. Los atributos mencionados se muestran subrayados en la captura de pantalla a continuación:
    1. El campo de dirección debe ser el FQDN/IP y puerto de escucha de SAML IKEv2 de FortiGate.
    2. 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).
    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’:

  1. Interfaz de escucha de IdP.
  2. Prefijo.
  3. 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.
  4. La sección ‘Atributos adicionales de SAML’ debe ser la misma que en el IdP SAML (ver paso 3):

Configuraciones de Proveedor de Identidad

Comandos CLI utilizados

La configuración también se puede realizar via la consola CLI:

Artículos relacionados  Cómo solucionar el error 'No se puede crear el certificado' al subir certificados PKCS12 (.pfx) a FortiGate.

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

  1. Configura ‘ike-saml-server’ bajo la interfaz de escucha:

    config system interface
    edit «port3»
    set ike-saml-server «FAC-IPSec»
    next
    end

  1. 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

  1. 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
    end

    config 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
    end

    Nota: Los grupos de usuarios deben definirse en la configuración de la Fase 1 o en la política de firewall.

  1. 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

  1. Configura el valor del tiempo de espera de autenticación remota según sea necesario:

    config system global
    set remoteauthtimeout 120
    end

  2. Configuración de FortiClient en la estación de trabajo. Completa los campos de acuerdo con la configuración:
  3. Nota: El soporte para navegadores externos en IPsec SAML ahora es compatible con FortiOS v.7.6.1 y superiores.

    Configuraciones de FortiClient

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

    Conexión FortiClient paso 1

    Conexión FortiClient paso 2

    Conexión FortiClient paso 3

Artículos relacionados  Cómo resolver problemas al verificar el historial de actualizaciones de FortiGate usando el comando alertconsole

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

Deja una respuesta 0

Your email address will not be published. Required fields are marked *