Fortinet FortiSIEM

Versão de integração: 5.0

Configure a integração do Fortinet FortiSIEM no Google Security Operations

Para obter instruções detalhadas sobre como configurar uma integração no Google SecOps, consulte o artigo Configure integrações.

Parâmetros de integração

Use os seguintes parâmetros para configurar a integração:

Nome a apresentar do parâmetro Tipo Valor predefinido É obrigatório Descrição
Raiz da API String https://x.x.x.x:port Sim Especifique a raiz da API para a instalação do FortiSIEM de destino.
Nome de utilizador String N/A Sim Especifique o nome de utilizador a usar para a instalação do FortiSIEM de destino.
Palavra-passe Palavra-passe N/A Sim Especifique a palavra-passe a usar para a instalação do FortiSIEM de destino.
Validar SSL Caixa de verificação Marcado Não Se estiver ativado, o servidor do Google SecOps verifica se o certificado está configurado para a raiz da API.

Exemplos de utilização de produtos

  1. Carregar alertas do SIEM para o Google SecOps.
  2. Use dados do SIEM para o enriquecimento de alertas do Google SecOps.
  3. Sincronizar os estados de processamento com os alertas do Google SecOps no SIEM.

Ações

Tchim-tchim

Descrição

Teste a conetividade ao FortiSIEM com os parâmetros fornecidos na página de configuração da integração no separador Google Security Operations Marketplace.

Parâmetros

N/A

Executar em

A ação não é executada em entidades nem tem parâmetros de entrada obrigatórios.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valores Exemplo
is_success Verdadeiro/Falso is_success=False
Resultado JSON
N/A
Enriquecimento de entidades

N/A

Estatísticas

N/A

Case Wall
Tipo de resultado Valor/descrição Tipo
Mensagem de saída*

A ação não deve falhar nem parar a execução de um guia interativo:

Se tiver êxito: "Ligação à instalação do FortiSIEM estabelecida com êxito com os parâmetros de ligação fornecidos!"

A ação deve falhar e parar a execução de um guia interativo:

>Se não for bem-sucedido: "Falha ao estabelecer ligação à instalação do FortiSIEM! O erro é {0}".format(exception.stacktrace)"

Geral

Enriquecer entidades

Descrição

Enriqueça as entidades com informações da CMDB do Fortinet FortiSIEM. Entidades suportadas: nome do anfitrião, endereço IP.

Parâmetros

Nome a apresentar do parâmetro Tipo Valor predefinido É obrigatório Descrição
Organização de destino String N/A Não Especifique o nome da organização de destino opcional para procurar informações de enriquecimento apenas nesta organização.

Executar em

Esta ação é executada nas seguintes entidades:

  • Nome do anfitrião
  • Endereço IP

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valores Exemplo
is_success Verdadeiro/Falso is_success=False
Resultado 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
      }
    }
  }
]
Enriquecimento de entidades
Nome do campo de enriquecimento Origem (chave JSON) Lógica: quando aplicar
accessIp accessIp Quando estiver disponível em XML
nome nome Quando estiver disponível em XML
aplicações CSV de "applications/name" Quando estiver disponível em XML
creationMethod creationMethod Quando estiver disponível em XML
deviceType_model deviceType_model Quando estiver disponível em XML

deviceType_accessProtocols

deviceType_vendor

deviceType_accessProtocols

deviceType_vendor

Quando estiver disponível em XML
discoverMethod discoverMethod Quando estiver disponível em XML
discoverTime discoverTime Quando estiver disponível em XML
Estatísticas

N/A

Case Wall
Tipo de resultado Valor/descrição Tipo
Mensagem de saída*

A ação não deve falhar nem parar a execução de um guia interativo:

Se os dados estiverem disponíveis para uma entidade (is_success=true): "As seguintes entidades foram enriquecidas com êxito através de informações do FortiSIEM: {entity.identifier}."

Se os dados não estiverem disponíveis para uma entidade (is_success=true): "Não foi possível enriquecer as seguintes entidades com informações do FortiSIEM: {entity.identifier}."

