Ir al contenido

Fortinet

Esta guía explica las formas de integrar Fortinet (FortiGate) con Ironchip: SSL VPN con SAML, SSL VPN con RADIUS a través de NPS, e IPsec de acceso remoto con SAML.

Integra la VPN SSL de FortiGate con la autenticación de Ironchip por SAML.

  • Acceso a la consola de administración de Ironchip.
  • Un usuario con permisos para realizar la configuración en Fortinet.
  1. En la consola de administración de Ironchip, ve a Applications y haz clic en el botón verde New application.

    Botón New application en Applications

  2. Selecciona el tipo SAML y descarga los metadatos con Download metadata file. Los usarás en los pasos siguientes.

    Selección del tipo SAML y descarga de los metadatos

Más adelante volverás a esta aplicación para terminar la configuración.

  1. En el panel de administración de FortiGate, ve a User & Authentication > Single Sign-On y haz clic en Create New, arriba a la izquierda.

    Botón Create New en Single Sign-On

  2. Configura estos parámetros, todos obligatorios:

    • Name: un nombre identificativo.
    • Address, en Service Provider Configuration: la dirección IP pública a la que se enviará la solicitud de autenticación. Normalmente es la misma IP que la de la VPN.
    • Entity ID, Assertion consumer service URL y Single logout service URL: las URL que usará Ironchip para comunicarse con Fortinet.
    • Certificate: el certificado de Fortinet que se utilizará.

    Primera pantalla de configuración del SSO en FortiGate

  3. Haz clic en Next. El segundo apartado se edita con comandos: haz clic en Edit in CLI.

    Botón Edit in CLI

  4. En la consola que se abre, ejecuta estos comandos y sustituye <IP VPN> por la IP de tu VPN:

    set entity-id "https://<IP VPN>/remote/saml/metadata/"
    set single-sign-on-url "https://<IP VPN>/remote/saml/login"
    set single-logout-url "https://<IP VPN>/remote/saml/logout"
    end
  5. Cierra la terminal y haz clic en Cancel. Así evitas que se restablezcan los datos por defecto.

En la aplicación de Ironchip hay que indicar la URL de metadatos que usará para comunicarse con Fortinet.

  1. Abre una terminal en Fortinet y ejecuta:

    diag vpn ssl saml-metadata "<SAML NAME HERE>"
  2. Sube el resultado a una dirección pública de internet y copia la URL en formato raw.

  3. Pega esa URL en el campo Metadata URL de la aplicación de Ironchip.

    Campo Metadata URL de la aplicación SAML en Ironchip

  4. Haz clic en Add service para terminar la configuración en Ironchip.

Vuelve a la pantalla de Fortinet donde lo dejaste. Ten abierto el archivo de metadatos que descargaste de Ironchip.

  1. En Type, selecciona Custom.

  2. Rellena las URL del IdP con los datos del archivo de metadatos:

    • EntityID: la propiedad entityID de la etiqueta XML EntityDescriptor.
    • Assertion consumer service URL: la propiedad Location de la etiqueta XML SingleSignOnService.
    • Single logout service URL: la propiedad Location de la etiqueta XML SingleLogoutService.
    • Certificate: crea un fichero con extensión .crt y pega en él el resultado de introducir el contenido de la etiqueta XML X509Certificate del archivo de metadatos en el primer campo de SAML Tool. Los dos certificados son idénticos.
  3. Introduce los atributos:

    • Attribute used to identify users: urn:oid:0.9.2342.19200300.100.1.1
    • Attribute used to identify groups: urn:oid:1.3.6.1.4.1.5923.1.1.1.1

    Configuración de los datos del IdP y los atributos en FortiGate

  4. Haz clic en Submit para guardar la configuración.

  1. Crea un grupo que tenga como miembro la configuración de SSO de Fortinet.

    Grupo de usuarios con la configuración de SSO como miembro

  2. Añade el grupo a la configuración de la SSL VPN, en Authentication/Portal Mapping.

    Grupo añadido en Authentication/Portal Mapping

  3. Añade el grupo a la política de la VPN, en el apartado Source.

    Grupo añadido en el campo Source de la política de la VPN

  4. Configura los tiempos de autenticación. Abre una terminal de Fortinet con el icono de la parte superior derecha y ejecuta estos comandos, que dan 60 segundos para autenticarse a los usuarios del grupo asociado:

    config user group
    edit <NOMBRE_DEL_GRUPO_PROTEGIDO>
    set authtimeout 60
    end
    config system global
    set remoteauthtimeout 60
    end

