Coletar registros do Secure Access Service Edge (SASE) da Versa Networks
Este documento explica como ingerir registros do Secure Access Service Edge (SASE) da Versa Networks no Google Security Operations usando o agente do Bindplane.
O SASE da Versa Networks é uma plataforma unificada de segurança e rede que gera mensagens de syslog para eventos de firewall, registros de ameaças, classificação de aplicativos, filtragem de URLs, detecções do SDI/IPS e eventos de alarme. O analisador extrai pares de chave-valor das mensagens do syslog e os mapeia para o modelo de dados unificado (UDM).
Antes de começar
Verifique se você tem os pré-requisitos a seguir:
- Uma instância do Google SecOps
- Windows Server 2016 ou mais recente ou host do Linux com
systemd - Conectividade de rede entre o agente do Bindplane e o nó do Versa Analytics
- Se estiver em execução atrás de um proxy, verifique se as portas do firewall estão abertas de acordo com os requisitos do agente do Bindplane.
- Acesso privilegiado ao Versa SASE
Receber credenciais do Google SecOps para o agente do BindPlane
Para autenticar o agente do Bindplane no Google SecOps, escolha um dos seguintes métodos:
- Novas implantações: use a API Chronicle (opção 1).
- Implantações legadas: continue usando o arquivo de autenticação de ingestão (opção 2) até que a API Ingestion seja desativada em 20 de julho de 2027.
Opção 1: criar uma conta de serviço para a API Chronicle (recomendado)
- Faça login no consoleGoogle Cloud e selecione o projeto Google Cloud vinculado à sua instância do Google SecOps.
- Acesse IAM e administrador > Contas de serviço.
- Clique em Criar conta de serviço.
- Informe os seguintes detalhes de configuração:
- Nome da conta de serviço: insira um nome para a conta (por exemplo,
bindplane-ingest). - Descrição da conta de serviço: insira uma descrição (por exemplo,
Bindplane agent log ingestion).
- Nome da conta de serviço: insira um nome para a conta (por exemplo,
- Clique em Criar e continuar.
- Na seção Conceder a essa conta de serviço acesso ao projeto, clique em Selecionar um papel e escolha Editor do Chronicle.
- Clique em Continuar e depois em Concluído.
- Clique na conta de serviço que você criou e acesse a guia Chaves.
- Clique em Adicionar chave > Criar nova chave.
- Selecione JSON e clique em Criar. O download do arquivo de chave é feito no seu computador.
- Salve o arquivo de chave como
ingestion-auth.jsonno diretório do coletor do BindPlane (/opt/observiq-otel-collector/ingestion-auth.jsonno Linux ouC:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.jsonno Windows) ou atualizecreds_file_pathemconfig.yamlpara corresponder ao caminho em que você o salvou. - Acesse IAM e administrador > Configurações e copie o número do projeto. Você vai precisar dele para configurar o exportador.
Opção 2: baixar o arquivo de autenticação de ingestão (legado)
- Faça login no console do Google SecOps.
- Acesse Configurações do SIEM > Agentes de coleta.
- Faça o download do arquivo de autenticação de ingestão.
- Salve o arquivo com segurança no sistema em que o agente do Bindplane será instalado.
Receber o ID de cliente do Google SecOps
- Faça login no console do Google SecOps.
- Acesse Configurações do SIEM > Perfil.
Copie e salve o ID de cliente na seção Detalhes da organização.
Instalar o agente do BindPlane
Instale o agente do Bindplane no seu sistema operacional Windows ou Linux de acordo com as instruções a seguir.
Instalação do Windows
- Abra o Prompt de comando ou o PowerShell como administrador.
Execute este comando:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quietAguarde a conclusão da instalação.
Execute o seguinte comando para confirmar a instalação:
sc query observiq-otel-collectorO serviço precisa aparecer como RUNNING.
Instalação do Linux
- Abra um terminal com privilégios de raiz ou sudo.
Execute este comando:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.shAguarde a conclusão da instalação.
Execute o seguinte comando para confirmar a instalação:
sudo systemctl status observiq-otel-collectorO serviço precisa aparecer como active (running).
Outros recursos de instalação
Para mais opções de instalação e solução de problemas, consulte o guia de instalação do agente do Bindplane.
Configurar o agente do Bindplane para ingerir syslog e enviar ao Google SecOps
Localizar o arquivo de configuração
Linux:
sudo nano /opt/observiq-otel-collector/config.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
Editar o arquivo de configuração
Substitua todo o conteúdo de
config.yamlpela seguinte configuração:receivers: tcplog: listen_address: "0.0.0.0:514" exporters: chronicle/versa_firewall: protocol: https # Region of your instance, for example us, europe, asia-southeast1 location: <LOCATION> # Project number of the Google Cloud project linked to the instance project: '<PROJECT_NUMBER>' compression: gzip creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json' customer_id: '<customer_id>' endpoint: chronicle.googleapis.com log_type: VERSA_FIREWALL raw_log_field: body service: pipelines: logs/versa_firewall_to_chronicle: receivers: - tcplog exporters: - chronicle/versa_firewall
Parâmetros de configuração
Substitua os seguintes marcadores de posição:
Configuração do receptor:
listen_address: endereço IP e porta a serem detectados:0.0.0.0para ouvir em todas as interfaces (recomendado)- A porta
514é a porta padrão do syslog (requer raiz no Linux; use1514para não raiz). - O Versa usa o transporte TCP, então o receptor
tcplogé obrigatório
Configuração do exportador:
creds_file_path: caminho completo para o arquivo de chave JSON da conta de serviço (opção 1):- Linux:
/opt/observiq-otel-collector/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
customer_id: ID de cliente copiado do console do Google SecOpslocation: substitua<LOCATION>pela região da sua instância do Google SecOps (por exemplo,us,europeouasia-southeast1). O exportador prefixachronicle.googleapis.comcom esse valor. Consulte Endpoints regionais para ver a lista completa.project: substitua<PROJECT_NUMBER>pelo número do projeto em IAM e administrador > Configurações.endpoint: mantenha definido comochronicle.googleapis.com.
Exportador da API de ingestão legada
Se você usar o arquivo de autenticação de ingestão da opção 2, substitua o bloco
exporterspelo seguinte. Definacreds_file_pathcomo o caminho para o arquivo de autenticação de ingestão e, se a instância estiver fora dos EUA, substituamalachiteingestion-pa.googleapis.compelo endpoint regional (por exemplo,europe-malachiteingestion-pa.googleapis.com).exporters: chronicle/versa_firewall: compression: gzip creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json' customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: VERSA_FIREWALL raw_log_field: body
Salvar o arquivo de configuração
- Depois de editar, salve o arquivo:
- Linux: pressione
Ctrl+O,EntereCtrl+X. - Windows: clique em Arquivo > Salvar.
- Linux: pressione
Reinicie o agente do Bindplane para aplicar as mudanças:
Para reiniciar o agente do Bindplane no Linux, execute o seguinte comando:
sudo systemctl restart observiq-otel-collectorVerifique se o serviço está em execução:
sudo systemctl status observiq-otel-collectorVerifique se há erros nos registros:
sudo journalctl -u observiq-otel-collector -f
Para reiniciar o agente do BindPlane no Windows, escolha uma das seguintes opções:
Prompt de comando ou PowerShell como administrador:
net stop observiq-otel-collector && net start observiq-otel-collectorConsole de serviços:
- Pressione
Win+R, digiteservices.msce pressione Enter. - Localize o Coletor do OpenTelemetry da observIQ.
- Clique com o botão direito do mouse e selecione Reiniciar.
Verifique se o serviço está em execução:
sc query observiq-otel-collectorVerifique se há erros nos registros:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
- Pressione
Configurar o SASE da Versa Networks
Os administradores precisam configurar coletores remotos em cada nó do Versa Analytics para encaminhar registros para sistemas de terceiros.
Ativar o encaminhamento de registros
- Faça login no servidor de análise da Versa.
- Acesse a CLI executando o comando
cli. - Mude para o modo de configuração executando o comando
configuree insiraload merge terminal. Copie e cole os comandos a seguir para configurar o encaminhamento de registros (substitua
<collector_ip>e<collector_port>pelo endereço IP e pela porta do coletor de syslog):set system analytics log-collector-exporter destination-address <collector_ip> set system analytics log-collector-exporter destination-port <collector_port> set system analytics log-collector-exporter transport tcp set system analytics log-collector-exporter log-types firewall-log set system analytics log-collector-exporter log-types threat-log commitSalve a configuração:
save
Ativar o registro de ID da sessão
Para registrar informações relacionadas ao IP, ative o registro de ID da sessão:
- Faça login no Versa Director.
- Mude para a Visualização do Diretor.
- Acesse Configuração > Dispositivos > Inquilino > Dispositivo para acessar a Visualização do dispositivo.
- Selecione Configuração > Outros > Sistema > Configuração > Configuração.
- No painel Parâmetros, clique em Editar.
- Na janela Editar parâmetros, selecione LEF.
- Na seção Firewall, marque a caixa de seleção Incluir registro de ID da sessão.
Clique em OK.
Tabela de mapeamento de UDM
| Campo de registro | Mapeamento de UDM | Lógica |
|---|---|---|
accCkt |
additional.fields[].key: "accCkt"additional.fields[].value.string_value: accCkt |
Valor extraído diretamente do campo accCkt. |
accCktId |
additional.fields[].key: "accCktId"additional.fields[].value.string_value: accCktId |
Valor extraído diretamente do campo accCktId. |
accCktName |
additional.fields[].key: "accCktName"additional.fields[].value.string_value: accCktName |
Valor extraído diretamente do campo accCktName. |
accessType |
additional.fields[].key: "accessType"additional.fields[].value.string_value: accessType |
Valor extraído diretamente do campo accessType. |
action |
security_result.action: action |
Se action, type, idpAction, avAction ou urlAction forem "permitir", então ALLOW. Se action, type, idpAction, avAction ou urlAction forem "reject", "drop", "block", "deny", então BLOCK. Se idpAction for qualquer outra coisa, UNKNOWN_ACTION. |
alarmCause |
security_result.detection_fields[].key: "alarmCause"security_result.detection_fields[].value: alarmCause |
Valor extraído diretamente do campo alarmCause. |
alarmClass |
security_result.detection_fields[].key: "alarmClass"security_result.detection_fields[].value: alarmClass |
Valor extraído diretamente do campo alarmClass. |
alarmClearable |
security_result.detection_fields[].key: "alarmClearable"security_result.detection_fields[].value: alarmClearable |
Valor extraído diretamente do campo alarmClearable. |
alarmEventType |
metadata.product_event_type: alarmEventType |
Valor extraído diretamente do campo alarmEventType. |
alarmKey |
security_result.detection_fields[].key: "alarmKey"security_result.detection_fields[].value: alarmKey |
Valor extraído diretamente do campo alarmKey. |
alarmKind |
security_result.detection_fields[].key: "alarmKind"security_result.detection_fields[].value: alarmKind |
Valor extraído diretamente do campo alarmKind. |
alarmOwner |
security_result.detection_fields[].key: "alarmOwner"security_result.detection_fields[].value: alarmOwner |
Valor extraído diretamente do campo alarmOwner. |
alarmSeqNo |
security_result.detection_fields[].key: "alarmSeqNo"security_result.detection_fields[].value: alarmSeqNo |
Valor extraído diretamente do campo alarmSeqNo. |
alarmSeverity |
security_result.severity_details: alarmSeverity |
Valor extraído diretamente do campo alarmSeverity. |
alarmText |
security_result.summary: alarmText |
Valor extraído diretamente do campo alarmText, com aspas duplas removidas. |
alarmType |
security_result.description: alarmType |
Valor extraído diretamente do campo alarmType. |
appFamily |
metadata.product_event_type: appFamilysecurity_result.detection_fields[].key: "appFamily"security_result.detection_fields[].value: appFamily |
Valor extraído diretamente do campo appFamily. |
appId |
security_result.detection_fields[].key: "ID do aplicativo"security_result.detection_fields[].value: appId |
Valor extraído diretamente do campo appId. |
appIdStr |
security_result.detection_fields[].key: "appIdStr"security_result.detection_fields[].value: appIdStr |
Valor extraído diretamente do campo appIdStr. |
applianceName |
principal.hostname: applianceName |
Valor extraído diretamente do campo applianceName, siteName ou site. |
appProductivity |
security_result.detection_fields[].key: "appProductivity"security_result.detection_fields[].value: appProductivity |
Valor extraído diretamente do campo appProductivity. |
appRisk |
security_result.severity_details: appRisk |
Valor extraído diretamente do campo appRisk. |
appSubFamily |
security_result.detection_fields[].key: "appSubFamily"security_result.detection_fields[].value: appSubFamily |
Valor extraído diretamente do campo appSubFamily. |
avAccuracy |
additional.fields[].key: "avAccuracy"additional.fields[].value.string_value: avAccuracy |
Valor extraído diretamente do campo avAccuracy. |
avAction |
security_result.action: avAction |
Consulte action para ver a lógica. |
avMalwareName |
security_result.threat_name: avMalwareName |
Valor extraído diretamente do campo avMalwareName. |
avMalwareType |
security_result.category_details: avMalwareType |
Valor extraído diretamente do campo avMalwareType. |
classMsg |
security_result.description: classMsg |
Valor extraído diretamente do campo classMsg, sem as aspas duplas. |
clientIPv4Address |
target.ip: clientIPv4Address |
Valor extraído diretamente do campo clientIPv4Address. |
destIp |
target.ip: destIpdestinationIPv4Address: destIp |
Valor extraído diretamente do campo destIp. |
destinationIPv4Address |
target.ip: destinationIPv4Address |
Valor extraído diretamente do campo destinationIPv4Address ou derivado do campo networkPrefix. |
destinationIPv6Address |
target.ip: destinationIPv6Address |
Valor extraído diretamente do campo destinationIPv6Address. |
destinationPort |
target.port: destinationPort |
Valor extraído diretamente do campo destinationPort e convertido em número inteiro. |
destinationTransportPort |
target.port: destinationTransportPort |
Valor extraído diretamente do campo destinationTransportPort e convertido em número inteiro. |
deviceKey |
about.resource.attribute.labels[].key: "deviceKey"about.resource.attribute.labels[].value: deviceKey |
Valor retirado diretamente do campo deviceKey, se não for "Desconhecido". |
deviceName |
about.resource.attribute.labels[].key: "deviceName"about.resource.attribute.labels[].value: deviceName |
Valor extraído diretamente do campo deviceName, se não for "Desconhecido". |
duration |
network.session_duration.seconds: duration |
Valor extraído diretamente do campo duration e convertido em número inteiro. |
egressInterfaceName |
additional.fields[].key: "egressInterfaceName"additional.fields[].value.string_value: egressInterfaceName |
Valor extraído diretamente do campo egressInterfaceName. |
event.type |
metadata.event_type: event.type |
Se applianceName (ou sourceIPv4Address ou user ou sourceIPv6Address) e destinationIPv4Address (ou remoteSite ou destinationIPv6Address ou clientIPv4Address ou hostname) estiverem presentes, NETWORK_CONNECTION. Caso contrário, STATUS_UPDATE. Se applianceName estiver vazio, GENERIC_EVENT. |
eventType |
principal.resource.attribute.labels[].key: "eventType"principal.resource.attribute.labels[].value: eventType |
Valor extraído diretamente do campo eventType. |
family |
security_result.detection_fields[].key: "family"security_result.detection_fields[].value: family |
Valor extraído diretamente do campo family. |
fc |
security_result.detection_fields[].key: "ForwardingClass"security_result.detection_fields[].value: fc |
Valor extraído diretamente do campo fc. |
fileTransDir |
additional.fields[].key: "fileTransDir"additional.fields[].value.string_value: fileTransDir |
Valor extraído diretamente do campo fileTransDir. |
filename |
target.file.names: filename |
Valor extraído diretamente do campo filename. |
flowCookie |
metadata.collected_timestamp: flowCookie |
Valor extraído diretamente do campo flowCookie e convertido em carimbo de data/hora usando o formato UNIX. |
flowId |
principal.resource.product_object_id: flowId |
Valor extraído diretamente do campo flowId. |
forwardForwardingClass |
security_result.detection_fields[].key: "forwardForwardingClass"security_result.detection_fields[].value: forwardForwardingClass |
Valor extraído diretamente do campo forwardForwardingClass. |
fromCountry |
principal.location.country_or_region: fromCountrytarget.location.country_or_region: fromCountry |
Valor extraído diretamente do campo fromCountry. |
fromUser |
principal.user.userid: fromUser |
Valor retirado diretamente do campo fromUser se não estiver vazio, "unknown" ou "Unknown". |
fromZone |
additional.fields[].key: "fromZone"additional.fields[].value.string_value: fromZone |
Valor extraído diretamente do campo fromZone. |
generateTime |
metadata.collected_timestamp: generateTime |
Valor extraído diretamente do campo generateTime e convertido em carimbo de data/hora usando o formato UNIX. |
hostname |
target.hostname: hostname |
Valor extraído diretamente do campo hostname. |
httpUrl |
target.url: httpUrl |
Valor extraído diretamente do campo httpUrl. |
icmpTypeIPv4 |
additional.fields[].key: "icmpTypeIPv4"additional.fields[].value.string_value: icmpTypeIPv4 |
Valor extraído diretamente do campo icmpTypeIPv4. |
idpAction |
security_result.action: idpAction |
Consulte action para ver a lógica. |
ingressInterfaceName |
additional.fields[].key: "ingressInterfaceName"additional.fields[].value.string_value: ingressInterfaceName |
Valor extraído diretamente do campo ingressInterfaceName. |
ipsApplication |
additional.fields[].key: "ipsApplication"additional.fields[].value.string_value: ipsApplication |
Valor extraído diretamente do campo ipsApplication. |
ipsDirection |
security_result.detection_fields[].key: "ipsDirection"security_result.detection_fields[].value: ipsDirection |
Valor extraído diretamente do campo ipsDirection. |
ipsProfile |
security_result.detection_fields[].key: "ipsProfile"security_result.detection_fields[].value: ipsProfile |
Valor extraído diretamente do campo ipsProfile. |
ipsProfileRule |
security_result.rule_name: ipsProfileRule |
Valor extraído diretamente do campo ipsProfileRule. |
ipsProtocol |
network.ip_protocol: ipsProtocol |
Valor extraído diretamente do campo ipsProtocol. |
log_type |
metadata.description: log_typemetadata.log_type: log_type |
Valor extraído diretamente do campo log_type. |
mstatsTimeBlock |
metadata.collected_timestamp: mstatsTimeBlock |
Valor extraído diretamente do campo mstatsTimeBlock e convertido em carimbo de data/hora usando o formato UNIX. |
mstatsTotRecvdOctets |
network.received_bytes: mstatsTotRecvdOctets |
Valor extraído diretamente do campo mstatsTotRecvdOctets e convertido em um número inteiro sem sinal. |
mstatsTotSentOctets |
network.sent_bytes: mstatsTotSentOctets |
Valor extraído diretamente do campo mstatsTotSentOctets e convertido em um número inteiro sem sinal. |
mstatsTotSessCount |
additional.fields[].key: "mstatsTotSessCount"additional.fields[].value.string_value: mstatsTotSessCount |
Valor extraído diretamente do campo mstatsTotSessCount. |
mstatsTotSessDuration |
network.session_duration.seconds: mstatsTotSessDuration |
Valor extraído diretamente do campo mstatsTotSessDuration e convertido em número inteiro. |
mstatsType |
security_result.category_details: mstatsType |
Valor extraído diretamente do campo mstatsType. |
networkPrefix |
target.ip: networkPrefixtarget.port: networkPrefix |
Endereço IP extraído do campo networkPrefix. Porta extraída do campo networkPrefix e convertida em número inteiro. |
protocolIdentifier |
network.ip_protocol: protocolIdentifier |
Valor extraído diretamente do campo protocolIdentifier, convertido em número inteiro e mapeado para o nome do protocolo IP usando uma pesquisa. |
recvdOctets |
network.received_bytes: recvdOctets |
Valor extraído diretamente do campo recvdOctets e convertido em um número inteiro sem sinal. |
recvdPackets |
network.received_packets: recvdPackets |
Valor extraído diretamente do campo recvdPackets e convertido em número inteiro. |
remoteSite |
target.hostname: remoteSite |
Valor extraído diretamente do campo remoteSite. |
reverseForwardingClass |
security_result.detection_fields[].key: "reverseForwardingClass"security_result.detection_fields[].value: reverseForwardingClass |
Valor extraído diretamente do campo reverseForwardingClass. |
risk |
security_result.risk_score: risk |
Valor extraído diretamente do campo risk e convertido em float. |
rule |
security_result.rule_name: rule |
Valor extraído diretamente do campo rule. |
sentOctets |
network.sent_bytes: sentOctets |
Valor extraído diretamente do campo sentOctets e convertido em um número inteiro sem sinal. |
sentPackets |
network.sent_packets: sentPackets |
Valor extraído diretamente do campo sentPackets e convertido em número inteiro. |
serialNum |
security_result.detection_fields[].key: "serialNum"security_result.detection_fields[].value: serialNum |
Valor extraído diretamente do campo serialNum. |
signatureId |
security_result.detection_fields[].key: "signatureID"security_result.detection_fields[].value: signatureId |
Valor extraído diretamente do campo signatureId. |
signatureMsg |
security_result.detection_fields[].key: "signatureMsg"security_result.detection_fields[].value: signatureMsg |
Valor extraído diretamente do campo signatureMsg. |
signaturePriority |
security_result.severity: signaturePriority |
Se signaturePriority for "low" (não diferencia maiúsculas de minúsculas), então LOW. Se signaturePriority for "médio" (não diferencia maiúsculas de minúsculas), então MEDIUM. Se signaturePriority for "alta" (não diferencia maiúsculas de minúsculas), então HIGH. |
site |
principal.hostname: siteapplianceName: site |
Valor extraído diretamente do campo site. |
siteId |
additional.fields[].key: "siteId"additional.fields[].value.string_value: siteId |
Valor extraído diretamente do campo siteId. |
siteName |
principal.hostname: siteNameapplianceName: siteName |
Valor extraído diretamente do campo siteName. |
sourceIPv4Address |
principal.ip: sourceIPv4Address |
Valor extraído diretamente do campo sourceIPv4Address. |
sourceIPv6Address |
principal.ip: sourceIPv6Address |
Valor extraído diretamente do campo sourceIPv6Address. |
sourcePort |
principal.port: sourcePort |
Valor extraído diretamente do campo sourcePort e convertido em número inteiro. |
sourceTransportPort |
principal.port: sourceTransportPort |
Valor extraído diretamente do campo sourceTransportPort e convertido em número inteiro. |
subFamily |
security_result.detection_fields[].key: "subFamily"security_result.detection_fields[].value: subFamily |
Valor extraído diretamente do campo subFamily. |
tcpConnAborted |
additional.fields[].key: "tcpConnAborted"additional.fields[].value.string_value: tcpConnAborted |
Valor extraído diretamente do campo tcpConnAborted se não estiver vazio ou for "0". |
tcpConnRefused |
additional.fields[].key: "tcpConnRefused"additional.fields[].value.string_value: tcpConnRefused |
Valor extraído diretamente do campo tcpConnRefused se não estiver vazio ou for "0". |
tcpPktsFwd |
network.sent_packets: tcpPktsFwd |
Valor extraído diretamente do campo tcpPktsFwd e convertido em número inteiro. |
tcpPktsRev |
network.received_packets: tcpPktsRev |
Valor extraído diretamente do campo tcpPktsRev e convertido em número inteiro. |
tcpReXmitFwd |
additional.fields[].key: "tcpReXmitFwd"additional.fields[].value.string_value: tcpReXmitFwd |
Valor extraído diretamente do campo tcpReXmitFwd se não estiver vazio ou for "0". |
tcpReXmitRev |
additional.fields[].key: "tcpReXmitRev"additional.fields[].value.string_value: tcpReXmitRev |
Valor extraído diretamente do campo tcpReXmitRev se não estiver vazio ou for "0". |
tcpSAA |
additional.fields[].key: "tcpSAA"additional.fields[].value.string_value: tcpSAA |
Valor extraído diretamente do campo tcpSAA se não estiver vazio ou for "0". |
tcpSSA |
additional.fields[].key: "tcpSSA"additional.fields[].value.string_value: tcpSSA |
Valor extraído diretamente do campo tcpSSA se não estiver vazio ou for "0". |
tcpSessCnt |
additional.fields[].key: "tcpSessCnt"additional.fields[].value.string_value: tcpSessCnt |
Valor extraído diretamente do campo tcpSessCnt. |
tcpSessDur |
network.session_duration.seconds: tcpSessDur |
Valor extraído diretamente do campo tcpSessDur e convertido em número inteiro. |
tcpSynAckReXmit |
additional.fields[].key: "tcpSynAckReXmit"additional.fields[].value.string_value: tcpSynAckReXmit |
Valor extraído diretamente do campo tcpSynAckReXmit se não estiver vazio ou for "0". |
tcpSynReXmit |
additional.fields[].key: "tcpSynReXmit"additional.fields[].value.string_value: tcpSynReXmit |
Valor extraído diretamente do campo tcpSynReXmit se não estiver vazio ou for "0". |
tcpTWHS |
additional.fields[].key: "tcpTWHS"additional.fields[].value.string_value: tcpTWHS |
Valor extraído diretamente do campo tcpTWHS se não estiver vazio ou for "0". |
tenantId |
principal.resource.attribute.labels[].key: "tenantId"principal.resource.attribute.labels[].value: tenantId |
Valor extraído diretamente do campo tenantId. |
tenantName |
observer.hostname: tenantName |
Valor extraído diretamente do campo tenantName. |
threatType |
security_result.detection_fields[].key: "threatType"security_result.detection_fields[].value: threatType |
Valor extraído diretamente do campo threatType. |
toCountry |
target.location.country_or_region: toCountry |
Valor extraído diretamente do campo toCountry. |
toZone |
additional.fields[].key: "toZone"additional.fields[].value.string_value: toZone |
Valor extraído diretamente do campo toZone. |
traffType |
additional.fields[].key: "traffType"additional.fields[].value.string_value: traffType |
Valor extraído diretamente do campo traffType. |
ts |
metadata.event_timestamp: ts |
Valor extraído diretamente do campo ts e convertido em carimbo de data/hora. |
type |
security_result.action: type |
Consulte action para ver a lógica. |
urlAction |
security_result.action: urlAction |
Consulte action para ver a lógica. |
urlActionMessage |
security_result.summary: urlActionMessage |
Valor extraído diretamente do campo urlActionMessage. |
urlCategory |
principal.resource.attribute.labels[].key: "urlCategory"principal.resource.attribute.labels[].value: urlCategory |
Valor extraído diretamente do campo urlCategory. |
urlProfile |
additional.fields[].key: "urlProfile"additional.fields[].value.string_value: urlProfile |
Valor extraído diretamente do campo urlProfile. |
urlReputation |
security_result.severity_details: urlReputation |
Valor extraído diretamente do campo urlReputation. |
user |
principal.ip: user |
Valor extraído diretamente do campo user. |
vsnId |
principal.resource.attribute.labels[].key: "vsnId"principal.resource.attribute.labels[].value: vsnId |
Valor extraído diretamente do campo vsnId. Valor fixado no código. Valor fixado no código. |
applianceName |
event.idm.read_only_udm.intermediary.hostname |
Mapeado do registro de alterações |
postNATSourceIPv4Address |
event.idm.read_only_udm.principal.nat_ip |
Mapeado do registro de alterações |
postNATDestinationIPv4Address |
event.idm.read_only_udm.target.nat_ip |
Mapeado do registro de alterações |
postNAPTsourceTransportPort |
event.idm.read_only_udm.principal.nat_port |
Mapeado do registro de alterações |
postNAPTdestinationTransportPort |
event.idm.read_only_udm.target.nat_port |
Mapeado do registro de alterações |
natRuleName |
event.idm.read_only_udm.security_result.rule_name |
Mapeado do registro de alterações |
natEvent |
event.idm.read_only_udm.metadata.product_event_type |
Mapeado do registro de alterações |
log_type |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
flowCookie |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
flowId |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
sourceNatPoolName |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
destNatPoolName |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
deviceKey |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
deviceName |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
observationTimeMilliseconds |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
threatSeverity |
event.idm.read_only_udm.security_result.detection_fields |
Mapeado do registro de alterações |
dnsfBadCname |
event.idm.read_only_udm.security_result.detection_fields |
Mapeado do registro de alterações |
dnsfEvType |
event.idm.read_only_udm.security_result.detection_fields |
Mapeado do registro de alterações |
dnsfDomain |
event.idm.read_only_udm.security_result.detection_fields |
Mapeado do registro de alterações |
dnsfMsgType |
event.idm.read_only_udm.security_result.detection_fields |
Mapeado do registro de alterações |
dnsfProfileName |
event.idm.read_only_udm.security_result.detection_fields |
Mapeado do registro de alterações |
dnsfIpReputation |
event.idm.read_only_udm.security_result.category_details |
Mapeado do registro de alterações |
dnsfAction |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
HitCount |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
groupId |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
signatureRev |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
packetTime |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
moduleId |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de mudanças |
dnsfBadResolvedV4Addr |
event.idm.read_only_udm.target.ip e event.idm.read_only_udm.target.asset.ip |
Mapeado do registro de mudanças |
dnsfIpGeoLocation |
event.idm.read_only_udm.target.location.country_or_region |
Mapeado do registro de alterações |
sourceIPv4Address |
event.idm.read_only_udm.metadata.description |
Mapeado do registro de alterações |
destinationIPv4Address |
event.idm.read_only_udm.metadata.description |
Mapeado do registro de alterações |
host |
event.idm.read_only_udm.target.hostname |
Mapeado do registro de alterações |
eipProfileName |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
traffScope |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
srcSGT |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
destSGT |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
ucsBand |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
ucsReason |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
urlLookupSrc |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
protocolInfo |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
ecsBand |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
ecsReason |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
appAuth |
event.idm.read_only_udm.additional.fields |
Mapeado do registro de alterações |
ucsScore |
event.idm.read_only_udm.security_result.detection_fields |
Mapeado do registro de alterações |
policyActionName |
event.idm.read_only_udm.security_result.detection_fields |
Mapeado do registro de alterações |
policyActionModule |
event.idm.read_only_udm.security_result.detection_fields |
Mapeado do registro de alterações |
ecsScore |
event.idm.read_only_udm.security_result.detection_fields |
Mapeado do registro de alterações |
applianceId |
event.idm.read_only_udm.intermediary.asset.product_object_id |
Mapeado do registro de alterações |
inter_hostname |
event.idm.ready_only_udm.intermediary.hostname |
Mapeado do registro de mudanças |
Registro de alterações
Confira o registro de alterações deste analisador
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.