Está en la página 1de 22

Alfonso Castro

Profesional de la Seguridad
Fortinet NSE 4, NSE 5 y NSE 7

DIUS Y
SLOG
NGLE
NG-ON
re Access
Contenido
1. FSSO Métodos............................................................................................................................2
1.1. Fortinet Single Sign-On (FSSO)...........................................................................................2
1.2. Active Directory Polling con FortiAuthenticator.....................................................................2
1.3. Agente FSSO........................................................................................................................4
1.4. Single Sign-On Mobility Agent - SSOMA..............................................................................4
1.5. Kerberos SSO.......................................................................................................................5
1.6. Portal Autenticación y Widgets.............................................................................................6
1.7. FortiNac Sources..................................................................................................................6
1.8. Syslog Externo......................................................................................................................7
1.9. RADIUS Accounting SSO.....................................................................................................7
1.10. SAML – Security Assertion Markup Lenguage..................................................................8
2. Syslog SSO..................................................................................................................................8
2.1. Fuentes de Syslog................................................................................................................9
2.2. Reglas de coincidencia.........................................................................................................9
2.3. Fuentes Syslog preconfiguradas........................................................................................10
2.4. Sesiones Syslog SSO.........................................................................................................10
2.5. Debug logs..........................................................................................................................11
3. RADIUS Single Sing-On (RSSO)..............................................................................................11
3.1. Despliegue – Consideraciones...........................................................................................11
3.2. FortiGate RSSO..................................................................................................................11
3.2.1. FortiGate – Configuración RSSO.................................................................................12
3.3. FortiAuthenticator RSSO a FortiGate RSSO......................................................................13
3.3.1. FortiAuthenticator – Configuración RSSO...................................................................13
3.4. Comandos FortiGate usuarios RSSO.................................................................................14
3.4.1. Monitor Usuarios SSO..................................................................................................14
3.4.2. Debug en tiempo real Autenticación............................................................................16
3.4.3. RSSO User logon.........................................................................................................16
3.4.4. RSSO User logoff.........................................................................................................16
4. Troubleshooting usando FortiAutheticator.................................................................................17
4.1. FortiAuthenticator logs........................................................................................................17
4.2. Monitor de sesiones SSO...................................................................................................17
4.3. FortiAuthenticator Debug logs............................................................................................18
4.4. Seguimiento de un usuario específico................................................................................18
4.5. Usuarios FSSO activos.......................................................................................................19
4.6. Otros comandos FortiGate..................................................................................................19

1
1. FSSO Métodos
1.1. Fortinet Single Sign-On (FSSO)
Métodos usados para recoger la información de inicio de sesión y convertirlo a FSSO.

Podemos dividir los métodos en dos grupos:


 Active Directory (AD) y Windows
 Fuentes genéricas
La información de inicio de sesión se envía a FortiAuthenticator, que actúa como agente colector
y mantiene un registro de todos los inicios de sesión aprendidos desde los diferentes métodos y
los envía a FGT como eventos FSSO.
FGT puede usar esa información para proveer el acceso a los recursos, en base a la información
FSSO.

1.2. Active Directory Polling con FortiAuthenticator


FortiAuthenticator y su software de Agente Colector encuestan a los controladores de dominio,
sobre los registros de eventos de Seguridad de inicio de sesión del tipo:
 WinSec: el agente colector monitoriza los eventos de seguridad de inicio y fin de sesión.
Encuestar por los registros de eventos puede ser un poco lento, pero no se pierden
eventos.
 Windows Management Instrumentation (WMI) es una API de Windows diseñada para
obtener información de un servidor Windows. El agente colector se puede configurar para
extraer la información de inicio y fin de sesión de los registros WMI. El agente colector es
un cliente WMI que envía consultas WMI al DC (que actúa como servidor WMI).
La encuesta está configurada para que se realice cada 5 segundos, de forma que cualquier
evento de inicio de sesión que ha ocurrido desde la encuesta previa, se captura y se
introduce como evento FSSO.
 El encuestado NetAPI se usa para recuperar los inicios de sesión en un servidor. Esto
incluye los eventos de inicio de sesión del agente colector. NetAPI es más rápido que
encuestar por los registros de eventos, pero se pueden perder algunos eventos de inicio de
sesión, en un Sistema que se encuentre cargado. NetAPI requiere de un tiempo de
consulta menor que 10 segundos. Este método solo está disponible en el agente basado
en software.

