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

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

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

  • Ascendente
  • Descendente
No Especifica el orden de clasificación.
Periodo DDL

Última hora

Valores posibles:

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

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:

  • Ascendente
  • Descendente
No Especifica el orden de clasificación.
Periodo DDL

Última hora

Valores posibles:

  • Última hora
  • Últimas 6 horas
  • Últimas 24 horas
  • La semana pasada
  • El mes pasado
  • Personalizado
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 Introduce el nombre del campo de origen para obtener el nombre del campo de producto.
Nombre del campo de evento Cadena eventType 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 Especifica el tiempo de espera para que se ejecute el conector.
Raíz de la API Cadena https:/x.x.x.x:puerto Especifica la raíz de la API de la instalación de FortiSIEM de destino.
Nombre de usuario Cadena N/A Especifica el nombre de usuario que se va a usar en la instalación de FortiSIEM de destino.
Contraseña Contraseña N/A 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 Especifica el periodo para obtener incidentes de X horas hacia atrás.
Número máximo de incidentes por ciclo Entero 10 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

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

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.