Se os dados não estiverem disponíveis para todas as entidades (is_success=false): "Nenhuma das entidades fornecidas foi enriquecida."

A ação deve falhar e parar a execução de um guia interativo:

Se for comunicado um erro fatal, como credenciais incorretas, sem ligação ao servidor ou outro: "Erro ao executar a ação "Enriquecer entidades". Motivo: {0}''.format(error.Stacktrace)

Geral
Tabela de parede da caixa

Título da tabela: {entity.identifier}

Colunas da tabela:

  • Chave
  • Valor
Entidade

Executar consulta simples

Descrição

Executar a consulta de eventos do FortiSIEM com base nos parâmetros fornecidos.

Parâmetros

Nome a apresentar do parâmetro Tipo Valor predefinido É obrigatório Descrição
Tipos de eventos CSV N/A Não

Especifique os tipos de eventos que a consulta deve obter.

O parâmetro aceita vários valores como uma string separada por vírgulas.

Gravidade mínima para obter Número inteiro N/A Não

Especifique a gravidade mínima do evento a obter para o Google SecOps em números.

Exemplo: 5 ou 7

Categoria de eventos CSV N/A Não

Especifique a consulta de categoria de eventos que deve ser obtida.

O parâmetro aceita vários valores como uma string separada por vírgulas.

IDs de eventos CSV N/A Não

Especifique opcionalmente os IDs de eventos exatos que a consulta deve obter.

O parâmetro aceita vários valores como uma string separada por vírgulas.

Campos a devolver CSV N/A Não

Especifique os campos a devolver.

Se não for fornecido nada, a ação devolve todos os campos.

Campo de ordenação String phRecvTime Não Especifique o parâmetro que deve ser usado para a ordenação.
Disposição da Ordenação LDD

DESC

Valores possíveis:

  • ASC
  • DESC
Não Especifique a ordem de ordenação.
Intervalo de tempo LDD

Última hora

Valores possíveis:

  • Última hora
  • Últimas 6 horas
  • Últimas 24 horas
  • Semana passada
  • Mês passado
  • Personalizado
Não

Especifique um período para os resultados.

Se "Personalizado" estiver selecionado, também tem de fornecer o parâmetro "Hora de início".

Hora de início String N/A Não

Especifique a hora de início dos resultados.

Este parâmetro é obrigatório se "Personalizado" estiver selecionado para o parâmetro "Intervalo de tempo".

Formato: ISO 8601

Exemplo: 2021-04-23T12:38Z

Hora de fim String N/A Não

Especifique a hora de fim dos resultados.

Se não for fornecido nada e "Personalizado" for selecionado para o parâmetro "Intervalo de tempo", este parâmetro usa a hora atual.

Formato: ISO 8601

Máximo de resultados a devolver Número inteiro 50 Não Especifique o número de resultados a devolver.

Executar em

Esta ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valores Exemplo
is_success Verdadeiro/Falso is_success=False
Resultado 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"
  }
]
Enriquecimento de entidades

N/A

Estatísticas

N/A

Case Wall
Tipo de resultado Valor/descrição Tipo
Mensagem de saída*

A ação não deve falhar nem parar a execução de um guia interativo:

Se forem encontrados alguns dados (is_success=true): "Resultados obtidos com êxito para a consulta criada "{query}" no FortiSIEM.".

Se não forem encontrados resultados (is_success=false): "Não foram encontrados resultados para a consulta criada "{Query}" no FortiSIEM."

A ação deve falhar e parar a execução de um guia interativo:

Se for comunicado um erro fatal, como credenciais incorretas, sem ligação ao servidor ou outro: "Erro ao executar a ação "Consulta simples". Motivo: {0}''.format(error.Stacktrace)

Se o parâmetro "Hora de início" estiver vazio e o parâmetro "Intervalo de tempo" estiver definido como "Personalizado" (falha): "Erro ao executar a ação "". Motivo: a "Hora de início" deve ser fornecida quando "Personalizado" é selecionado no parâmetro "Intervalo de tempo"."