2
Nota: Ten en cuenta que los eventos de inicio de sesión se pueden detectar desde los registros
de Eventos de Seguridad, pero no puedes detectar los cierres de sesión.
Los cierres de sesión pueden dispararse por muchos procesos diferentes, no solo por los
procesos de cierre de sesión. Mientras que otros métodos soportan nativamente el cierre de
sesión, como el Agente de Movilidad FortiClient SSO, el encuestado del AD, no lo hace.
Para habilitar la detección de cierres de sesión, FortiAuthenticator soporta el encuestado WMI,
para identificar el estado de sesión del usuario para un dispositivo y entonces registrar la salida
del usuario. Puedes fijar un periodo de desconexión manual, y sacar al usuario de la tabla de
autorizaciones.
Puedes habilitar el encuestado Windows AD en Fortinet SSO Methods > SSO > General.
FortiAuthenticator usa la búsqueda LDAP para recolectar los grupos a los que pertenece el
usuario y realiza una búsqueda DNS para obtener el nombre del host del usuario de la IP.
El DNS juega un rol importante para asegurar la fiabilidad general de los eventos FSSO . Si la
resolución DNS es lenta y no funciona correctamente, la información de eventos FSSO no será
precisa o incluso válida.

Por defecto, FortiAuthenticator soporta los IDs de eventos 4768, 4776, 672 y 680; sin embargo,
puedes habilitar el soporte de los siguientes, haciendo clic en Configure Events: 528, 540, 673,
674, 4624, 4769, 4770.
Después de habilitar el encuestado AD, debes configurar la fuente de FSSO. Puedes
verificar que FortiAuthenticator puede encuestar eventos de inicio de sesión en la sección
Monitor SSO.

3
+
1.3. Agente FSSO
En el modo DC Agent, un agente de autenticación Fortinet se instala en cada controlador de
dominio. Estos DC Agent monitorizan los inicios de sesión y pasan la información a
FortiAuthenticator (que actúa como Agente Colector), que guarda la información y la envía a FGT.
El DC Agent instalado en el DC, no es un servicio como el agente colector, es un archivo DLL
llamado dcagent.dll que está instalado en el directorio Windows\system32. Se debe instalar en
todos los DCs que estén siendo monitorizados. El modo DC Agent ofrece fiabilidad en la
información de inicio de sesión, pero tienes que instalar uno en cada DC y después reiniciar el
servidor.
El agente Citrix/Terminal Server (TS) se instala en un servidor de terminal Citrix, para
monitorizar los inicios de sesión en tiempo real. Funciona mucho mejor que el DC Agent en un
DC.

Debes habilitar DC/TS Agent en Métodos FSSO, para permitir la comunicación entre los agentes
y FortiAuthenticator.
Opcionalmente puedes añadir autenticación por contraseña para añadir Seguridad.
DC/TS Agent y FortiAuthenticator deben tener la misma password.
4
1.4. Single Sign-On Mobility Agent - SSOMA
SSOMA es una característica de FortiClient que también puede ser una característica
independiente. SSOMA identifica el usuario y la IP de los inicios de sesión en el dominio, y
comunica esta información a FortiAuthenticator.
Es el método más preciso para detectar los logouts de los usuarios.

FortiClient SSOMA tiene varios beneficios frente a los otros métodos de detección FSSO:
 FortiClient envía paquetes HELLO regularmente. Si FortiAuthenticator detecta X número de
paquetes HELLO perdidos, el usuario es desautenticado.
 Si el stack de dispositivos IP cambia, por ejemplo, durante el roaming en redes wireless,
la actualización se envía a FortiAuthenticator.
 Si el usuario cierra sesión, FortiClient notifica a FortiAuthenticator durante el proceso de
cierre de sesión y desautentica al usuario.

Debes habilitar SSOMA en la configuración de los métodos FSSO de FortiAuthenticator.

Por defecto, SSOMA conectará con FortiAuthenticator en el Puerto 8001, pero se puede cambiar.
Puedes habilitar la autenticación adicional con clave precompartida y configurar los intervalos de
timeout y keepalive.

