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
- Carregar alertas do SIEM para o Google SecOps.
- Use dados do SIEM para o enriquecimento de alertas do Google SecOps.
- 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:
|
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:
|
Não | Especifique a ordem de ordenação. |
| Intervalo de tempo | LDD | Última hora Valores possíveis:
|
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:
|
Não | Especifique a ordem de ordenação. |
| Intervalo de tempo | LDD | Última hora Valores possíveis:
|
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.