FortiOSGuías técnicas
FortiOS: Autenticación SAML
SAML (Security Assertion Markup Language) es un estándar para el intercambio de autenticación y autorización, es decir, una implementación de autenticación centralizada SSO
Tiene dos componentes principales, un proveedor de identidad (IdP) que es quien tiene la base de datos de usuario, y un proveedor de servicio (SP) que permite la autenticación de los usuarios definidos en el IdP
En el caso de FortiGate, nos va a servir para poder autenticarnos en nuestro firewall principal y, a partir de ahí, tener una autenticación automática y transparente en el resto de firewalls de nuestro Security Fabric. También es posible autenticar directamente en un firewall con credenciales del principal (IdP)
Para poder realizar esta autenticación transparente, el estándar, se basa en aprovechar las cookies de sesión del navegador, es decir, mientras que no cerremos el navegador, nos podremos autenticar en todos los firewalls miembros de SAML
Configuración IdP
En nuestro equipo central, dentro de Security Fabric en versión 6.2.2
– Activamos SAML
– Configuramos una dirección IP de servicio que sea alcanzable por los navegadores
– Nos descargamos el certificado utilizado para cifrar la conexión
Una vez que hemos activado las características del servidor (IdP), debemos autorizar los clientes (otros firewalls) que van a poder utilizar este servicio de autenticación, para ello, accedemos a las opciones avanzadas y creamos un nuevo proveedor de servicios (cliente)
- Especificamos un nombre descriptivo
- Generamos un prefijo, esto tiene el propósito de poder autenticar al proveedor de servicios
- Como atributo, hemos elegido “Email address” pero podríamos haber dejado Username
Al haber elegido el atributo de correo, podremos distinguir en log de nuestros firewalls si el acceso fue hecho con el usuario “admin” del equipo central gracias a SAML o con el usuario admin local de cada firewall. En cualquier caso el correo no sirve para autenticar sino para el log, es decir, en el resto de firewalls, seguiremos autenticando con el usuario “admin” aunque en el log aparecerá “saml.admin@myfabric.local”
Configuración SP
En el resto de firewalls (los proveedores de servicio) necesitamos configura lo siguiente
- Dirección IP del IdP
- Default admin_profile: Es el perfil de administración al que pertenecerán los usuarios SAML
- Opciones Avanzadas
En las opciones avanzadas necesitamos los siguientes parámetros
- La dirección IP del proveedor de servicios (autorizada anteriormente en el IdP)
- Repasar el “Default admin profile”
- La dirección IP del IdP
- El prefijo generado anteriormente en el IdP para este SP
- El certificado descargado anteriormente del IdP
Aclarar que cuando importamos el certificado, automática lo renombra a “REMOTE_Cert_1”
Verificación y funcionamiento
Para asegurarnos que no tenemos activa ninguna cookie de sesión, utilizamos otro navegador (o cerramos y abrimos el navegador actual)
Al acceder al firewall principal, nos autenticamos con el usuario “admin” como haríamos tradicionalmente y ahora, en la parte superior, podemos elegir el acceder a cualquier otro firewall
Al acceder al firewall “Sede-844” del ejemplo, nos aparece la ventana de autenticación con una nueva opción de login “or via Single-Sign-On
Esta ventana aparece porque así lo elegimos a la hora de configurar el SP, en el parámetro “Default login page = Normal”. Si en esta opción de configuración hubiésemos marcado la otra opción, esta ventana no aparecería y pasaría automáticamente a la autenticación SSO pero con una consecuencia, a partir de ese momento, no existe autenticación local, es decir, en el firewall SP sólo se podrá autenticar con usuarios SSO que estén definidos en el Firewall IdP
Una vez que accedemos mediante “Single Sign-On”, bien de forma automática o manual dependiendo del parámetro configurado “Default login page”, nos aparece un cartel informando de esta autenticación
Cabe destacar que aunque nos hemos autenticado con el usuario “admin”, en el cartel aparece que quien se ha autenticado es el usuario “saml.admin@myfabric.local”, esto es así gracias al parámetro mencionado anteriormente “SAML attribute” a la hora de definir el SP dentro del IdP
Además de que todas las acciones ahora aparecen en el log realizadas con este usuario, en la cabecera del GUI, podemos ver que estamos autenticados mediante SSO