5
Opcionalmente, puedes habilitar NTLM dentro de la configuración SSOMA, que trabajará en
conjunto con FSSO cuando se habilita, FortiAuthenticator necesita NTML cuando:
 Un usuario inicia sesión en una workstation por primera vez.
 Un usuario cierra sesión y entonces inicia sesión otra vez.
 La dirección IP de la workstation cambia.
 El usuario de la workstation cambia.
 La autenticación NTML expira (configurable por usuario).
Por defecto NTML esta desactivado.

1.5. Kerberos SSO


FortiAuthenticator soporta el uso de tickets Kerberos, que envía el navegador y validados contra
el Kerberos DC para identificar a los usuarios.
Para evitar encuestar al DC mientras mantiene la habilidad de autenticar usuarios de forma
transparente. Los usuarios no autenticados son redirigidos desde FGT a FortiAuthenticator, este
solicita el servicio de tickets al navegador del usuario (que lo obtiene del Ticket Granting Service)
y entonces FortiAuthenticator lo descifra y usa el ticket para validar al usuario.
1.6. Portal Autenticación y Widgets
En situaciones donde no se puede establecer una autenticación de usuario transparente, puedes
usar un portal web para pedir al usuario el registro.
Una vez autenticado, el token de usuario se almacena en una cookie para identificar al usuario en
los subsiguientes accesos, válido por 30 días o cierre de sesión desde el navegador.
La autenticación vía portal y widgets requiere que configures un portal de autoservicio y los
servicios de portal en FortiAuthenticator.
Debes tener un servidor remoto de autenticación o una base de datos local configurada para
validar las solicitudes de autenticación.
Debes crear un realm o grupo que el SSO usará para validar a los usuarios a través del portal de
autenticación. Opcionalmente, puedes seleccionar grupos de usuarios específicos que quieres
usar en el portal de autenticación.
Después de crear y configurar el realm, debes habilitar los servicios de portal en Fortinet SSO
Methods y seleccionar los reinos que SSO usará.

6
1.7. FortiNac Sources
Selecciona Enable FortiNac SSO para habilitar la recuperación de sesiones SSO desde las
fuentes FortiNac.

Similar a FortiOS, FortiAuthenticator puede incorporar el uso de perfiles de administrador.


Puedes conceder a cada administrador permisos completos o personalizar el perfil de admin. Los
perfiles son agregados de los conjuntos de permisos de solo lectura o lectura y escritura.

1.8. Syslog Externo


FortiAuthenticator puede analizar gramaticalmente la información del nombre de usuario y
dirección IP, desde un Syslog alimentado desde un dispositivo tercero e inyectar está
información en FSSO y así pueda usarse en las políticas de firewall en FGT.
También puedes usar la alimentación del Syslog para disparar los inicios de sesión o
actualización o reglas de cierre de sesión en FortiAuthenticator.

7
Puedes usar cualquier servidor de Syslog para enviar la información del nombre de usuario y la IP
a FortiAuthenticator mientras tengas configurada la correspondiente regla.

1.9. RADIUS Accounting SSO


El método de RADIUS Accounting usa los paquetes RADIUS start, interim y stop para disparar
los eventos de logon y logoff al FSSO.
Los paquetes RADIUS se envían desde dispositivos de red, como terminadores de túneles,
controladores WiFi, switches, etc.

El beneficio usando este método es que los fabricantes que soportan enviar tales paquetes, no
necesitan soporte desde FortiAuthenticator (el standard RADIUS ya está soportado), y requiere
mínimos cambios para habilitar la entrada de datos de autenticación de usuarios en FSSO.

Debes habilitar el método RADIUS Accounting SSO en la sección FSSO Methods.


Debes crear una fuente de RADIUS Accounting, que será usada para aprender la información de
inicio de sesión usando los mensajes de RADIUS Accounting.
 Si configuras SSO user type como External, FortiAuthenticator solo extraerá la
información contenida en los mensajes de accounting y no validará el grupo del que es
miembro.
 FortiAuthenticator puede buscar los grupos de usuarios de los que son miembros
(búsqueda LDAP), usando las cuentas que ha aprendido mediante RADIUS Accounting.
 Configura SSO user type como Remote, si residen en un servidor remoto de
