Coletar registros do Cisco Meraki
Este documento explica como ingerir registros do Cisco Meraki no Google Security Operations usando o Bindplane.
O analisador extrai campos do syslog do Cisco Meraki e registros formatados em JSON. Ele usa grok e/ou análise JSON para processar a mensagem de registro e mapeia esses valores para o Modelo Unificado de Dados (UDM, na sigla em inglês). Ele também define valores de metadados padrão para a origem e o tipo do evento.
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 Linux com
systemd - Se você estiver executando por trás de um proxy, verifique se as portas do firewall estão abertas de acordo com os requisitos do agente Bindplane.
- Acesso privilegiado ao painel do Cisco Meraki
Receber o arquivo de autenticação de ingestão do Google SecOps
- Faça login no console do Google SecOps.
- Acesse Configurações do SIEM > Agentes de coleta.
- Baixe o arquivo de autenticação de ingestão. Salve o arquivo de forma segura no sistema em que o 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 do cliente na seção Detalhes da organização.
Instalar o agente do Bindplane
Instale o agente do Bindplane no 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-collector
O serviço vai aparecer como EM EXECUÇÃO.
Instalação do Linux
- Abra um terminal com privilégios de root 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-collector
O serviço vai aparecer como ativo (em execução).
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 /etc/bindplane-agent/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: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: compression: gzip creds_file_path: '/path/to/ingestion-authentication-file.json' customer_id: 'YOUR_CUSTOMER_ID' endpoint: malachiteingestion-pa.googleapis.com log_type: 'CISCO_MERAKI' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels
Parâmetros de configuração
Substitua os seguintes marcadores de posição:
Configuração do receptor:
udplog: useudplogpara syslog UDP outcplogpara syslog TCP.0.0.0.0: endereço IP para escutar (0.0.0.0para escutar em todas as interfaces)514: número da porta a ser detectada (porta syslog padrão).
Configuração do exportador:
creds_file_path: caminho completo para o arquivo de autenticação de ingestão:- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
YOUR_CUSTOMER_ID: ID do cliente da seção "Receber ID do cliente"endpoint: URL do endpoint regional:- EUA:
malachiteingestion-pa.googleapis.com - Europa:
europe-malachiteingestion-pa.googleapis.com - Ásia:
asia-southeast1-malachiteingestion-pa.googleapis.com - Consulte a lista completa em Endpoints regionais.
- EUA:
log_type: tipo de registro exatamente como aparece no Chronicle (CISCO_MERAKI)
Salve 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 em 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 encaminhamento de syslog no Cisco Meraki
- Faça login no painel do Cisco Meraki em
https://dashboard.meraki.com. - Selecione a Rede de destino no menu suspenso.
- Acesse Em toda a rede > Geral.
- Acesse a seção Relatórios.
- Localize Servidores Syslog e clique em Adicionar um servidor Syslog.
- Informe os seguintes detalhes de configuração:
- IP do servidor: insira o endereço IP do host do agente do Bindplane.
- Porta: insira
514. - Funções: selecione os tipos de registros a serem encaminhados:
- Fluxos: dados de fluxo de rede
- URLs: registros de acesso a URLs
- Eventos de segurança: alertas do SDI/IPS
- Registro de eventos do dispositivo: eventos do dispositivo MX
- Eventos do Air Marshal: detecção de ameaças sem fio
- Alertas de IDS: alertas do sistema de detecção de intrusões
- Clique em Salvar.
- Verifique se as mensagens syslog estão sendo enviadas conferindo os registros do agente Bindplane.
Tabela de mapeamento do UDM
| Campo de registro | Mapeamento do UDM | Lógica |
|---|---|---|
| ação | security_result.action | O valor é convertido em letras maiúsculas. Se o valor for "deny", ele será substituído por "BLOCK". Se sc_action contiver "allow", o valor será substituído por "ALLOW". Caso contrário, se a decisão contiver "block", o valor será substituído por "BLOCK". Caso contrário, se a autorização for "success", ela será definida como "ALLOW". Se for "failure", será definida como "BLOCK". Caso contrário, se o padrão for "1 all", "deny all" ou "Group Policy Deny", ele será definido como "BLOCK". Se o padrão for "permitir tudo", "Permitir política de grupo" ou "0 tudo", ele será definido como "ALLOW". Caso contrário, será definido como "UNKNOWN_ACTION". Se a decisão contiver "block", ela será definida como "BLOCK". |
| adId | principal.user.user_display_name | Mapeado diretamente do campo "adId" nos registros JSON. |
| agente | network.http.user_agent | Os apóstrofos são removidos. Mapeado diretamente do campo "agent". Também convertido para network.http.parsed_user_agent usando o filtro parseduseragent. |
| auxílio | network.session_id | Mapeado diretamente do campo "aid". |
| appProtocol | network.application_protocol | Convertido para letras maiúsculas. Mapeado diretamente do campo "appProtocol". |
| attr | additional.fields | Adicionado como um par de chave-valor à matriz "additional.fields" com a chave "attr". |
| autorização | security_result.action_details | Mapeado diretamente do campo de autorização nos registros JSON. |
| banda | additional.fields | Adicionado como um par de chave-valor à matriz "additional.fields" com a chave "band". |
| bssids.bssid | principal.mac | Convertido para letras minúsculas. Mesclado na matriz "principal.mac". |
| bssids.detectedBy.device | intermediary.asset.asset_id | Formatado como "ID do dispositivo: ". |
| bssids.detectedBy.rssi | intermediary.asset.product_object_id | Convertido em uma string. |
| Canal | about.resource.attribute.labels | Adicionado como um par de chave-valor à matriz "about.resource.attribute.labels" com a chave "Channel". |
| clientDescription | additional.fields | Adicionado como um par de chave-valor à matriz "additional.fields" com a chave "clientDescription". |
| clientId | additional.fields | Adicionado como um par de chave-valor à matriz "additional.fields" com a chave "clientId". |
| clientIp | principal.ip, principal.asset.ip | Mapeado diretamente do campo "clientIp". |
| clientMac | principal.mac | Convertido para letras minúsculas. Mapeado diretamente do campo "clientMac" nos registros JSON. |
| client_ip | principal.ip, principal.asset.ip | Mapeado diretamente do campo "client_ip". |
| client_mac | principal.mac | Convertido para letras minúsculas. Mapeado diretamente do campo "client_mac". |
| código | additional.fields | Adicionado como um par de chave-valor à matriz "additional.fields" com a chave "code". |
| collection_time | metadata.event_timestamp | Os campos "seconds" e "nanos" são combinados para criar um carimbo de data/hora. |
| Condições | security_result.about.resource.attribute.labels | Retornos de carro, novas linhas e tabulações são substituídos por espaços, e valores específicos são substituídos. O valor modificado é adicionado como um par de chave-valor à matriz security_result.about.resource.attribute.labels com a chave "Condições". |
| decisão | security_result.action | Se o valor for "blocked", ele será definido como "BLOCK". |
| desc | metadata.description | Mapeado diretamente do campo "desc". |
| descrição | security_result.description | Mapeado diretamente do campo "description" nos registros JSON. |
| DestAddress | target.ip, target.asset.ip | Mapeado diretamente do campo "DestAddress". |
| DestPort | target.port | Convertido em um número inteiro. Mapeado diretamente do campo "DestPort". |
| deviceIp | target.ip | Mapeado diretamente do campo "deviceIp". |
| deviceMac | target.mac | Convertido para letras minúsculas. Mapeado diretamente do campo "deviceMac". |
| deviceName | target.hostname, target.asset.hostname | Mapeado diretamente do campo "deviceName" nos registros JSON. |
| deviceSerial | target.asset.hardware.serial_number | Mapeado diretamente do campo "deviceSerial" nos registros JSON. |
| Direção | network.direction | Os caracteres especiais são removidos, e o valor é mapeado para "network.direction". |
| DisabledPrivilegeList | target.user.attribute | Retornos de carro, novas linhas e tabulações são substituídos, e o valor modificado é analisado como JSON e mesclado ao objeto target.user.attribute. |
| dport | target.port | Convertido em um número inteiro. Mapeado diretamente do campo "dport". |
| dst | target.ip, target.asset.ip | Mapeado diretamente do campo "dst". |
| dstIp | target.ip, target.asset.ip | Mapeado diretamente do campo "dstIp". |
| dstPort | target.port | Convertido em um número inteiro. Mapeado diretamente do campo "dstPort". |
| dvc | intermediary.hostname | Mapeado diretamente do campo "dvc". |
| EnabledPrivilegeList | target.user.attribute | Retornos de carro, novas linhas e tabulações são substituídos, e o valor modificado é analisado como JSON e mesclado ao objeto target.user.attribute. |
| eventData.aid | principal.asset_id | Formatado como "ASSET_ID:". |
| eventData.client_ip | principal.ip, principal.asset.ip | Mapeado diretamente do campo "eventData.client_ip" nos registros JSON. |
| eventData.client_mac | principal.mac | Convertido para letras minúsculas. Mapeado diretamente do campo "eventData.client_mac" nos registros JSON. |
| eventData.group | principal.group.group_display_name | Mapeado diretamente do campo "eventData.group" nos registros JSON. |
| eventData.identity | principal.hostname | Mapeado diretamente do campo "eventData.identity" nos registros JSON. |
| eventData.ip | principal.ip, principal.asset.ip | Mapeado diretamente do campo "eventData.ip" nos registros JSON. |
| EventID | metadata.product_event_type, security_result.rule_name | Convertido em uma string. Mapeado para "metadata.product_event_type". Também usado para criar security_result.rule_name no formato "EventID: ". Usado para determinar event_type e sec_action. |
| eventSummary | security_result.summary, metadata.description | Mapeado diretamente do campo "eventSummary". Também usado em "security_result.description" para alguns eventos. |
| eventType | metadata.product_event_type | Mapeado diretamente do campo "eventType". Usado para determinar qual lógica de análise aplicar. |
| filename | principal.process.file.full_path | Mapeado diretamente do campo "filename". |
| FilterId | target.resource.product_object_id | Mapeado diretamente do campo "FilterId" para "EventID 5447". |
| FilterName | target.resource.name | Mapeado diretamente do campo "FilterName" para EventID 5447. |
| FilterRTID | security_result.detection_fields | Adicionado como um par de chave-valor à matriz security_result.detection_fields com a chave "FilterRTID". |
| firstSeen | security_result.detection_fields | Convertido em uma string. Adicionado como um par de chave-valor à matriz security_result.detection_fields com a chave "firstSeen". |
| gatewayDeviceMac | target.mac | Convertido para letras minúsculas. Mesclado na matriz target.mac. |
| grupo | additional.fields | Adicionado como um par de chave-valor à matriz "additional.fields" com a chave "group". |
| GroupMembership | target.user | Retornos de carro, novas linhas, tabulações e caracteres especiais são removidos. O valor modificado é analisado como JSON e mesclado ao objeto target.user. |
| Nome do host | principal.hostname, principal.asset.hostname | Mapeado diretamente do campo "Nome do host". |
| nível empresarial | target.user.userid | Mapeado diretamente do campo de identidade. |
| instigador | additional.fields | Adicionado como um par de chave-valor à matriz "additional.fields" com a chave "instigator". |
| int_ip | intermediary.ip | Mapeado diretamente do campo "int_ip". |
| ip_msg | principal.resource.attribute.labels | Adicionado como um par de chave-valor à matriz "principal.resource.attribute.labels" com a chave "IPs". |
| is_8021x | additional.fields | Adicionado como um par de chave-valor à matriz "additional.fields" com a chave "is_8021x". |
| KeyName | target.resource.name | Mapeado diretamente do campo "KeyName". |
| KeyFilePath | target.file.full_path | Mapeado diretamente do campo "KeyFilePath". |
| lastSeen | security_result.detection_fields | Convertido em uma string. Adicionado como um par de chave-valor à matriz security_result.detection_fields com a chave "lastSeen". |
| last_known_client_ip | principal.ip, principal.asset.ip | Mapeado diretamente do campo "last_known_client_ip". |
| LayerName | security_result.detection_fields | Adicionado como um par de chave-valor à matriz security_result.detection_fields com a chave "Nome da camada". |
| LayerRTID | security_result.detection_fields | Adicionado como um par de chave-valor à matriz security_result.detection_fields com a chave "LayerRTID". |
| localIp | principal.ip, principal.asset.ip | Mapeado diretamente do campo "localIp". |
| login | principal.user.email_addresses | Mapeado diretamente do campo "login" nos registros JSON se corresponder a um formato de endereço de e-mail. |
| LogonGuid | additional.fields | Adicionado como um par de chave-valor à matriz "additional.fields" com a chave "LogonGuid". |
| LogonType | extensions.auth.mechanism | Mapeado para um mecanismo de autenticação específico com base no valor dele. Se PreAuthType estiver presente, ele vai substituir LogonType. Os valores são mapeados da seguinte forma: 2 -> USERNAME_PASSWORD, 3 -> NETWORK, 4 -> BATCH, 5 -> SERVICE, 7 -> UNLOCK, 8 -> NETWORK_CLEAR_TEXT, 9 -> NEW_CREDENTIALS, 10 -> REMOTE_INTERACTIVE, 11 -> CACHED_INTERACTIVE, 12 -> CACHED_REMOTE_INTERACTIVE, 13 -> CACHED_UNLOCK, outro -> MECHANISM_UNSPECIFIED. |
| mac | principal.mac | Convertido para letras minúsculas. Mesclado na matriz "principal.mac". |
| MandatoryLabel | additional.fields | Adicionado como um par de chave-valor à matriz "additional.fields" com a chave "MandatoryLabel". |
| Mensagem | security_result.description, security_result.summary | Se "AccessReason" estiver presente, "Message" será mapeado para "security_result.summary", e "AccessReason" será mapeado para "security_result.description". Caso contrário, "Message" será mapeado para "security_result.description". |
| método | network.http.method | Mapeado diretamente do campo "method". |
| msg | security_result.description | Mapeado diretamente do campo "msg". |
| nome | principal.user.user_display_name | Mapeado diretamente do campo "name" nos registros JSON. |
| natsrcIp | principal.nat_ip | Mapeado diretamente do campo "natsrcIp". |
| natsrcport | principal.nat_port | Convertido em um número inteiro. Mapeado diretamente do campo "natsrcport". |
| network_id | additional.fields | Adicionado como um par de chave-valor à matriz "additional.fields" com a chave "Network ID". |
| NewProcessId | target.process.pid | Mapeado diretamente do campo "NewProcessId". |
| NewProcessName | target.process.file.full_path | Mapeado diretamente do campo "NewProcessName". |
| NewSd | target.resource.attribute.labels | Adicionado como um par de chave-valor à matriz target.resource.attribute.labels com a chave "New Security Descriptor". |
| occurredAt | metadata.event_timestamp | Analisado como um carimbo de data/hora usando o formato ISO8601. |
| ObjectName | target.file.full_path, target.registry.registry_key, target.process.file.full_path, additional.fields | Se EventID for 4663 e ObjectType for "Process", ele será mapeado para target.process.file.full_path. Se ObjectType for "Key", ele será mapeado para target.registry.registry_key. Caso contrário, ele será mapeado para target.file.full_path. Para outros eventos, ele é adicionado como um par de chave-valor à matriz "additional.fields" com a chave "ObjectName". |
| ObjectType | additional.fields | Adicionado como um par de chave-valor à matriz "additional.fields" com a chave "ObjectType". Usado para determinar o event_type. |
| OldSd | target.resource.attribute.labels | Adicionado como um par de chave-valor à matriz target.resource.attribute.labels com a chave "Original Security Descriptor". |
| organizationId | principal.resource.id | Mapeado diretamente do campo "organizationId" nos registros JSON. |
| ParentProcessName | target.process.parent_process.file.full_path | Mapeado diretamente do campo "ParentProcessName". |
| padrão | security_result.description | Mapeado diretamente para security_result.description. Usado para determinar "security_result.action". |
| peer_ident | target.user.userid | Mapeado diretamente do campo "peer_ident". |
| PreAuthType | extensions.auth.mechanism | Usado para determinar o mecanismo de autenticação, se houver. Substitui LogonType. |
| principalIp | principal.ip, principal.asset.ip | Mapeado diretamente do campo "principalIp". |
| principalMac | principal.mac | Convertido para letras minúsculas. Mesclado na matriz "principal.mac". |
| principalPort | principal.port | Convertido em um número inteiro. Mapeado diretamente do campo "principalPort". |
| prin_ip2 | principal.ip, principal.asset.ip | Mapeado diretamente do campo "prin_ip2". |
| prin_url | principal.url | Mapeado diretamente do campo "prin_url". |
| prioridade | security_result.priority | Mapeado para um nível de prioridade com base no valor: 1 -> HIGH_PRIORITY, 2 -> MEDIUM_PRIORITY, 3 -> LOW_PRIORITY, outro -> UNKNOWN_PRIORITY. |
| ProcessID | principal.process.pid | Convertido em uma string. Mapeado diretamente do campo "ProcessID". |
| ProcessName | principal.process.file.full_path, target.process.file.full_path | Se EventID for 4689, ele será mapeado para target.process.file.full_path. Caso contrário, ele será mapeado para "principal.process.file.full_path". |
| prod_log_id | metadata.product_log_id | Mapeado diretamente do campo "prod_log_id". |
| protocolo | network.ip_protocol | Convertido para letras maiúsculas. Se for um número, ele será convertido no nome do protocolo IP correspondente. Se for "ICMP6", ele será substituído por "ICMP". Mapeado diretamente do campo "protocol". |
| ProviderGuid | metadata.product_deployment_id | Mapeado diretamente do campo "ProviderGuid". |
| consulta | network.dns.questions.name | Mapeado diretamente do campo "query". |
| query_type | network.dns.questions.type | Renomeado para "question.type" e mesclado na matriz "network.dns.questions". Mapeado para um valor numérico com base no tipo de consulta DHCP. |
| rádio | additional.fields | Adicionado como um par de chave-valor à matriz "additional.fields" com a chave "radio". |
| reason | additional.fields | Adicionado como um par de chave-valor à matriz "additional.fields" com a chave "reason". |
| rec_bytes | network.received_bytes | Convertido para um número inteiro sem sinal. Mapeado diretamente do campo "rec_bytes". |
| RecordNumber | metadata.product_log_id | Convertido em uma string. Mapeado diretamente do campo "RecordNumber". |
| RelativeTargetName | target.process.file.full_path | Mapeado diretamente do campo "RelativeTargetName". |
| response_ip | principal.ip, principal.asset.ip | Mapeado diretamente do campo "response_ip". |
| rssi | intermediary.asset.product_object_id | Mapeado diretamente do campo "rssi". |
| sc_action | security_result.action_details | Mapeado diretamente do campo "sc_action". |
| sec_action | security_result.action | Unido à matriz security_result.action. |
| server_ip | client_ip | Mapeado diretamente para o campo "client_ip". |
| Gravidade | security_result.severity | Mapeado para um nível de gravidade com base no valor: "Info" -> INFORMATIONAL, "Error" -> ERROR, "Warning" -> MEDIUM, other -> UNKNOWN_SEVERITY. |
| sha256 | target.file.sha256 | Mapeado diretamente do campo "sha256". |
| signature | additional.fields | Adicionado como um par de chave-valor à matriz "additional.fields" com a chave "signature". |
| SourceAddress | principal.ip, principal.asset.ip | Mapeado diretamente do campo "SourceAddress". |
| SourceHandleId | src.resource.id | Mapeado diretamente do campo "SourceHandleId". |
| SourceModuleName | observer.labels | Adicionado como um par de chave-valor à matriz observer.labels com a chave "SourceModuleName". |
| SourceModuleType | observer.application | Mapeado diretamente do campo "SourceModuleType". |
| SourcePort | principal.port | Convertido em um número inteiro. Mapeado diretamente do campo "SourcePort". |
| SourceProcessId | src.process.pid | Mapeado diretamente do campo "SourceProcessId". |
| source_client_ip | client_ip | Mapeado diretamente para o campo "client_ip". |
| esporte | principal.port | Convertido em um número inteiro. Mapeado diretamente do campo "sport". |
| src | principal.ip, principal.asset.ip | Mapeado diretamente do campo "src". |
| ssid | network.session_id | Mapeado diretamente do campo "ssid" nos registros JSON. |
| ssidName | additional.fields | Adicionado como um par de chave-valor à matriz "additional.fields" com a chave "ssidName". |
| estado | additional.fields | Adicionado como um par de chave-valor à matriz "additional.fields" com a chave "state". |
| Status | additional.fields | Adicionado como um par de chave-valor à matriz "additional.fields" com a chave "Status". |
| status_code | network.http.response_code | Convertido em um número inteiro. Mapeado diretamente do campo "status_code". |
| SubjectDomainName | principal.administrative_domain | Mapeado diretamente do campo "SubjectDomainName". |
| SubjectLogonId | principal.resource.attribute.labels | Adicionado como um par de chave-valor à matriz principal.resource.attribute.labels com a chave "SubjectLogonId". |
| SubjectUserName | principal.user.userid | Mapeado diretamente do campo "SubjectUserName". |
| SubjectUserSid | principal.user.windows_sid | Mapeado diretamente do campo "SubjectUserSid". |
| targetHost | target.hostname, target.asset.hostname | Convertido em um endereço IP, se possível. Caso contrário, será analisado para extrair o nome do host e mapeado para target.hostname e target.asset.hostname. |
| TargetHandleId | target.resource.id | Mapeado diretamente do campo "TargetHandleId". |
| TargetLogonId | principal.resource.attribute.labels | Adicionado como um par de chave-valor à matriz principal.resource.attribute.labels com a chave "TargetLogonId" se for diferente de SubjectLogonId. |
| TargetProcessId | target.process.pid | Mapeado diretamente do campo "TargetProcessId". |
| TargetUserName | target.user.userid | Mapeado diretamente do campo "TargetUserName". |
| TargetUserSid | target.user.windows_sid | Mapeado diretamente do campo "TargetUserSid". |
| Tarefa | additional.fields | Convertido em uma string. Adicionado como um par de chave-valor à matriz "additional.fields" com a chave "Task". |
| timestamp | metadata.event_timestamp | O campo "seconds" é usado para criar um carimbo de data/hora. |
| ts | metadata.event_timestamp | Se ts estiver vazio, ele será criado combinando tsDate, tsTime e tsTZ. Se ele contiver "", será analisado para extrair o valor inteiro. Em seguida, ele é analisado como um carimbo de data/hora usando vários formatos. |
| tipo | security_result.summary, metadata.product_event_type | Mapeado diretamente do campo "type" nos registros JSON. Também usado como eventSummary e metadata.product_event_type em alguns casos. |
| url | target.url, principal.url | Mapeado diretamente do campo "url". |
| url1 | target.url | Mapeado diretamente do campo "url1". |
| usuário | target.user.group_identifiers | Mesclado na matriz "target.user.group_identifiers". |
| user_id | target.user.userid | Mapeado diretamente do campo "user_id". |
| UserID | principal.user.windows_sid | Mapeado diretamente do campo "UserID". |
| Nome de usuário | principal.user.userid | Mapeado diretamente do campo "UserName". |
| user_agent | network.http.user_agent | Mapeado diretamente do campo "user_agent". |
| userId | target.user.userid | Mapeado diretamente do campo "userId". |
| vap | additional.fields | Adicionado como um par de chave-valor à matriz "additional.fields" com a chave "vap". |
| VirtualAccount | security_result.about.labels | Adicionado como um par de chave-valor à matriz security_result.about.labels com a chave "VirtualAccount". |
| wiredLastSeen | security_result.detection_fields | Convertido em uma string. Adicionado como um par de chave-valor à matriz security_result.detection_fields com a chave "wiredLastSeen". |
| wiredMacs | intermediary.mac | Convertido para letras minúsculas. Mesclado na matriz "intermediary.mac". |
| WorkstationName | principal.hostname, principal.asset.hostname | Mapeado diretamente do campo "WorkstationName". |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.