Se o valor de "Hora de início" for superior ao valor do parâmetro "Hora de fim" (falha): "Erro ao executar a ação "". Motivo: a "Hora de fim" deve ser posterior à "Hora de início".

Geral
Tabela

Nome da tabela: resultados da consulta simples

Colunas da tabela: todas as colunas da resposta

Geral

Executar consulta personalizada

Descrição

Execute uma consulta personalizada no FortiSIEM.

Parâmetros

Nome a apresentar do parâmetro Tipo Valor predefinido É obrigatório Descrição
Consulta Campo de entrada de várias linhas de texto (Atributo = Valor OU Valor) E (Atributo Valor OU Valor) Sim

Especifique uma consulta que é usada para obter informações sobre os eventos.

Exemplo: (relayDevIpAddr = 172.30.202.1 OR 172.30.202.2) AND (reptDevName = HOST1)

Campos a devolver CSV Não

Especifique os campos a devolver.

Se não for fornecido nada, a ação devolve todos os campos.

Campo de ordenação String phRecvTime Não Especifique o parâmetro que deve ser usado para a ordenação.
Disposição da Ordenação LDD

DESC

Valores possíveis:

  • ASC
  • DESC
Não Especifique a ordem de ordenação.
Intervalo de tempo LDD

Última hora

Valores possíveis:

  • Última hora
  • Últimas 6 horas
  • Últimas 24 horas
  • Semana passada
  • Mês passado
  • Personalizado
Não

Especifique um período para os resultados.

Se "Personalizado" estiver selecionado, também tem de fornecer o parâmetro "Hora de início".

Hora de início String N/A Não

Especifique a hora de início dos resultados.

Este parâmetro é obrigatório se "Personalizado" estiver selecionado para o parâmetro "Intervalo de tempo".

Formato: ISO 8601

Exemplo: 2021-04-23T12:38Z

Hora de fim String N/A Não

Especifique a hora de fim dos resultados.

Se não for fornecido nada e "Personalizado" for selecionado para o parâmetro "Intervalo de tempo", este parâmetro usa a hora atual.

Máximo de resultados a devolver Número inteiro 50 Não Especifique o número de resultados a devolver.

Executar em

Esta ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valores Exemplo
is_success Verdadeiro/Falso is_success=False
Resultado 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"
  }
]
Enriquecimento de entidades

N/A

Estatísticas

N/A

Case Wall
Tipo de resultado Valor/descrição Tipo
Mensagem de saída*

A ação não deve falhar nem parar a execução de um guia interativo:

If found at least some data (is_success=true): "Successfully retrieved results for the provided query "{query}" in FortiSIEM."

Se não forem encontrados resultados (is_success=false): "Não foram encontrados resultados para a consulta fornecida "{Query}" no FortiSIEM."

A ação deve falhar e parar a execução de um guia interativo:

Se for comunicado um erro fatal, como credenciais incorretas, sem ligação ao servidor ou outro: "Erro ao executar a ação "Consulta simples". Motivo: {0}''.format(error.Stacktrace)

Se o parâmetro "Hora de início" estiver vazio e o parâmetro "Intervalo de tempo" estiver definido como "Personalizado" (falha): "Erro ao executar a ação "". Motivo: a "Hora de início" deve ser fornecida quando "Personalizado" é selecionado no parâmetro "Intervalo de tempo"."

Se o valor de "Hora de início" for superior ao valor do parâmetro "Hora de fim" (falha): "Erro ao executar a ação "". Motivo: "Hora de fim" deve ser posterior a "Hora de início".

Geral
Tabela

Nome da tabela: resultados da consulta personalizada

Colunas da tabela: todas as colunas da resposta

Geral

Conetores

Conetor de incidentes do FortiSIEM

Descrição do conetor

O conetor pode ser usado para obter incidentes do FortiSIEM. A lista de autorizações do conector pode ser usada para carregar apenas tipos específicos de incidentes com base no valor do atributo "eventType" do incidente. O SourceGroupIdentifier do conetor pode ser usado para agrupar alertas do Google SecOps com base no ID do incidente. O conector requer a versão 6.3 ou mais recente do FortiSIEM.