autenticación.
 Configura SSO user type como Local, si hay una base de datos local del dispositivo.

8
1.10. SAML – Security Assertion Markup Lenguage
FortiAuthenticator puede usar las afirmaciones o SAML assertion, para generar eventos cuando
usas FortiAuthenticator como un proveedor de servicios SAML (SP).
En el modo proveedor de servicio, FortiAuthenticator puede usar las afirmaciones SAML para
extraer el nombre de usuario, IP y otros atributos SAML disponibles para generar eventos FSSO.
Toda la información de autenticación será validada e insertada en una cookie por el proveedor de
identidad (IDP) y entonces FortiAuthenticator usará la información para los eventos FSSO.

2. Syslog SSO
FortiAuthenticator puede analizar gramaticalmente la información de nombre de usuario y
dirección IP obtenida de un servidor Syslog, alimentado desde un dispositivo tercero e inyectar
está información como FSSO y que pueda usarse en las políticas de firewall en FGT.

9
2.1. Fuentes de Syslog
Los objetos Syslog incluyen fuentes y reglas de coincidencia.
Las fuentes identifican a las entidades que envían mensajes Syslog, y las reglas de coincidencia
se usan para extraer eventos de los mensajes Syslog.
FortiAuthenticator ignora los mensajes que vienen de fuentes que no están configuradas.

2.2. Reglas de coincidencia


Una vez que has especificado una fuente de Syslog, debes configurar la regla de
coincidencia.
Hay reglas de coincidencia preconfiguradas para algunos formatos de servidores Syslog de
terceros, pero puedes crear reglas personalizadas para que coincida con el formato de
alimentación de un servidor Syslog.
En la sección Fields to Extract, puedes especificar palabras clave que disparen los mensajes de
logon, update o logoff. FortiAuthenticator usará estos campos para extraer el nombre de usuario y
la dirección IP de los mensajes, y convertirlos en eventos FSSO.
Puedes probar fácilmente las reglas personalizadas usando la sección Test Rule y verificar que
FortiAuthenticator puede extraer la información solicitada de la alimentación Syslog.

10
2.3. Fuentes Syslog preconfiguradas
Hay tres fuentes Syslog preconfiguradas de formatos de servidor Syslog de terceros:
 FortiNAC
 Aruba
 Cisco

2.4. Sesiones Syslog SSO

11
2.5. Debug logs
Puedes ver también los logs SSO de una Fuente SSO específica, como RADIUS accounting o la
alimentación Syslog.
Por ejemplo, puedes ver los atributos RADIUS que se envían en los mensajes accounting o ver la
alimentación sin procesar Syslog que FortiAutheticator está recibiendo.

3. RADIUS Single Sing-On (RSSO)


Veamos cómo implementar RSSO (RADIUS Single Sign-On) para usarlo con FortiGate y
FortiAutheticator.

3.1. Despliegue – Consideraciones


Los aspectos siguientes son importantes y debemos considerarlos antes de usar RSSO:
 Debes configurar el entorno de RADIUS para enviar los registros de accounting.
 Para RADIUS directo a FortiGate (RSSO), hay que configurar el servidor RADIUS con los
nombres de grupo y usuarios correctos.
 Para RADIUS a FortiAuthenticator a FSSO, debes configurar el directorio LDAP con los
nombres de grupo y usuarios correctos.

Hay tres maneras diferentes de desplegar RSSO:


 FortiGate RSSO: FGT escucha los mensajes RSSO accounting.
 FortiAutheticator RSSO a FortiGate RSSO: los mensajes RSSO accounting son
enviados a FortiAuthenticator, que reenvia los paquetes a FGT como un dispositivo de
terceros.
 FortiAutheticator RSSO a FSSO: los mensajes RSSO accounting se convierten a eventos
FSSO y pueden distribuirse a todos los FGT configurados como clientes FSSO en
FortiAuthenticator.
Veamos cada método con más detalle.

3.2. FortiGate RSSO


Los mensajes RADIUS accounting se envían directamente a FGT.

12
FortiOS soporta los mensajes de actualización (Start, Stop e Interim) que envía el servidor
RADIUS, para autenticar y gestionar de forma transparente los usuarios activos.

3.2.1. FortiGate – Configuración RSSO