Autenticación por SAML o contraseña simultáneamente (opcional)

Sección titulada «Autenticación por SAML o contraseña simultáneamente (opcional)»

Para que los usuarios puedan entrar tanto por SAML como con contraseña local, elige una de estas opciones.

Opción 1. Añade los usuarios locales al grupo creado antes.

Usuarios locales añadidos al grupo de SAML

Opción 2. Crea un grupo nuevo con los usuarios locales.

Nuevo grupo con los usuarios locales

Después añade ese grupo a SSL-VPN Settings y a la política creada anteriormente.

Grupo local añadido a SSL-VPN Settings

Grupo local añadido a la política de la VPN

Implementa el servicio RADIUS en Fortinet e intégralo con un servidor NPS en un entorno de Active Directory.

  • Un Active Directory funcional.
  • El rol de NPS instalado en un Windows Server y protegido por Ironchip. Consulta Microsoft NPS.
  • Una aplicación MFA creada en la consola de administración de Ironchip.
  • La app de Ironchip descargada.
  1. En tu servidor AD, abre la configuración de NPS (Servidor de directivas de redes) y crea un nuevo cliente RADIUS que apunte a la IP de Fortinet.

    Creación de un cliente RADIUS en NPS

  2. Introduce estos datos:

    • Un nombre identificativo para RADIUS.
    • La IP de Fortinet.
    • Una clave secreta para RADIUS.

    Datos del cliente RADIUS: nombre, IP y secreto

  1. Entra en el panel de configuración de Fortinet desde un navegador, con la IP de tu Fortinet.

    Pantalla de acceso al panel de FortiGate

  2. Ve a User & Authentication > RADIUS Servers y añade uno nuevo.

    Menú User & Authentication > RADIUS Servers

  3. Rellena los datos: un nombre identificativo, la IP del servidor donde creaste el RADIUS y el secreto de RADIUS.

    Formulario del servidor RADIUS en FortiGate

  4. Para confirmar que se conectó correctamente, haz clic en Test Connectivity. Si el resultado es Successful, haz clic en Test User Credentials e inicia sesión con un usuario de tu dominio. Si falla, comprueba que el cortafuegos de Windows Server tiene una regla de entrada que permite el tráfico RADIUS (UDP) desde la IP de Fortinet.

  5. Crea un grupo y usuarios que hagan referencia al dominio en Fortinet. Ve a User & Authentication > User Groups y añade uno nuevo.

    Menú User & Authentication > User Groups

  6. Ponle un nombre, selecciona la opción Firewall y en Remote groups selecciona tu servidor RADIUS.

    Formulario del grupo de usuarios con el servidor RADIUS remoto

  7. Para configurar los usuarios, ve a la pestaña User Definition y repite estos pasos por cada usuario:

    1. Haz clic en Create New.
    2. Selecciona Remote RADIUS User.
    3. Escribe el usuario con formato dominio\usuario y selecciona el servidor RADIUS creado antes.
    4. Deja Two-factor deshabilitado.
    5. Habilita User Group y selecciona el grupo creado.
Crear usuarios RADIUS remotos en FortiGateReproducir el vídeo