Parâmetros do conetor

Nome a apresentar do parâmetro Tipo Valor predefinido É obrigatório Descrição
Nome do campo do produto String deviceProduct Sim Introduza o nome do campo de origem para obter o nome do campo do produto.
Nome do campo de evento String eventType Sim Introduza o nome do campo de origem para obter o nome do campo do evento.
Nome do campo do ambiente String Não

Descreve o nome do campo onde o nome do ambiente está armazenado.

Se o campo do ambiente não for encontrado, o ambiente é o ambiente predefinido.

Padrão de regex do ambiente String .* Não

Um padrão de regex a executar no valor encontrado no campo "Nome do campo do ambiente".

A predefinição é .* para captar tudo e devolver o valor inalterado.

Usado para permitir que o utilizador manipule o campo do ambiente através da lógica de regex.

Se o padrão regex for nulo ou estiver vazio, ou o valor do ambiente for nulo, o resultado final do ambiente é o ambiente predefinido.

Limite de tempo do script Número inteiro 300 Sim Especifique o limite de tempo para a execução do conetor.
Raiz da API String https:/x.x.x.x:port Sim Especifique a raiz da API para a instalação do FortiSIEM de destino.
Nome de utilizador String N/A Sim Especifique o nome de utilizador a usar para a instalação do FortiSIEM de destino.
Palavra-passe Palavra-passe N/A Sim Especifique a palavra-passe a usar para a instalação do FortiSIEM de destino.
Validar SSL Caixa de verificação Marcado Não Se estiver ativado, o servidor do Google SecOps verifica o certificado configurado para a raiz da API.
Organização de destino CSV N/A Não

Especifique as organizações para as quais o conector deve obter incidentes.

Os parâmetros aceitam vários valores como uma string separada por vírgulas.

Número máximo de horas para trás Número inteiro 24 Sim Especifique o período para obter incidentes de X horas anteriores.
Máximo de incidentes por ciclo Número inteiro 10 Sim Especifique o número de incidentes que devem ser processados durante uma execução do conetor.
Máximo de eventos por incidente Número inteiro 100 Sim

Especifique o número máximo de eventos que o conector deve acompanhar para o incidente.

Quando o limite é atingido, não são adicionados novos eventos ao Google SecOps.

Estados de incidentes a obter CSV 0 Não

Especifique os estados do incidente a obter para o Google SecOps.

O parâmetro aceita vários valores como uma string separada por vírgulas.

0 representa incidentes com o estado aberto.

Gravidade mínima para obter Número inteiro N/A Não Especifique a gravidade do evento do incidente mínima a obter para o Google SecOps em números, por exemplo, 5 ou 7.
Use a lista de autorizações como uma lista negra Caixa de verificação Desmarcado Sim Se estiver ativada, a lista de autorizações é usada como uma lista negra.
Acompanhe novos eventos adicionados a incidentes já carregados Caixa de verificação Marcado Sim Se estiver ativada, se forem adicionados novos eventos a um incidente do FortiSIEM já carregado, é criado um novo alerta adicional no Google SecOps com esses novos eventos.
Limite de novos eventos (horas) Número inteiro 24 Sim

Se a caixa de verificação "Acompanhar novos eventos adicionados a incidentes já carregados" estiver selecionada, especifique o número máximo de horas que o conector deve acompanhar os incidentes já carregados para novos eventos.

Quando o limite é atingido, não são adicionados novos eventos ao Google SecOps.

Endereço do servidor proxy String N/A Não Especifique o endereço do servidor proxy a usar.
Nome de utilizador do proxy String N/A Não Especifique o nome de utilizador do proxy para autenticação.
Palavra-passe do proxy Palavra-passe N/A Não Especifique a palavra-passe do proxy para autenticação.

Regras do conetor

Suporte de proxy

O conetor suporta proxy.

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.