Hay unos pocos pasos que debemos realizar, para habilitar RSSO en la configuración de FGT.
1. En la interfaz donde se esperan recibir los mensajes RSSO, debes tener RADIUS
Accounting habilitado en Administrative Access.
2. Debes definir un conector o Agente RSSO en Fabric Connectors y configurarlo con un
nombre único y el secreto compartido, que debe coincidir con el del servidor RADIUS.
Esto permite la autenticación entre el cliente RSSO (FortiGate) y el servidor RADIUS. Recuerda
autorizar al cliente RSSO (FortiGate) en el servidor RADIUS.
3. También necesitas crear un grupo de usuarios localmente en FortiGate (creo que en la
version 6.4 ya no es necesario) y asignar el atributo User-Name con el comando rsso-
endpoint-attibute, que se usará para hacer coincidir con el atributo que envíe el servidor
RADIUS.
Ahora, ya puedes usar los grupos de usuarios en una política de firewall y habilitar accesos para
los usuarios RSSO.

13
3.3. FortiAuthenticator RSSO a FortiGate RSSO
FortiAuthenticator soporta los mensajes de actualización (Start, Stop e Interim) que envía el
servidor RADIUS, para autenticar y gestionar de forma transparente los usuarios activos.
Cuando recibe los mensajes RADIUS accounting, realiza búsquedas del grupo de usuarios
miembro contra el servidor LDAP y reenvia los mensajes RADIUS accounting al agente
RSSO FortiGate.
Esto es útil cuando la información de miembro del grupo es manejada por Active Directory, o el
servidor RADIUS es una infraestructura IT crítica para el negocio, que limita los cambios que
pueden hacerse en la configuración del servidor.

3.3.1. FortiAuthenticator – Configuración RSSO


Utiliza los siguientes pasos para configurar FortiAuthenticator cuando quieres implementar una
solución FortiAuthenticator RSSO a FortiGate RSSO.
Convertir mensajes RSSO a FSSO usando FortiAuthenticator puede serte útil en entornos con
muchos FGT.
14
FortiAuthenticator puede distribuir los eventos FSSO a todos los FGT que están configurados
para recibir actualizaciones FSSO en la red.
1. Configura la interfaz donde se esperan recibir los mensajes/records RADIUS Accounting.
2. Selecciona Enable RADIUS Accounting SSO Clients en Fortinet SSO Methods > SSO.

Puedes habilitar RADIUS Accounting Monitor para mirar los mensajes de solicitud de
autenticación que usan el puerto 1646.
3. Configura el servidor RADIUS como una fuente RADIUS accounting proxy.
4. Configura el conjunto de reglas con los atributos RADIUS requeridos.
Selecciona Add para una nueva regla (nuevo atributo) y selecciona Modify para trasladar un
atributo existente.

FortiAuthenticator usa el atributo Username para analizar la información de miembro de grupo


desde el servidor LDAP.
FortiAuthenticator añade el atributo Value type a los mensajes accounting que reenvia a
FortiGate. Por ejemplo, para añadir la información de miembro de grupo del usuario, selecciona
Group names.
Selecciona el servidor LDAP en el campo Remote LDAP, donde FortiAuthenticator lanzará la
consulta de miembro de grupo y verificar que la cuenta del usuario RSSO reside en el servidor
LDAP.
15
5. Añade FortiGate como el destino RADIUS accounting proxy.
Asegúrate que asignas la regla y la Fuente correctamente.
Este es el objetivo para trasladar los mensajes accounting. Normalmente, este es el
dispositivo FGT al que tú quieres enviar los mensajes accounting, pero puede ser un
servidor RADIUS configurado para escuchar mensajes accounting.

6. La configuración que debes hacer en el FGT es la misma descrita en FortiGate


RSSO.

3.4. Comandos FortiGate usuarios RSSO


Tenemos varios comandos disponibles en FGT para ver la información de los usuarios RSSO.
3.4.1. Monitor Usuarios SSO
diagnose test application radiusd 3 consulta la base de datos RADIUS de todos los usuarios
que han iniciado sesión.

diagnose radiusd test 2 borra la base de datos RADIUSD de todos los usuarios RSSO.
Para borrar un usuario individual, debes enviar un mensaje Accounting Stop record para ese
usuario.
diagnose test application radius permite consultar, borrar o reiniciar la base de datos RADIUS.