Para no crear los usuarios uno a uno, añade un atributo a la directiva de red del dominio.

  1. Abre el Servidor de directivas de red.

    Ventana del Servidor de directivas de red

  2. Ve a Directivas > Directivas de red y haz doble clic en la directiva.

    Lista de directivas de red

    Propiedades de la directiva de red

  3. Ve a Configuración, en Atributos RADIUS selecciona Específico del proveedor y haz clic en Agregar.

    Atributos RADIUS específicos del proveedor

  4. En el desplegable Proveedor, selecciona Personalizado y después la opción vendor-specific.

    Selección del proveedor personalizado

  5. Haz clic en Agregar. Aparece esta ventana:

    Ventana de información del atributo específico del proveedor

  6. Haz clic en Agregar y deja la ventana siguiente configurada así:

    Configuración del identificador de proveedor

  7. Haz clic en Configurar atributo y en la ventana que aparece establece:

    1. Número de atributo asignado por el proveedor: 1.
    2. Formato del atributo: Cadena.
    3. Valor de atributo: el grupo creado antes en Fortinet.

    Configuración del atributo con número 1, formato cadena y el grupo

  1. Ve a VPN > SSL-VPN Settings.

    Menú VPN > SSL-VPN Settings

  2. Modifica los campos así:

    • Selecciona las interfaces que vas a usar, por ejemplo la WAN o la LAN.
    • Cambia el puerto para evitar conflictos. Te recomendamos 4443 o 10443.
    • No es necesario crear un certificado, pero puedes crear uno autofirmado si lo necesitas.
  3. Baja hasta el final de la página, donde hay otros dos campos por configurar.

    Campos finales de SSL-VPN Settings: asignación de portal

  4. En Authentication/Portal Mapping, haz clic en Create New, selecciona tu grupo de usuarios y asígnale el portal tunnel-access.

  5. Haz clic en Apply.

  1. Ve a Policy & Objects > Firewall Policy y crea una política nueva.

    Pantalla Firewall Policy

  2. Configúrala así:

    • Name: un nombre para la política. Es el que escribirás en la aplicación de la consola de Ironchip y en el plugin.
    • Incoming Interface: SSL-VPN tunnel interface.
    • Outgoing Interface: la interfaz física.
    • Source: all y, muy importante, el grupo que has creado.
    • Destination: all.
    • Service: ALL.
  3. Haz clic en OK.

  4. Configura el timeout de Fortinet y de la conexión RADIUS en 60 segundos, para que los usuarios tengan tiempo de completar la autenticación. Abre una terminal de Fortinet con el icono de la parte superior derecha. Este comando da 60 segundos a los usuarios del grupo asociado:

    config user group
    edit <NOMBRE_DEL_GRUPO_PROTEGIDO>
    set authtimeout 60
    end
  5. Haz lo mismo para la conexión RADIUS:

    config system global
    set remoteauthtimeout 60
    end
  6. Cambia la configuración para que, al autenticarte, Fortinet no mande más de una petición:

    config user radius
    edit <NOMBRE_DEL_SERVIDOR_RADIUS_EN_FORTI>
    set timeout 60
    end
Crear la aplicación de Fortinet en la consola de IronchipReproducir el vídeo

El servidor NPS y Fortinet deben estar iniciados al hacer las pruebas.

  1. En FortiClient, selecciona ACCESO REMOTO.

    Opción Acceso remoto en FortiClient

  2. En la ventana siguiente, elige Configurar VPN.

    Opción Configurar VPN

  3. Rellena los datos de la VPN. Respeta el mismo patrón de identificación de usuario que hayas establecido en el grupo y en la aplicación de la consola de Ironchip. Haz clic en Guardar.

    Formulario de configuración de la VPN en FortiClient

  4. En la pantalla siguiente verás el nombre de la conexión y el usuario. Escribe la contraseña y haz clic en Conectar. Si el cortafuegos del equipo bloquea la conexión, crea una regla que permita a FortiClient conectar con la IP y el puerto de la VPN en lugar de desactivar el cortafuegos.

    Pantalla de conexión con usuario y contraseña

  5. Aparece una alerta de seguridad. Léela y haz clic en Sí.

    Alerta de seguridad al conectar

  6. Continúa el proceso de conexión. Recibirás un mensaje para autorizar el acceso desde la app de Ironchip. Al aceptarlo, se completa la conexión.

  7. Cuando se establece la conexión, aparece una ventana con una breve descripción.

    Ventana de conexión VPN establecida

