FortiSIEM de Fortinet
Versión de integración: 5.0
Configurar la integración de Fortinet FortiSIEM en Google Security Operations
Para obtener instrucciones detalladas sobre cómo configurar una integración en Google SecOps, consulta Configurar 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 | Cadena | https://x.x.x.x:puerto | Sí | Especifica la raíz de la API de la instalación de FortiSIEM de destino. |
| Nombre de usuario | Cadena | N/A | Sí | Especifica el nombre de usuario que se va a usar en la instalación de FortiSIEM de destino. |
| Contraseña | Contraseña | N/A | Sí | Especifica la contraseña que se va a usar en la instalación de FortiSIEM de destino. |
| Verificar SSL | Casilla | Marcada | No | Si está habilitado, el servidor de Google SecOps comprueba que el certificado esté configurado para la raíz de la API. |
Casos prácticos de productos
- Ingiere alertas de SIEM en Google SecOps.
- Usar datos del SIEM para enriquecer las alertas de Google SecOps.
- Sincronizar los estados de las alertas procesadas con Google SecOps en el SIEM.
Acciones
Ping
Descripción
Prueba la conectividad con 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
Fecha de ejecución
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
Panel 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 realiza correctamente: "Successfully connected to the FortiSIEM installation with the provided connection parameters!" ("Se ha conectado correctamente a la instalación de FortiSIEM con los parámetros de conexión proporcionados"). La acción debería fallar y detener la ejecución de la guía: >Si no se ha podido conectar: "Failed to connect to the FortiSIEM installation! Error: {0}".format(exception.stacktrace)" |
General |
Enriquecer 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 de destino | Cadena | N/A | No | Especifica el nombre de la organización de destino opcional para buscar información de enriquecimiento solo en esta organización. |
Fecha de ejecución
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 |
| name | name | Cuando esté disponible en XML |
| applications | 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
Panel 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 han enriquecido correctamente las siguientes entidades con información de FortiSIEM: {entity.identifier}." Si no hay datos disponibles para una entidad (is_success=true): "Action wasn't able to enrich the following entities using information from FortiSIEM: {entity.identifier}." ("No se ha podido enriquecer la siguiente entidad con información de FortiSIEM: {entity.identifier}"). Si los datos no están disponibles para todas las entidades (is_success=false): "None of the provided entities were enriched." ("Ninguna de las entidades proporcionadas se ha enriquecido"). La acción debería fallar y detener la ejecución de la guía: Si se informa de un error grave, como credenciales incorrectas, no hay conexión con el servidor u otro error, se muestra el mensaje "Error al ejecutar la acción "Enriquecer entidades". Motivo: {0}''.format(error.Stacktrace) |
General |
| Tabla del panel de casos | Título de la tabla: {entity.identifier} Columnas de tabla:
|
Entidad |
Ejecutar consulta simple
Descripción
Ejecuta una consulta de eventos de FortiSIEM basada en 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 obtener la consulta. El parámetro acepta varios valores como una cadena separada por comas. |
| Gravedad mínima para obtener | Entero | N/A | No | Especifica la gravedad mínima de los eventos que se van a obtener en Google SecOps en números. Ejemplo: 5 o 7 |
| Categoría de evento | CSV | N/A | No | Especifica la categoría de evento que debe obtener la consulta. El parámetro acepta varios valores como una cadena separada por comas. |
| IDs de evento | CSV | N/A | No | Especifica opcionalmente los IDs de evento exactos que debe obtener la consulta. El parámetro acepta varios valores como una cadena separada por comas. |
| Campos que se van a devolver | 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 ordenación | Cadena | phRecvTime | No | Especifica el parámetro que se debe usar para ordenar. |
| Orden de clasificación | DDL | Descendente Valores posibles:
|
No | Especifica el orden de clasificación. |
| Periodo | DDL | Última hora Valores posibles:
|
No | Especifica un periodo para los resultados. Si se selecciona "Personalizado", también debe proporcionar el parámetro "Hora de inicio". |
| Hora de inicio | Cadena | N/A | No | Especifica la hora de inicio de los resultados. Este parámetro es obligatorio si se selecciona "Personalizado" en el parámetro "Periodo". Formato: ISO 8601 Ejemplo: 2021-04-23T12:38Z |
| Hora de finalización | Cadena | N/A | No | Especifica la hora de finalización de los resultados. Si no se proporciona ningún valor y se selecciona "Personalizado" en el parámetro "Periodo", este parámetro usará la hora actual. Formato: ISO 8601 |
| Número máximo de resultados que se devolverán | Entero | 50 | No | Especifica el número de resultados que se devolverán. |
Fecha de ejecución
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
Panel 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 han encontrado algunos datos (is_success=true): "Successfully retrieved results for the constructed query "{query}" in FortiSIEM." ("Se han obtenido correctamente los resultados de la consulta creada "{query}" en FortiSIEM"). Si no se encuentran resultados (is_success=false): "No se han encontrado resultados para la consulta creada "{Query}" en FortiSIEM." La acción debería fallar y detener la ejecución de la guía: Si se informa de un error grave, como credenciales incorrectas, no hay conexión con el servidor u otro error: "Error al ejecutar la acción "Consulta simple". Motivo: {0}''.format(error.Stacktrace) Si el parámetro "Hora de inicio" está vacío y el parámetro "Periodo" tiene el valor "Personalizado" (error): "Error al ejecutar la acción "". Motivo: se debe proporcionar el valor del parámetro "Hora de inicio" cuando se selecciona "Personalizado" en el parámetro "Periodo"." Si el valor de "Hora de inicio" es mayor que el valor del parámetro "Hora de finalización" (error): "Error al ejecutar la acción "". Motivo: "Hora de finalización" debe ser posterior a "Hora de inicio". |
General |
| Tabla | Nombre de la tabla: Simple Query Results 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 cadena de texto de varias líneas | (Atributo = Valor O Valor) Y (Valor de atributo O Valor) | Sí | Especifica una consulta que se usa para obtener información sobre los eventos. Ejemplo: (relayDevIpAddr = 172.30.202.1 OR 172.30.202.2) AND (reptDevName = HOST1) |
| Campos que se van a devolver | CSV | No | Especifica los campos que se devolverán. Si no se proporciona nada, la acción devuelve todos los campos. |
|
| Campo de ordenación | Cadena | phRecvTime | No | Especifica el parámetro que se debe usar para ordenar. |
| Orden de clasificación | DDL | Descendente Valores posibles:
|
No | Especifica el orden de clasificación. |
| Periodo | DDL | Última hora Valores posibles:
|
No | Especifica un periodo para los resultados. Si se selecciona "Personalizado", también debe proporcionar el parámetro "Hora de inicio". |
| Hora de inicio | Cadena | N/A | No | Especifica la hora de inicio de los resultados. Este parámetro es obligatorio si se selecciona "Personalizado" en el parámetro "Periodo". Formato: ISO 8601 Ejemplo: 2021-04-23T12:38Z |
| Hora de finalización | Cadena | N/A | No | Especifica la hora de finalización de los resultados. Si no se proporciona ningún valor y se selecciona "Personalizado" en el parámetro "Periodo", este parámetro usará la hora actual. |
| Número máximo de resultados que se devolverán | Entero | 50 | No | Especifica el número de resultados que se devolverán. |
Fecha de ejecución
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
Panel 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 han encontrado algunos datos (is_success=true): "Se han obtenido correctamente los resultados de la consulta "{query}" en FortiSIEM." Si no se encuentran resultados (is_success=false): "No se han encontrado resultados para la consulta "{Query}" proporcionada en FortiSIEM." La acción debería fallar y detener la ejecución de la guía: Si se informa de un error grave, como credenciales incorrectas, no hay conexión con el servidor u otro error: "Error al ejecutar la acción "Consulta simple". Motivo: {0}''.format(error.Stacktrace) Si el parámetro "Hora de inicio" está vacío y el parámetro "Periodo" tiene el valor "Personalizado" (error): "Error al ejecutar la acción "". Motivo: se debe proporcionar el valor del parámetro "Hora de inicio" cuando se selecciona "Personalizado" en el parámetro "Periodo"." Si el valor de "Hora de inicio" es mayor que el valor del parámetro "Hora de finalización" (error): "Error al ejecutar la acción "". Motivo: "Hora de finalización" debe ser posterior a "Hora de inicio". |
General |
| Tabla | Nombre de la tabla: Resultados de 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 obtener incidentes de FortiSIEM. La lista de permitidas de conectores se puede usar para ingerir solo tipos específicos de incidencias en función del valor del atributo "eventType" de la incidencia. El SourceGroupIdentifier del conector se puede usar para agrupar las alertas de Google SecOps en función del ID del incidente. Connector requiere la versión 6.3 o una posterior de FortiSIEM.
Parámetros de conectores
| Nombre visible del parámetro | Tipo | Valor predeterminado | Es obligatorio | Descripción |
|---|---|---|---|---|
| Nombre del campo de producto | Cadena | deviceProduct | Sí | Introduce el nombre del campo de origen para obtener el nombre del campo de producto. |
| Nombre del campo de evento | Cadena | eventType | Sí | Introduzca el nombre del campo de origen para obtener el nombre del campo de evento. |
| Nombre del campo de entorno | Cadena | No | Describe el nombre del campo en el que se almacena el nombre del entorno. Si no se encuentra el campo de entorno, se utiliza el entorno predeterminado. |
|
| Patrón de regex de entorno | Cadena | .* | No | Una expresión regular que se aplicará al valor encontrado en el campo "Nombre del campo de entorno". El valor predeterminado es .* para captar todos los valores y devolverlos sin cambios. Se usa para permitir que el usuario manipule el campo del entorno mediante la lógica de expresiones regulares. Si el patrón de expresión regular es nulo o está vacío, o si el valor del entorno es nulo, el resultado final del entorno será el entorno predeterminado. |
| Tiempo de espera de secuencia de comandos | Entero | 300 | Sí | Especifica el tiempo de espera para que se ejecute el conector. |
| Raíz de la API | Cadena | https:/x.x.x.x:puerto | Sí | Especifica la raíz de la API de la instalación de FortiSIEM de destino. |
| Nombre de usuario | Cadena | N/A | Sí | Especifica el nombre de usuario que se va a usar en la instalación de FortiSIEM de destino. |
| Contraseña | Contraseña | N/A | Sí | Especifica la contraseña que se va a usar en la instalación de FortiSIEM de destino. |
| Verificar SSL | Casilla | Marcada | No | Si está habilitada, el servidor de Google SecOps comprueba el certificado configurado para la raíz de la API. |
| Organización de destino | CSV | N/A | No | Especifica las organizaciones de las que el conector debe obtener los incidentes. Los parámetros aceptan varios valores como una cadena separada por comas. |
| Número máximo de horas hacia atrás | Entero | 24 | Sí | Especifica el periodo para obtener incidentes de X horas hacia atrás. |
| Número máximo de incidentes por ciclo | Entero | 10 | Sí | Especifica el número de incidencias que se deben procesar durante una ejecución del conector. |
| Número máximo de eventos por incidente | Entero | 100 | Sí | Especifica el número máximo de eventos que debe registrar el conector para la incidencia. Una vez alcanzado el límite, no se añadirán eventos nuevos a Google SecOps. |
| Estados de incidentes que se van a obtener | CSV | 0 | No | Especifica los estados de los incidentes que se van a obtener en Google SecOps. El parámetro acepta varios valores como una cadena separada por comas. 0 representa los incidentes con el estado Abierto. |
| Gravedad mínima para obtener | Entero | N/A | No | Especifica la gravedad mínima del evento del incidente que se va a obtener de Google SecOps en números (por ejemplo, 5 o 7). |
| Usar la lista blanca como lista negra | Casilla | Desmarcada | Sí | Si se habilita, la lista de permitidos se usa como lista de bloqueo. |
| Monitorizar los eventos nuevos añadidos a incidentes ya registrados | Casilla | Marcada | Sí | Si está habilitada, cuando se añadan eventos nuevos a un incidente de FortiSIEM ya ingerido, se creará una alerta nueva adicional en Google SecOps que contenga esos eventos. |
| Umbral de eventos nuevos (horas) | Entero | 24 | Sí | Si la casilla "Track New Events Added to Already Ingested Incidents" (Monitorizar eventos nuevos añadidos a incidentes ya ingeridos) está marcada, especifique el número máximo de horas que el conector debe monitorizar los incidentes ya ingeridos para detectar eventos nuevos. Una vez alcanzado el límite, no se añadirán eventos nuevos a Google SecOps. |
| Dirección del servidor proxy | Cadena | N/A | No | Especifica la dirección del servidor proxy que se va a usar. |
| Nombre de usuario del proxy | Cadena | N/A | No | Especifica el nombre de usuario del proxy para autenticarte. |
| Contraseña del proxy | Contraseña | N/A | No | Especifica la contraseña del proxy para autenticarte. |
Reglas de conectores
Compatibilidad con proxy
El conector admite proxies.
¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.