diagnose rsso query consulta usuarios RSSO en FortiGate, por IP, nombre de usuario o nombre
de grupo (rsso-key).

16
El Monitor > SSO > SSO Sessions de FortiAuthenticator registra usuarios que han iniciado
sesión a través de una fuente RADIUS accounting.

En el Firewall User Monitor ves que usuarios fueron autenticados por FGT usando FSSO.
También lo puedes ver usando en FGT el comando:
diagnose debug authd fsso list

3.4.2. Debug en tiempo real Autenticación


Veamos la salida del debug en FGT cuando recibe un mensaje accounting del servidor RADIUS.
diagnose debug application authd -1
diagnose debug enable

17
3.4.3. RSSO User logon

3.4.4. RSSO User logoff


La siguiente imagen muestra dos diferentes salidas debug, ambas resultado de un usuario siendo
logged off:
En el primero, FGT recibe un mensaje RADIUS accounting stop, desde el servidor RADIUS.
En el segundo, el usuario es desautenticado usando la pestaña Deautheticate del FGT en su
monitor de usuarios RSSO.

4. Troubleshooting usando FortiAutheticator

4.1. FortiAuthenticator logs


En FortiAuthenticator, las herramientas necesarias para comprobar el estado de los diferentes
componentes de FSSO están disponibles en el interfaz gráfico.
En el menú de la izquierda, dentro de Monitor > SSO, dispones de información como los
Dominios SSO, las sesiones activas SSO, las fuentes de eventos logs de Windows, las
conexiones FGT activas y el estado de conexión de los agentes DC y TS.

18
4.2. Monitor de sesiones SSO
Puedes ver la información relativa al SSO, como el logon time, logout time, username, IP
address, workstation name (AD), domain, group y fuente SSO.
En el ejemplo de la imagen hay dos fuentes SSO que están actualmente usando Eventlog
polling y alimentación Syslog.

4.3. FortiAuthenticator Debug logs


También puedes ver los logs en FortiAuthenticator, conectando a:
https://<FortiAutenticator _IP>/debug
Y seleccionando FSSO service.
La página te permite ver con detalle los registros de conexión, así como información sobre errores
de configuración entre FortiAuthenticator y la fuente SSO. También ves información que
intercambian entre la fuente FSSO y FortiAuthenticator, que podría serte útil cuando resuelves
problemas relacionados con FSSO.

19
4.4. Seguimiento de un usuario específico
Si te encuentras con problemas FSSO de un usuario específico, empieza el análisis del problema
siguiendo los pasos que describo a continuación:
 Asegúrate que FortiAuthenticator puede realizar la resolución DNS del nombre de la
máquina y la IP.
 Si estas utilizando un perfil de Seguridad FortiGate Web Filter, asegúrate que seleccionas
todos los grupos y contenedores (DC) necesarios.
 Verifica que la fuente SSO está conectada.
 Asegurate que el usuario no está excluido, desde SSO en Fine-grained Controls.

 Comprueba las sesiones SSO activas.


 Verifica que la conexión con FortiGate es estable y se encuentra activa.
Cuando resolvemos problemas FSSO en un entorno DC Agent (Windows AD), los pasos son los
mismos para el Collector Agent y FortiAuthenticator. La única diferencia entre es que todos los
DC Agents están apuntando al FortiAuthenticator, en lugar del Collector Agent.
4.5. Usuarios FSSO activos
Para obtener una lista de los usuarios activos en FGT, utiliza el comando:
diagnose debug authd fsso list
Puedes aplicar un filtro y ver las opciones con:
diagnose debug authd fsso filter ?

4.6. Otros comandos FortiGate


diagnose debug authd fsso refresh-logons
Refresca la lista de usuarios FSSO activos en FGT, obteniendo esta información otra vez del
Collector Agent.
diagnose debug authd fsso clear-logons
Limpia la lista de usuarios FSSO activos en FGT
diagnose debug authd fsso refresh-groups
Refresca la información de grupos usuarios en FGT, obteniendo esta información otra vez del
Collector Agent.
execute fsso refresh

20
Refrescará la información de grupo de usuario FSSO.
get user adgrp
Lista los grupos de usuario monitorizados.

21

También podría gustarte