Demostración de acceso a la VPN de Fortinet con IronchipReproducir el vídeo

Protege un túnel VPN IPsec de acceso remoto (dial-up, IKEv2) en FortiGate con autenticación SAML mediada por Ironchip.

  • Acceso administrativo a la GUI y a la CLI de FortiGate.
  • Una cuenta de administrador en la consola de Ironchip con permisos para crear aplicaciones SAML.
  • FortiClient VPN instalado en los equipos cliente, con soporte de SSO/SAML para IPsec.
  • Una VPN IPsec de acceso remoto (IKEv2).

Desde la CLI de Fortinet, ejecuta:

config system global
set auth-ike-saml-port 1001
end

Configura el SSO con SAML en Fortinet y en Ironchip.

  1. En FortiGate, ve a User & Authentication > Single Sign-On y haz clic en Create New.

    Botón Create New en Single Sign-On

  2. Indica un nombre para la configuración, la IP o el DNS de la VPN junto con el puerto SAML configurado antes y el certificado que uses en la VPN.

    Datos del proveedor de servicio: nombre, dirección, puerto SAML y certificado

  3. La siguiente ventana pide los metadatos del proveedor de identidad (IdP), en este caso Ironchip. Para obtenerlos, ve a la consola de administración de Ironchip > Applications > New application > SAML.

    Menú Applications y botón New application

    Selección del tipo SAML

  4. Al crear la aplicación te pide un nombre. Usa uno descriptivo, porque aparecerá más tarde en los dispositivos autenticadores de los usuarios.

    Nombre de la aplicación SAML en Ironchip

  5. Ve al apartado Identity Provider (IdP) y copia estos datos:

    • IdP Entity ID or Issuer
    • Single Sign On Service (URL)
    • Signing X.509 Certificate. Este certificado debes importarlo en Fortinet.

    Datos del Identity Provider en Ironchip

  6. Pega los datos en la configuración de Fortinet:

    • IdP Entity ID or Issuer en Entity ID.
    • Single Sign On Service en Assertion consumer service URL.
    • Single logout service URL: usa la misma URL que la de Assertion consumer service URL, pero cambia sso por slo en la ruta.
  7. Indica los atributos que pide Fortinet para autenticar a los usuarios:

    • Attribute used to identify users: urn:oid:0.9.2342.19200300.100.1.1
    • Attribute used to identify groups: urn:oid:1.3.6.1.4.1.5923.1.1.1.1

    Atributos de usuario y grupo en la configuración SAML de FortiGate

  8. Obtén los metadatos de Fortinet para importarlos en Ironchip. Abre la CLI global de Fortinet y ejecuta:

    diag vpn ssl saml-metadata "<SAML NAME HERE>"
  9. Copia el resultado. En la aplicación que creaste en la consola de Ironchip, abre el apartado Service Provider (SP), elige Text en SP Metadata, pega el resultado y haz clic en Import.

    Campo SP Metadata en el apartado Service Provider

  10. Haz clic en Add para terminar de crear la aplicación en Ironchip.

Asigna esta configuración SAML a un grupo, para poder asociarlo después a las políticas del cortafuegos.

Creación del grupo de usuarios con la configuración SAML

Grupo de usuarios creado

Edita la interfaz de fase 1 para sustituir PSK por EAP contra el grupo de usuarios de Ironchip:

config vpn ipsec phase1-interface
edit IPSEC-DIALUP
set eap enable
set eap-identity send-request
set authusrgrp SAML-Group
end