Fortinet FortiSIEM
Versão da integração: 5.0
Configurar a integração do Fortinet FortiSIEM no Google Security Operations
Para instruções detalhadas sobre como configurar uma integração no Google SecOps, consulte Configurar integrações.
Parâmetros de integração
Use os seguintes parâmetros para configurar a integração:
| Nome de exibição do parâmetro | Tipo | Valor padrão | É obrigatório | Descrição |
|---|---|---|---|---|
| Raiz da API | String | https://x.x.x.x:porta | Sim | Especifique a raiz da API para a instalação de destino do FortiSIEM. |
| Nome de usuário | String | N/A | Sim | Especifique o nome de usuário a ser usado para a instalação de destino do FortiSIEM. |
| Senha | Senha | N/A | Sim | Especifique a senha a ser usada na instalação de destino do FortiSIEM. |
| Verificar SSL | Caixa de seleção | Selecionado | Não | Se ativado, o servidor do Google SecOps verifica se o certificado está configurado para a raiz da API. |
Casos de uso de produtos
- Ingira alertas do SIEM para o Google SecOps.
- Use dados do SIEM para enriquecer alertas do Google SecOps.
- Sincronizar os status de processamento com alertas do Google SecOps no lado do SIEM.
Ações
Ping
Descrição
Teste a conectividade com o FortiSIEM usando os parâmetros fornecidos na página de configuração da integração na guia "Marketplace" do Google Security Operations.
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 valor | Exemplo |
|---|---|---|
| is_success | Verdadeiro/Falso | is_success=False |
Resultado do JSON
N/A
Enriquecimento de entidades
N/A
Insights
N/A
Painel de casos
| Tipo de resultado | Valor/descrição | Tipo |
|---|---|---|
| Mensagem de saída* | A ação não pode falhar nem interromper a execução de um playbook: Se tudo der certo: "Conexão bem-sucedida com a instalação do FortiSIEM usando os parâmetros de conexão fornecidos!" A ação precisa falhar e interromper a execução de um playbook: >Se não der certo: "Falha na conexão com a instalação do FortiSIEM! Erro: {0}".format(exception.stacktrace)" |
Geral |
Enriquecer entidades
Descrição
Enriqueça entidades usando informações do FortiSIEM CMDB da Fortinet. Entidades compatíveis: nome do host, endereço IP.
Parâmetros
| Nome de exibição do parâmetro | Tipo | Valor padrão | É 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 nessa organização. |
Executar em
Essa ação é executada nas seguintes entidades:
- Nome do host
- Endereço IP
Resultados da ação
Resultado do script
| Nome do resultado do script | Opções de valor | Exemplo |
|---|---|---|
| is_success | Verdadeiro/Falso | is_success=False |
Resultado do 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 disponível em XML |
| nome | nome | Quando disponível em XML |
| aplicativos | CSV de "applications/name" | Quando disponível em XML |
| creationMethod | creationMethod | Quando disponível em XML |
| deviceType_model | deviceType_model | Quando disponível em XML |
deviceType_accessProtocols deviceType_vendor |
deviceType_accessProtocols deviceType_vendor |
Quando disponível em XML |
| discoverMethod | discoverMethod | Quando disponível em XML |
| discoverTime | discoverTime | Quando disponível em XML |
Insights
N/A
Painel de casos
| Tipo de resultado | Valor/descrição | Tipo |
|---|---|---|
| Mensagem de saída* | A ação não pode falhar nem interromper a execução de um playbook: Se os dados estiverem disponíveis para uma entidade (is_success=true): "Aprimoramos as seguintes entidades usando 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 usando 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 precisa falhar e interromper a execução de um playbook: Se um erro fatal, como credenciais incorretas, falta de conexão com o servidor ou outro, for informado: "Erro ao executar a ação "Enriquecer entidades". Motivo: {0}''.format(error.Stacktrace) |
Geral |
| Tabela do painel de casos | Título da tabela: {entity.identifier} Colunas da tabela:
|
Entidade |
Executar consulta simples
Descrição
Executa uma consulta de eventos do FortiSIEM com base nos parâmetros fornecidos.
Parâmetros
| Nome de exibição do parâmetro | Tipo | Valor padrão | É obrigatório | Descrição |
|---|---|---|---|---|
| Tipos de evento | CSV | N/A | Não | Especifique os tipos de eventos que a consulta deve buscar. O parâmetro aceita vários valores como uma string separada por vírgulas. |
| Gravidade mínima para buscar | Número inteiro | N/A | Não | Especifique a gravidade mínima do evento a ser buscada no Google SecOps em números. Exemplo: 5 ou 7 |
| Categoria do evento | CSV | N/A | Não | Especifique a categoria de evento que a consulta precisa buscar. O parâmetro aceita vários valores como uma string separada por vírgulas. |
| IDs de evento | CSV | N/A | Não | Especifique opcionalmente os IDs de evento exatos que a consulta deve buscar. O parâmetro aceita vários valores como uma string separada por vírgulas. |
| Campos a serem retornados | CSV | N/A | Não | Especifique os campos que serão retornados. Se nada for fornecido, a ação vai retornar todos os campos. |
| Campo de classificação | String | phRecvTime | Não | Especifique o parâmetro que será usado para a classificação. |
| Ordem de classificação | DDL | DESC Valores possíveis:
|
Não | Especifique a ordem de classificação. |
| Período | DDL | Última hora Valores possíveis:
|
Não | Especifique um período para os resultados. Se "Personalizado" estiver selecionado, você também precisará informar o parâmetro "Horário de início". |
| Horário de início | String | N/A | Não | Especifique o horário de início dos resultados. Esse parâmetro é obrigatório se "Personalizado" for selecionado para o parâmetro "Período". Formato: ISO 8601 Exemplo: 2021-04-23T12:38Z |
| Horário de término | String | N/A | Não | Especifique o horário de término dos resultados. Se nada for fornecido e "Personalizado" for selecionado para o parâmetro "Período", esse parâmetro usará a hora atual. Formato: ISO 8601 |
| Número máximo de resultados a serem retornados | Número inteiro | 50 | Não | Especifique o número de resultados a serem retornados. |
Executar em
Essa ação não é executada em entidades.
Resultados da ação
Resultado do script
| Nome do resultado do script | Opções de valor | Exemplo |
|---|---|---|
| is_success | Verdadeiro/Falso | is_success=False |
Resultado do 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
Insights
N/A
Painel de casos
| Tipo de resultado | Valor/descrição | Tipo |
|---|---|---|
| Mensagem de saída* | A ação não pode falhar nem interromper a execução de um playbook: Se alguns dados forem encontrados (is_success=true): "Os resultados da consulta construída "{query}" foram recuperados no FortiSIEM.". Se nenhum resultado for encontrado (is_success=false): "Nenhum resultado foi encontrado para a consulta criada "{Query}" no FortiSIEM." A ação precisa falhar e interromper a execução de um playbook: Se um erro fatal, como credenciais incorretas, falta de conexão com o servidor ou outro, for informado: "Erro ao executar a ação "Consulta simples". Motivo: {0}''.format(error.Stacktrace) Se o parâmetro "Horário de início" estiver vazio e o parâmetro "Período" estiver definido como "Personalizado" (falha): "Erro ao executar a ação "". Motivo: "Horário de início" precisa ser informado quando "Personalizado" é selecionado no parâmetro "Período". Se o valor de "Horário de início" for maior que o valor do parâmetro "Horário de término" (falha): "Erro ao executar a ação "". Motivo: "Horário de término" precisa ser posterior a "Horário de início". |
Geral |
| Tabela | Nome da tabela:resultados de consultas simples Colunas da tabela:todas as colunas da resposta |
Geral |
Executar consulta personalizada
Descrição
Execute uma consulta personalizada no FortiSIEM.
Parâmetros
| Nome de exibição do parâmetro | Tipo | Valor padrão | É obrigatório | Descrição |
|---|---|---|---|---|
| Consulta | Campo de entrada de várias linhas de string | (Atributo = Valor OU Valor) E (Valor do atributo OU Valor) | Sim | Especifique uma consulta usada para recuperar informações sobre os eventos. Exemplo: (relayDevIpAddr = 172.30.202.1 OR 172.30.202.2) AND (reptDevName = HOST1) |
| Campos a serem retornados | CSV | Não | Especifique os campos que serão retornados. Se nada for fornecido, a ação vai retornar todos os campos. |
|
| Campo de classificação | String | phRecvTime | Não | Especifique o parâmetro que será usado para a classificação. |
| Ordem de classificação | DDL | DESC Valores possíveis:
|
Não | Especifique a ordem de classificação. |
| Período | DDL | Última hora Valores possíveis:
|
Não | Especifique um período para os resultados. Se "Personalizado" estiver selecionado, você também precisará informar o parâmetro "Horário de início". |
| Horário de início | String | N/A | Não | Especifique o horário de início dos resultados. Esse parâmetro é obrigatório se "Personalizado" for selecionado para o parâmetro "Período". Formato: ISO 8601 Exemplo: 2021-04-23T12:38Z |
| Horário de término | String | N/A | Não | Especifique o horário de término dos resultados. Se nada for fornecido e "Personalizado" for selecionado para o parâmetro "Período", esse parâmetro usará a hora atual. |
| Número máximo de resultados a serem retornados | Número inteiro | 50 | Não | Especifique o número de resultados a serem retornados. |
Executar em
Essa ação não é executada em entidades.
Resultados da ação
Resultado do script
| Nome do resultado do script | Opções de valor | Exemplo |
|---|---|---|
| is_success | Verdadeiro/Falso | is_success=False |
Resultado do 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
Insights
N/A
Painel de casos
| Tipo de resultado | Valor/descrição | Tipo |
|---|---|---|
| Mensagem de saída* | A ação não pode falhar nem interromper a execução de um playbook: Se alguns dados forem encontrados (is_success=true): "Os resultados da consulta "{query}" no FortiSIEM foram recuperados." Se nenhum resultado for encontrado (is_success=false): "Nenhum resultado foi encontrado para a consulta "{Query}" no FortiSIEM." A ação precisa falhar e interromper a execução de um playbook: Se um erro fatal, como credenciais incorretas, falta de conexão com o servidor ou outro, for informado: "Erro ao executar a ação "Consulta simples". Motivo: {0}''.format(error.Stacktrace) Se o parâmetro "Horário de início" estiver vazio e o parâmetro "Período" estiver definido como "Personalizado" (falha): "Erro ao executar a ação "". Motivo: "Horário de início" precisa ser informado quando "Personalizado" é selecionado no parâmetro "Período". Se o valor do "Horário de início" for maior que o valor do parâmetro "Horário de término" (falha): "Erro ao executar a ação "". Motivo: "Horário de término" precisa ser posterior a "Horário de início". |
Geral |
| Tabela | Nome da tabela:resultados da consulta personalizada Colunas da tabela:todas as colunas da resposta |
Geral |
Conectores
Conector de incidentes do FortiSIEM
Descrição do conector
O conector pode ser usado para buscar incidentes do FortiSIEM. A lista de permissões do conector pode ser usada para ingerir apenas tipos específicos de incidentes com base no valor do atributo "eventType" do incidente. O SourceGroupIdentifier do conector pode ser usado para agrupar alertas do Google SecOps com base no ID do incidente. O conector exige o FortiSIEM versão 6.3 ou mais recente.
Parâmetros do conector
| Nome de exibição do parâmetro | Tipo | Valor padrão | É obrigatório | Descrição |
|---|---|---|---|---|
| Nome do campo do produto | String | deviceProduct | Sim | Insira o nome do campo de origem para recuperar o nome do campo do produto. |
| Nome do campo do evento | String | eventType | Sim | Insira o nome do campo de origem para recuperar o nome do campo de evento. |
| Nome do campo de ambiente | String | Não | Descreve o nome do campo em que o nome do ambiente é armazenado. Se o campo de ambiente não for encontrado, o ambiente será o padrão. |
|
| Padrão de regex do ambiente | String | .* | Não | Um padrão de regex a ser executado no valor encontrado no campo "Nome do campo de ambiente". O padrão é ".*" para capturar tudo e retornar o valor sem alterações. Usado para permitir que o usuário manipule o campo de ambiente usando a lógica de regex. Se o padrão de regex for nulo ou vazio, ou se o valor do ambiente for nulo, o resultado final será o ambiente padrão. |
| Script de tempo limite | Número inteiro | 300 | Sim | Especifique o tempo limite para a execução do conector. |
| Raiz da API | String | https:/x.x.x.x:port | Sim | Especifique a raiz da API para a instalação de destino do FortiSIEM. |
| Nome de usuário | String | N/A | Sim | Especifique o nome de usuário a ser usado para a instalação de destino do FortiSIEM. |
| Senha | Senha | N/A | Sim | Especifique a senha a ser usada na instalação de destino do FortiSIEM. |
| Verificar SSL | Caixa de seleção | Selecionado | Não | Se 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 precisa buscar incidentes. Os parâmetros aceitam vários valores como uma string separada por vírgulas. |
| Máximo de horas para trás | Número inteiro | 24 | Sim | Especifique o período para buscar incidentes de X horas atrás. |
| Número 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 conector. |
| Número máximo de eventos por incidente | Número inteiro | 100 | Sim | Especifique o número máximo de eventos que o conector deve rastrear para o incidente. Quando o limite é atingido, novos eventos não são adicionados ao Google SecOps. |
| Status de incidentes a serem buscados | CSV | 0 | Não | Especifique os status do incidente a serem buscados no Google SecOps. O parâmetro aceita vários valores como uma string separada por vírgulas. 0 significa incidentes com status "aberto". |
| Gravidade mínima para buscar | Número inteiro | N/A | Não | Especifique a gravidade mínima do evento do incidente a ser buscada no Google SecOps em números, por exemplo, 5 ou 7. |
| Usar a lista de permissões como uma lista de proibições | Caixa de seleção | Desmarcado | Sim | Se ativada, a lista de permissões será usada como uma lista de bloqueios. |
| Acompanhar novos eventos adicionados a incidentes já ingeridos | Caixa de seleção | Selecionado | Sim | Se ativado, e se novos eventos forem adicionados a um incidente do FortiSIEM já ingerido, um novo alerta será criado no Google SecOps com esses novos eventos. |
| Acompanhar limite de novos eventos (horas) | Número inteiro | 24 | Sim | Se a caixa de seleção "Acompanhar novos eventos adicionados a incidentes já ingeridos" estiver marcada, especifique o número máximo de horas que o conector deve acompanhar incidentes já ingeridos para novos eventos. Quando o limite é atingido, novos eventos não são adicionados ao Google SecOps. |
| Endereço do servidor proxy | String | N/A | Não | Especifique o endereço do servidor proxy a ser usado. |
| Nome de usuário do proxy | String | N/A | Não | Especifique o nome de usuário do proxy para autenticação. |
| Senha do proxy | Senha | N/A | Não | Especifique a senha do proxy para autenticação. |
Regras de conector
Suporte a proxy
O conector oferece suporte a proxy.
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.