Fortinet FortiSIEM
Versión de integración: 5.0
Configura la integración de Fortinet FortiSIEM en Google Security Operations
Si quieres obtener instrucciones detalladas para configurar una integración en Google SecOps, consulta Configura integraciones.
Parámetros de integración
Usa los siguientes parámetros para configurar la integración:
| Nombre visible del parámetro | Tipo | Valor predeterminado | Es obligatorio | Descripción |
|---|---|---|---|---|
| Raíz de la API | String | https://x.x.x.x:puerto | Sí | Especifica la raíz de la API para la instalación de FortiSIEM de destino. |
| Nombre de usuario | String | N/A | Sí | Especifica el nombre de usuario que se usará para la instalación de FortiSIEM de destino. |
| Contraseña | Contraseña | N/A | Sí | Especifica la contraseña que se usará para la instalación de FortiSIEM de destino. |
| Verificar SSL | Casilla de verificación | Marcado | No | Si está habilitado, el servidor de SecOps de Google verifica que el certificado esté configurado para la raíz de la API. |
Casos de uso del producto
- Transfiere alertas del SIEM a Google SecOps.
- Usar datos de la SIEM para enriquecer las alertas de Google SecOps
- Sincroniza los estados de los procesados con las alertas de Google SecOps en el lado de la SIEM.
Acciones
Ping
Descripción
Prueba la conectividad a FortiSIEM con los parámetros proporcionados en la página de configuración de la integración en la pestaña Google Security Operations Marketplace.
Parámetros
N/A
Ejecutar en
La acción no se ejecuta en entidades ni tiene parámetros de entrada obligatorios.
Resultados de la acción
Resultado de secuencia de comandos
| Nombre del resultado de la secuencia de comandos | Opciones de valor | Ejemplo |
|---|---|---|
| is_success | Verdadero/Falso | is_success=False |
Resultado de JSON
N/A
Enriquecimiento de entidades
N/A
Estadísticas
N/A
Muro de casos
| Tipo de resultado | Valor/Descripción | Tipo |
|---|---|---|
| Mensaje de salida* | La acción no debe fallar ni detener la ejecución de una guía: Si la conexión se realiza correctamente, aparecerá el mensaje "Successfully connected to the FortiSIEM installation with the provided connection parameters!". La acción debería fallar y detener la ejecución de la guía: >Si no se realiza correctamente: "No se pudo conectar a la instalación de FortiSIEM. Error is {0}".format(exception.stacktrace)" |
General |
Enriquece entidades
Descripción
Enriquece las entidades con información de la CMDB de Fortinet FortiSIEM. Entidades admitidas: Nombre de host y dirección IP.
Parámetros
| Nombre visible del parámetro | Tipo | Valor predeterminado | Es obligatorio | Descripción |
|---|---|---|---|---|
| Organización objetivo | String | N/A | No | Especifica el nombre de la organización objetivo opcional para buscar información de enriquecimiento solo en esta organización. |
Ejecutar en
Esta acción se ejecuta en las siguientes entidades:
- Nombre de host
- Dirección IP
Resultados de la acción
Resultado de secuencia de comandos
| Nombre del resultado de la secuencia de comandos | Opciones de valor | Ejemplo |
|---|---|---|
| is_success | Verdadero/Falso | is_success=False |
Resultado de JSON
[
{
"Entity": "centos-xxx",
"EntityResult": {
"device": {
"organization": {
"@id": "1xx",
"@name": "Super"
},
"accessIp": "172.30.xxx.xxx",
"approved": "true",
"components": null,
"creationMethod": "LOG",
"deviceType": {
"accessProtocols": "TELNET,SSH",
"jobWeight": "10",
"model": "Unix",
"vendor": "Generic",
"version": "ANY"
},
"discoverMethod": "LOG",
"discoverTime": "1640008485000",
"eventParserList": null,
"interfaces": null,
"ipToHostNames": null,
"luns": null,
"name": "centos-xxx",
"naturalId": "centos%2dxxx",
"processors": null,
"properties": {
"customproperty": [
{
"matched": "false",
"propertyDef": {
"displayInCMDB": "false",
"displayName": "Importance",
"groupKey": "false",
"propertyName": "importance",
"subValueType": "STRING",
"valueType": "STRING"
},
"propertyName": "importance",
"propertyValue": "Normal",
"updated": "false"
},
{
"matched": "false",
"propertyDef": {
"displayInCMDB": "false",
"displayName": "Location Name",
"groupKey": "false",
"propertyName": "locationName",
"subValueType": "STRING",
"valueType": "STRING"
},
"propertyName": "locationName",
"updated": "false"
}
]
},
"raidGroups": null,
"sanControllerPorts": null,
"softwarePatches": null,
"softwareServices": null,
"status": "2",
"storageGroups": null,
"storages": null,
"unmanaged": "false",
"updateMethod": "LOG",
"version": "ANY",
"winMachineGuid": null
}
}
},
{
"Entity": "172.30.xxx.xxx",
"EntityResult": {
"device": {
"organization": {
"@id": "1xx",
"@name": "Super"
},
"accessIp": "172.30.xxx.xxx",
"applications": null,
"approved": "true",
"components": null,
"creationMethod": "LOG",
"deviceType": {
"accessProtocols": "TELNET,SSH",
"jobWeight": "10",
"model": "Unix",
"vendor": "Generic",
"version": "ANY"
},
"discoverMethod": "LOG",
"discoverTime": "1640070721000",
"eventParserList": {
"eventparser": {
"deviceType": {
"category": "Appliance",
"jobWeight": "10",
"model": "Generic",
"vendor": "Generic",
"version": "ANY"
},
"enabled": "true",
"name": "SyslogNGParser",
"parserXml": "<patternDefinitions><pattern>..."
}
},
"interfaces": null,
"ipToHostNames": null,
"luns": null,
"name": "centos-xxx",
"naturalId": "centos",
"primaryContactUser": "0",
"processors": null,
"properties": {
"customproperty": [
{
"matched": "false",
"propertyDef": {
"displayInCMDB": "false",
"displayName": "Importance",
"groupKey": "false",
"propertyName": "importance",
"subValueType": "STRING",
"valueType": "STRING"
},
"propertyName": "importance",
"propertyValue": "Mission Critical",
"updated": "false"
},
{
"matched": "false",
"propertyDef": {
"displayInCMDB": "false",
"displayName": "Location Name",
"groupKey": "false",
"propertyName": "locationName",
"subValueType": "STRING",
"valueType": "STRING"
},
"propertyName": "locationName",
"updated": "false"
}
]
},
"raidGroups": null,
"sanControllerPorts": null,
"secondaryContactUser": "0",
"softwarePatches": null,
"softwareServices": null,
"status": "2",
"storageGroups": null,
"storages": null,
"unmanaged": "false",
"updateMethod": "MANUAL",
"version": "ANY",
"winMachineGuid": null
}
}
}
]
Enriquecimiento de entidades
| Nombre del campo de enriquecimiento | Fuente (clave JSON) | Lógica: Cuándo aplicar |
|---|---|---|
| accessIp | accessIp | Cuando está disponible en XML |
| nombre | nombre | Cuando está disponible en XML |
| aplicaciones | CSV de "applications/name" | Cuando está disponible en XML |
| creationMethod | creationMethod | Cuando está disponible en XML |
| deviceType_model | deviceType_model | Cuando está disponible en XML |
deviceType_accessProtocols deviceType_vendor |
deviceType_accessProtocols deviceType_vendor |
Cuando está disponible en XML |
| discoverMethod | discoverMethod | Cuando está disponible en XML |
| discoverTime | discoverTime | Cuando está disponible en XML |
Estadísticas
N/A
Muro de casos
| Tipo de resultado | Valor/Descripción | Tipo |
|---|---|---|
| Mensaje de salida* | La acción no debe fallar ni detener la ejecución de una guía: Si hay datos disponibles para una entidad (is_success=true): "Se enriquecieron correctamente las siguientes entidades con información de FortiSIEM: {entity.identifier}". Si los datos no están disponibles para una entidad (is_success=true): "Action wasn't able to enrich the following entities using information from FortiSIEM: {entity.identifier}." Si los datos no están disponibles para todas las entidades (is_success=false): "Ninguna de las entidades proporcionadas se enriqueció". La acción debería fallar y detener la ejecución de la guía: Si se informa un error fatal, como credenciales incorrectas, falta de conexión con el servidor o algún otro problema, se mostrará el mensaje "Error al ejecutar la acción "Enrich Entities". Reason: {0}''.format(error.Stacktrace) |
General |
| Tabla del muro de casos | Título de la tabla: {entity.identifier} Columnas de la tabla:
|
Entidad |
Ejecuta una consulta simple
Descripción
Ejecuta la consulta de eventos de FortiSIEM según los parámetros proporcionados.
Parámetros
| Nombre visible del parámetro | Tipo | Valor predeterminado | Es obligatorio | Descripción |
|---|---|---|---|---|
| Tipos de eventos | CSV | N/A | No | Especifica los tipos de eventos que debe recuperar la consulta. El parámetro acepta varios valores como una cadena separada por comas. |
| Gravedad mínima para recuperar | Número entero | N/A | No | Especifica la gravedad mínima del evento que se recuperará para Google SecOps en números. Ejemplo: 5 o 7 |
| Categoría del evento | CSV | N/A | No | Especifica la categoría de evento que debe recuperar la búsqueda. El parámetro acepta varios valores como una cadena separada por comas. |
| ID de los eventos | CSV | N/A | No | Especifica los IDs de eventos exactos que debe recuperar la consulta (opcional). El parámetro acepta varios valores como una cadena separada por comas. |
| Campos que se devolverán | CSV | N/A | No | Especifica los campos que se devolverán. Si no se proporciona nada, la acción devuelve todos los campos. |
| Campo de orden | String | phRecvTime | No | Especifica el parámetro que se debe usar para la ordenación. |
| Orden de clasificación | DDL | DESC Valores posibles:
|
No | Especifica el orden de clasificación. |
| Período | DDL | Última hora Valores posibles:
|
No | Especifica un período para los resultados. Si se selecciona "Personalizado", también debes proporcionar el parámetro "Hora de inicio". |
| Hora de inicio | String | N/A | No | Especifica la hora de inicio de los resultados. Este parámetro es obligatorio si se selecciona "Personalizado" para el parámetro "Período". Formato: ISO 8601 Ejemplo: 2021-04-23T12:38Z |
| Hora de finalización | String | N/A | No | Especifica la hora de finalización de los resultados. Si no se proporciona nada y se selecciona "Personalizado" para el parámetro "Período", este parámetro usa la hora actual. Formato: ISO 8601 |
| Cantidad máxima de resultados para devolver | Número entero | 50 | No | Especifica la cantidad de resultados que se devolverán. |
Ejecutar en
Esta acción no se ejecuta en entidades.
Resultados de la acción
Resultado de secuencia de comandos
| Nombre del resultado de la secuencia de comandos | Opciones de valor | Ejemplo |
|---|---|---|
| is_success | Verdadero/Falso | is_success=False |
Resultado de JSON
[
{
"custId": "1",
"attributes": {
"eventType": "Unknown_EventType",
"eventSeverity": "3",
"eventAction": "0 (Permit)",
"phRecvTime": "Wed Dec 29 00:36:55 IST 2021",
"relayDevIpAddr": "172.30.20xxx",
"reptDevIpAddr": "172.30.20xxx",
"destIpAddr": "172.30.20xxx",
"destName": "HOST-172.30.20xxx",
"reptDevName": "centos-xxx",
"reptVendor": "Unknown",
"customer": "Super",
"reptModel": "Unknown",
"rawEventMsg": "<27>Dec 29 00:36:47 centos-xxx aella_flow[5074]: 1902195|aos_afix_json|ERR|Failed to send message: Couldn't connect to server/7",
"collectorId": "1",
"eventId": "4242813061460978xxx",
"phEventCategory": "0 (External)",
"count": "1",
"eventName": "Unknown event type",
"eventParsedOk": "0",
"parserName": "SyslogNGParser"
},
"dataStr": null,
"eventType": "Unknown_EventType",
"id": "4242813061460978xxx",
"index": "0",
"nid": "4242813061460978xxx",
"receiveTime": "2021-12-29T00:36:55+02:00"
}
]
Enriquecimiento de entidades
N/A
Estadísticas
N/A
Muro de casos
| Tipo de resultado | Valor/Descripción | Tipo |
|---|---|---|
| Mensaje de salida* | La acción no debe fallar ni detener la ejecución de una guía: Si se encontraron al menos algunos datos (is_success=true): "Se recuperaron correctamente los resultados de la consulta construida "{query}" en FortiSIEM". Si no se encuentran resultados (is_success=false): "No se encontraron resultados para la consulta construida "{Query}" en FortiSIEM". La acción debería fallar y detener la ejecución de la guía: Si se informa un error fatal, como credenciales incorrectas, falta de conexión con el servidor o algún otro problema, se mostrará el mensaje "Error al ejecutar la acción "Consulta simple"". Reason: {0}''.format(error.Stacktrace) Si el parámetro "Fecha y hora de inicio" está vacío y el parámetro "Período" está establecido como "Personalizado" (falla): "Error al ejecutar la acción "". Motivo: Se debe proporcionar "Fecha y hora de inicio" cuando se selecciona "Personalizado" en el parámetro "Período"." Si el valor de "Hora de inicio" es mayor que el valor del parámetro "Hora de finalización" (falla): "Error al ejecutar la acción "". Motivo: "La hora de finalización" debe ser posterior a "La hora de inicio". |
General |
| Tabla | Nombre de la tabla: Resultados de la consulta simple Columnas de la tabla: Todas las columnas de la respuesta |
General |
Ejecutar consulta personalizada
Descripción
Ejecuta una consulta personalizada en FortiSIEM.
Parámetros
| Nombre visible del parámetro | Tipo | Valor predeterminado | Es obligatorio | Descripción |
|---|---|---|---|---|
| Consulta | Campo de entrada de varias líneas de cadena | (Atributo = Valor O Valor) Y (Valor del atributo O Valor) | Sí | Especifica una consulta que se usa para recuperar información sobre los eventos. Ejemplo: (relayDevIpAddr = 172.30.202.1 OR 172.30.202.2) AND (reptDevName = HOST1) |
| Campos que se devolverán | CSV | No | Especifica los campos que se devolverán. Si no se proporciona nada, la acción devuelve todos los campos. |
|
| Campo de orden | String | phRecvTime | No | Especifica el parámetro que se debe usar para la ordenación. |
| Orden de clasificación | DDL | DESC Valores posibles:
|
No | Especifica el orden de clasificación. |
| Período | DDL | Última hora Valores posibles:
|
No | Especifica un período para los resultados. Si se selecciona "Personalizado", también debes proporcionar el parámetro "Hora de inicio". |
| Hora de inicio | String | N/A | No | Especifica la hora de inicio de los resultados. Este parámetro es obligatorio si se selecciona "Personalizado" para el parámetro "Período". Formato: ISO 8601 Ejemplo: 2021-04-23T12:38Z |
| Hora de finalización | String | N/A | No | Especifica la hora de finalización de los resultados. Si no se proporciona nada y se selecciona "Personalizado" para el parámetro "Período", este parámetro usa la hora actual. |
| Cantidad máxima de resultados para devolver | Número entero | 50 | No | Especifica la cantidad de resultados que se devolverán. |
Ejecutar en
Esta acción no se ejecuta en entidades.
Resultados de la acción
Resultado de secuencia de comandos
| Nombre del resultado de la secuencia de comandos | Opciones de valor | Ejemplo |
|---|---|---|
| is_success | Verdadero/Falso | is_success=False |
Resultado de JSON
[
{
"custId": "1",
"attributes": {
"eventType": "Unknown_EventType",
"eventSeverity": "3",
"eventAction": "0 (Permit)",
"phRecvTime": "Wed Dec 29 00:36:55 IST 2021",
"relayDevIpAddr": "172.30.20xxx",
"reptDevIpAddr": "172.30.20xxx",
"destIpAddr": "172.30.20xxx",
"destName": "HOST-172.30.20xxx",
"reptDevName": "centos-xxx",
"reptVendor": "Unknown",
"customer": "Super",
"reptModel": "Unknown",
"rawEventMsg": "<27>Dec 29 00:36:47 centos-xxx aella_flow[5074]: 1902195|aos_afix_json|ERR|Failed to send message: Couldn't connect to server/7",
"collectorId": "1",
"eventId": "4242813061460978xxx",
"phEventCategory": "0 (External)",
"count": "1",
"eventName": "Unknown event type",
"eventParsedOk": "0",
"parserName": "SyslogNGParser"
},
"dataStr": null,
"eventType": "Unknown_EventType",
"id": "4242813061460978xxx",
"index": "0",
"nid": "4242813061460978xxx",
"receiveTime": "2021-12-29T00:36:55+02:00"
}
]
Enriquecimiento de entidades
N/A
Estadísticas
N/A
Muro de casos
| Tipo de resultado | Valor/Descripción | Tipo |
|---|---|---|
| Mensaje de salida* | La acción no debe fallar ni detener la ejecución de una guía: Si se encontraron al menos algunos datos (is_success=true): "Se recuperaron correctamente los resultados de la búsqueda proporcionada "{query}" en FortiSIEM". Si no se encuentran resultados (is_success=false): "No se encontraron resultados para la consulta proporcionada "{Query}" en FortiSIEM". La acción debería fallar y detener la ejecución de la guía: Si se informa un error fatal, como credenciales incorrectas, falta de conexión con el servidor o algún otro problema, se mostrará el mensaje "Error al ejecutar la acción "Consulta simple"". Reason: {0}''.format(error.Stacktrace) Si el parámetro "Fecha y hora de inicio" está vacío y el parámetro "Período" está establecido como "Personalizado" (falla): "Error al ejecutar la acción "". Motivo: Se debe proporcionar "Fecha y hora de inicio" cuando se selecciona "Personalizado" en el parámetro "Período"." Si el valor de "Hora de inicio" es mayor que el valor del parámetro "Hora de finalización" (falla): "Error al ejecutar la acción "". Motivo: "La hora de finalización" debe ser posterior a "La hora de inicio". |
General |
| Tabla | Nombre de la tabla: Resultados de la consulta personalizada Columnas de la tabla: Todas las columnas de la respuesta |
General |
Conectores
Conector de incidentes de FortiSIEM
Descripción del conector
El conector se puede usar para recuperar incidentes de FortiSIEM. La lista de entidades permitidas del conector se puede usar para transferir solo tipos específicos de incidentes según el valor del atributo "eventType" del incidente. El SourceGroupIdentifier del conector se puede usar para agrupar las alertas de Google SecOps según el ID del incidente. El conector requiere la versión 6.3 o posterior de FortiSIEM.
Parámetros del conector
| Nombre visible del parámetro | Tipo | Valor predeterminado | Es obligatorio | Descripción |
|---|---|---|---|---|
| Nombre del campo del producto | String | deviceProduct | Sí | Ingresa el nombre del campo de origen para recuperar el nombre del campo del producto. |
| Nombre del campo del evento | String | eventType | Sí | Ingresa el nombre del campo de origen para recuperar el nombre del campo del evento. |
| Nombre del campo del entorno | String | No | Describe el nombre del campo en el que se almacena el nombre del entorno. Si no se encuentra el campo del entorno, se usa el entorno predeterminado. |
|
| Patrón de expresión regular del entorno | String | .* | No | Es un patrón de regex que se ejecutará en el valor que se encuentra en el campo "Nombre del campo del entorno". El valor predeterminado es .* para capturar todo y devolver el valor sin cambios. Se usa para permitir que el usuario manipule el campo del entorno a través de la lógica de regex. Si el patrón de regex es nulo o está vacío, o si el valor del entorno es nulo, el resultado final del entorno es el entorno predeterminado. |
| Tiempo de espera de la secuencia de comandos | Número entero | 300 | Sí | Especifica el tiempo de espera para que se ejecute el conector. |
| Raíz de la API | String | https:/x.x.x.x:puerto | Sí | Especifica la raíz de la API para la instalación de FortiSIEM de destino. |
| Nombre de usuario | String | N/A | Sí | Especifica el nombre de usuario que se usará para la instalación de FortiSIEM de destino. |
| Contraseña | Contraseña | N/A | Sí | Especifica la contraseña que se usará para la instalación de FortiSIEM de destino. |
| Verificar SSL | Casilla de verificación | Marcado | No | Si está habilitado, el servidor de Google SecOps verifica el certificado configurado para la raíz de la API. |
| Organización objetivo | CSV | N/A | No | Especifica las organizaciones para las que el conector debe recuperar incidentes. Los parámetros aceptan varios valores como una cadena separada por comas. |
| Máx. de horas hacia atrás | Número entero | 24 | Sí | Especifica el período para recuperar incidentes desde X horas hacia atrás. |
| Cantidad máxima de incidentes por ciclo | Número entero | 10 | Sí | Especifica la cantidad de incidentes que se deben procesar durante una ejecución del conector. |
| Cantidad máxima de eventos por incidente | Número entero | 100 | Sí | Especifica la cantidad máxima de eventos que el conector debe hacer un seguimiento para el incidente. Una vez que se alcanza el límite, no se agregan eventos nuevos a Google SecOps. |
| Estados de incidentes que se recuperarán | CSV | 0 | No | Especifica los estados de los incidentes que se recuperarán en Google SecOps. El parámetro acepta varios valores como una cadena separada por comas. El 0 representa los incidentes en estado abierto. |
| Gravedad mínima para recuperar | Número entero | N/A | No | Especifica la gravedad mínima del evento del incidente que se recuperará para Google SecOps en números, por ejemplo, 5 o 7. |
| Usar la lista blanca como lista negra | Casilla de verificación | Desmarcado | Sí | Si está habilitado, la lista de entidades permitidas se usa como lista de entidades bloqueadas. |
| Realiza un seguimiento de los eventos nuevos que se agregan a los incidentes ya procesados | Casilla de verificación | Marcado | Sí | Si está habilitado, si se agregan eventos nuevos a un incidente de FortiSIEM ya transferido, se crea una alerta nueva adicional en Google SecOps que contiene esos eventos nuevos. |
| Umbral de eventos nuevos de seguimiento (horas) | Número entero | 24 | Sí | Si la casilla de verificación "Track New Events Added to Already Ingested Incidents" está marcada, especifica la cantidad máxima de horas que el conector debe hacer un seguimiento de los incidentes ya transferidos para los eventos nuevos. Una vez que se alcanza el límite, no se agregan eventos nuevos a Google SecOps. |
| Dirección del servidor proxy | String | N/A | No | Especifica la dirección del servidor proxy que se usará. |
| Nombre de usuario del proxy | String | N/A | No | Especifica el nombre de usuario del proxy con el que se realizará la autenticación. |
| Contraseña de proxy | Contraseña | N/A | No | Especifica la contraseña del proxy para la autenticación. |
Reglas del conector
Compatibilidad con proxy
El conector admite proxy.
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.