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 Especifica la raíz de la API para la instalación de FortiSIEM de destino.
Nombre de usuario String N/A Especifica el nombre de usuario que se usará para la instalación de FortiSIEM de destino.
Contraseña Contraseña N/A 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

  1. Transfiere alertas del SIEM a Google SecOps.
  2. Usar datos de la SIEM para enriquecer las alertas de Google SecOps
  3. 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:

  • Clave
  • Valor
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:

  • ASC
  • DESC
No Especifica el orden de clasificación.
Período DDL

Última hora

Valores posibles:

  • Última hora
  • Últimas 6 horas
  • Últimas 24 horas
  • Última semana
  • Último mes
  • Personalizado
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)

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:

  • ASC
  • DESC
No Especifica el orden de clasificación.
Período DDL

Última hora

Valores posibles:

  • Última hora
  • Últimas 6 horas
  • Últimas 24 horas
  • Última semana
  • Último mes
  • Personalizado
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 Ingresa el nombre del campo de origen para recuperar el nombre del campo del producto.
Nombre del campo del evento String eventType 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 Especifica el tiempo de espera para que se ejecute el conector.
Raíz de la API String https:/x.x.x.x:puerto Especifica la raíz de la API para la instalación de FortiSIEM de destino.
Nombre de usuario String N/A Especifica el nombre de usuario que se usará para la instalación de FortiSIEM de destino.
Contraseña Contraseña N/A 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 Especifica el período para recuperar incidentes desde X horas hacia atrás.
Cantidad máxima de incidentes por ciclo Número entero 10 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

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 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 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

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.