Fortinet VPN — SAML

Esta guía, explica como integrar la VPN de Fortinet con la autenticación de Ironchip por SAML.

Configuración de Ironchip

Dentro del panel de ironchip, crea una nueva aplicación tipo SAML.

Para ello, en el apartado de Applications pulsa en el botón verde New application.

Selecciona tipo SAML y descarga los metadatos, los cuales utilizaremos en los siguientes pasos.

Más adelante continuaremos con la configuración de Ironchip.

Configuración de FortiGate

Dentro del panel de administración de FortiGate, dirígete a User & Authentication > Single Sign-On y pulsa en el botón Create New en la parte superior izquierda.

En este punto, deberemos configurar varios parámetros, todos obligatorios para el correcto funcionamiento:

  1. Name: Introduce un nombre identificativo.
  2. Address: Dirección IP publica a la cual se enviara la solicitud de autenticación. (Normalmente la misma IP que la VPN)
  3. Parámetros SAML: URLs que utilizara Ironchip para comunicarse con Fortinet.
  4. Certificate: Certificado de Fortinet que se utilizara.

Pulsa en el botón "Next", y en este segundo apartado, deberás editarlo utilizando comandos.

Para ello pulsa en el botón Edit in CLI.

Se desplegará una consola de comandos, y aparecerán los comandos disponibles, de todos ellos deberás ejecutar los siguientes cambiando algunos parámetros:

-         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

Cierra la terminal y pulsa CANCELAR, esto evitará que se restablezcan los datos por defecto de nuevo.

Configuración de Ironchip 2 

De vuelta en la aplicación de Ironchip, deberemos introducir el URL de metadatos que utilizara para comunicarse con Fortinet.

Obtener URL de metadatos para IRONCHIP

Abre una terminal en fortinet y ejecuta el siguinete comando:

-            diag vpn ssl saml-metadata "<SAML NAME HERE>"

Cuando haya generado este código, súbalo a una dirección pública de Internet y provea esta URL en formato raw añadiéndola al campo Metadata URL en la plataforma IRONCHIP.

Pulse en Add service para terminar la configuración en Ironchip.

Configuración de FortiGate 2

En la pantalla donde nos quedamos en Fortinet, configuraremos Fortinet para que se comunique con Ironchip.

Para este paso deberás tener abierto el archivo de metadatos descargado anteriormente en Ironchip.

Sigue los siguientes pasos:

  1. Type: Custom
  2. URLs del idp: 
    1. Para la EntityID utiliza la propiedad “EntityID” en el tag XML “EntityDescriptor”.
    2. Para la URL Assertion consumer service utiliza la propiedad “Location” en el tag XML “SingleSignOnService”.
    3. Para la URL Single logout service, busque de nuevo la propiedad “Location” en el tag XML “SingleLogoutService”.
    4. Para la subida del certificado que requiere, genere un nuevo fichero con extensión “.crt” y guarde en ese archivo el resultado de pegar dentro del primer campo de esta herramienta (https://www.samltool.com/format_x509cert.php) el contenido del tag XML “X509Certificate” del archivo de metadatos, ambos certificados son idénticos.
  3. Los atributos que debes introducir son los siguientes:
    1. Attribute used to identify users: urn:oid:0.9.2342.19200300.100.1.1
    2. Attribute used to identify groups: urn:oid:1.3.6.1.4.1.5923.1.1.1.1

Una vez terminado, pulsa en Submit para guardar la configuración.

Configuración Adicional

Para terminar la configuración, deberás ajustar algunos parámetros adicionales:

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

Añade el grupo a la configuración de la SSL VPN en el apartado Authentication\Portal Mapping.

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

Configura los tiempos de autenticación mediante una terminal

El último paso debe de ser configurar el timeout de Fortinet a 60 segundos de forma que le dé tiempo a los usuarios a completar una autenticación. Para hacer esto, abra una terminal de Fortinet haciendo clic en el icono correspondiente en la parte superior derecha y escriba:

Esto permitirá que los usuarios del grupo asociado tengan 60 segundos para autenticarse.

config user group

edit <<EL NOMBRE DE TU GRUPO DE USUARIOS PROTEGIDO>>

set authtimeout 60

end
config system global

set remoteauthtimeout 60

end

Habilitar autenticación por SAML o contraseña simultáneamente (Opcional)

Opción-1: Añadir los usuarios locales al grupo creado previamente.

Opción-2: Crear un nuevo grupo con los usuarios locales, y añadirlos a la política creada y a las opciones de VPN.

Y lo añadimos a SSL-VPN Settings y a la política que hemos creado previamente: