Recolha registos do Tanium Stream
Este documento explica como carregar registos do Tanium Stream para o Google Security Operations através da funcionalidade de exportação nativa do AWS S3 do Tanium Connect. O Tanium Stream fornece telemetria de pontos finais em tempo real, dados de deteção de ameaças e estatísticas comportamentais no formato JSON, que podem ser exportados diretamente para o S3 através do Tanium Connect sem necessitar de funções Lambda personalizadas. O analisador transforma os registos JSON não processados do Tanium Stream num modelo de dados unificado (UDM). Primeiro, normaliza os campos comuns e, em seguida, aplica uma lógica específica com base no "logType" ou "eventType" para mapear informações relevantes nos campos da UDM adequados, processando vários tipos de eventos, como ligações de rede, inícios de sessão de utilizadores, lançamentos de processos e modificações de ficheiros.
Antes de começar
Certifique-se de que tem os seguintes pré-requisitos:
- Uma instância do Google SecOps
- Tanium Core Platform 7.0 ou posterior
- Módulo Tanium Stream instalado e configurado
- Módulo Tanium Connect instalado com uma licença válida
- Tanium Threat Response 3.4.346 ou posterior (se usar a integração TR)
- Acesso privilegiado à consola do Tanium com direitos administrativos
- Acesso privilegiado à AWS (S3, IAM)
Configure a conta de serviço do Tanium Stream
- Inicie sessão na Tanium Console.
- Aceda a Módulos > Stream.
- Clique em Definições na parte superior direita.
- Na secção Conta de serviço, configure o seguinte:
- Utilizador da conta de serviço: selecione um utilizador com as autorizações do Stream adequadas.
- Verifique se a conta tem o privilégio da função de utilizador de ligação.
- Confirme o acesso às origens de dados e aos pontos finais de streams.
- Clique em Guardar para aplicar a configuração da conta de serviço.
Recolha os pré-requisitos do Tanium Stream
- Inicie sessão na consola do Tanium como administrador.
- Aceda a Administração > Autorizações > Utilizadores.
- Crie ou identifique um utilizador da conta de serviço com as seguintes funções:
- Função de administrador de streams ou utilizador só de leitura de streams.
- Privilégio da função Utilizador associado.
- Acesso a grupos de computadores monitorizados (recomendado: grupo Todos os computadores).
- Autorização Ler pergunta guardada para conjuntos de conteúdo de stream.
Configure o contentor do AWS S3 e o IAM para o Google SecOps
- Crie um contentor do Amazon S3 seguindo este manual do utilizador: Criar um contentor
- Guarde o nome e a região do contentor para referência futura (por exemplo,
tanium-stream-logs
). - Crie um utilizador seguindo este guia do utilizador: Criar um utilizador do IAM.
- Selecione o utilizador criado.
- Selecione o separador Credenciais de segurança.
- Clique em Criar chave de acesso na secção Chaves de acesso.
- Selecione Serviço de terceiros como o Exemplo de utilização.
- Clicar em Seguinte.
- Opcional: adicione uma etiqueta de descrição.
- Clique em Criar chave de acesso.
- Clique em Transferir ficheiro CSV para guardar a chave de acesso e a chave de acesso secreta para utilização posterior.
- Clique em Concluído.
- Selecione o separador Autorizações.
- Clique em Adicionar autorizações na secção Políticas de autorizações.
- Selecione Adicionar autorizações.
- Selecione Anexar políticas diretamente
- Pesquise e selecione a política AmazonS3FullAccess.
- Clicar em Seguinte.
- Clique em Adicionar autorizações.
Configure o destino do AWS S3 do Tanium Connect
- Inicie sessão na Tanium Console.
- Aceda a Módulos > Ligar.
- Clique em Criar associação.
- Indique os seguintes detalhes de configuração:
- Nome: introduza um nome descritivo (por exemplo,
Stream Telemetry to S3 for SecOps
). - Descrição: descrição opcional (por exemplo,
Export endpoint telemetry and threat hunting data to AWS S3 for Google SecOps ingestion
). - Ativar: selecione esta opção para ativar a execução da associação de acordo com um horário.
- Nome: introduza um nome descritivo (por exemplo,
- Clicar em Seguinte.
Configure a origem da associação
- Na secção Origem, faculte os seguintes detalhes de configuração:
- Tipo de origem: selecione Pergunta guardada.
- Pergunta guardada: selecione uma das seguintes perguntas guardadas relacionadas com o stream:
- Stream - Endpoint Events para telemetria de pontos finais em tempo real.
- Stream - Eventos de rede para monitorização da atividade de rede.
- Stream - Process Events para o acompanhamento da execução de processos.
- Stream - File Events para atividade do sistema de ficheiros.
- Stream - Threat Hunting Data para análise comportamental.
- Grupo de computadores: selecione Todos os computadores ou grupos de computadores específicos para monitorizar.
- Intervalo de atualização: defina o intervalo adequado para a recolha de dados (por exemplo, 5 minutos para telemetria em tempo real).
- Clicar em Seguinte.
Configure o destino do AWS S3
- Na secção Destino, faculte os seguintes detalhes de configuração:
- Tipo de destino: selecione AWS S3.
- Nome do destino: introduza um nome exclusivo (por exemplo,
Google SecOps Stream S3 Destination
). - Chave de acesso da AWS: introduza a chave de acesso da AWS a partir do ficheiro CSV transferido no passo de configuração do AWS S3.
- Chave de acesso secreta da AWS: introduza a chave de acesso secreta da AWS a partir do ficheiro CSV transferido no passo de configuração do AWS S3.
- Nome do contentor: introduza o nome do contentor do S3 (por exemplo,
tanium-stream-logs
). - Região: selecione a região da AWS onde o seu contentor do S3 está localizado.
- Prefixo da chave: introduza um prefixo para os objetos S3 (por exemplo,
tanium/stream/
).
- Clicar em Seguinte.
Configure filtros
- Na secção Filtros, configure as opções de filtragem de dados:
- Enviar apenas novos itens: selecione esta opção para enviar apenas novos dados de telemetria desde a última exportação.
- Filtros de colunas: adicione filtros com base em atributos de eventos específicos, se necessário (por exemplo, filtre por tipo de evento, nome do processo ou indicadores de ameaças).
- Clicar em Seguinte.
Formate os dados para o AWS S3
- Na secção Formato, configure o formato de dados:
- Formato: selecione JSON.
- Opções:
- Incluir cabeçalhos: desmarque esta opção para evitar cabeçalhos no resultado JSON.
- Incluir células vazias: selecione com base na sua preferência.
- Opções avançadas:
- Nomenclatura de ficheiros: use a nomenclatura predefinida baseada na data/hora.
- Compressão: selecione Gzip para reduzir os custos de armazenamento e o tempo de transferência.
- Clicar em Seguinte.
Agende a associação
- Na secção Programação, configure a programação de exportação:
- Ativar agendamento: selecione esta opção para ativar as exportações agendadas automáticas.
- Tipo de programação: selecione Recorrente.
- Frequência: selecione A cada 5 minutos para dados de telemetria quase em tempo real.
- Hora de início: defina a hora de início adequada para a primeira exportação.
- Clicar em Seguinte.
Guarde e valide a associação
- Reveja a configuração da associação no ecrã de resumo.
- Clique em Guardar para criar a associação.
- Clique em Testar associação para validar a configuração.
- Se o teste for bem-sucedido, clique em Executar agora para fazer uma exportação inicial.
- Monitorize o estado da ligação na página Vista geral do Connect.
Configure um feed no Google SecOps para carregar registos do Tanium Stream
- Aceda a Definições do SIEM > Feeds.
- Clique em + Adicionar novo feed.
- No campo Nome do feed, introduza um nome para o feed (por exemplo,
Tanium Stream logs
). - Selecione Amazon S3 V2 como o Tipo de origem.
- Selecione Tanium Stream como o Tipo de registo.
- Clicar em Seguinte.
- Especifique valores para os seguintes parâmetros de entrada:
- URI do S3:
s3://tanium-stream-logs/tanium/stream/
- Opções de eliminação de origens: selecione a opção de eliminação de acordo com a sua preferência.
- Idade máxima do ficheiro: inclua ficheiros modificados no último número de dias. A predefinição é 180 dias.
- ID da chave de acesso: chave de acesso do utilizador com acesso ao contentor do S3.
- Chave de acesso secreta: chave secreta do utilizador com acesso ao contentor do S3.
- Espaço de nomes do recurso: o espaço de nomes do recurso.
- Etiquetas de carregamento: a etiqueta aplicada aos eventos deste feed.
- URI do S3:
- Clicar em Seguinte.
- Reveja a nova configuração do feed no ecrã Finalizar e, de seguida, clique em Enviar.
Tabela de mapeamento da UDM
Campo de registo | Mapeamento do UDM | Lógica |
---|---|---|
additional.event__AlgorithmName | additional.fields.key: eventAlgorithmName additional.fields.value.string_value: %{additional.eventAlgorithmName} |
Valor retirado diretamente do campo de registo não processado additional.event__AlgorithmName . |
additional.event__AuthenticationPackageName | target.resource.name: %{additional.event__AuthenticationPackageName} | Valor retirado diretamente do campo de registo não processado additional.event__AuthenticationPackageName . |
additional.event__CallerProcessId | principal.process.pid: %{additional.event__CallerProcessId} | Valor retirado diretamente do campo de registo não processado additional.event__CallerProcessId . |
additional.event__CallerProcessName | principal.process.file.fullpath: %{additional.event_CallerProcessName} | Valor retirado diretamente do campo de registo não processado additional.event__CallerProcessName . |
additional.event__ClientProcessId | principal.process.pid: %{additional.event__ClientProcessId} | Valor retirado diretamente do campo de registo não processado additional.event__ClientProcessId . |
additional.event__ClientProcessStartKey | additional.fields.key: eventClientProcessStartKey additional.fields.value.string_value: %{additional.eventClientProcessStartKey} |
Valor retirado diretamente do campo de registo não processado additional.event__ClientProcessStartKey . |
additional.event__CommandLine | target.process.commandline: %{additional.event_CommandLine} | Valor retirado diretamente do campo de registo não processado additional.event__CommandLine . |
additional.event__ElevatedToken | additional.fields.key: event__ElevatedToken additional.fields.value.string_value: Yes/No |
Valor retirado diretamente do campo de registo não processado additional.event__ElevatedToken .Se o valor for "%%1842", é substituído por "Sim". Se o valor for "%%1843", é substituído por "Não". |
additional.event__FQDN | principal.hostname: %{additional.event__FQDN} | Valor retirado diretamente do campo de registo não processado additional.event__FQDN . |
additional.event__FailureReason | additional.fields.key: eventFailureReason additional.fields.value.string_value: %{additional.eventFailureReason} |
Valor retirado diretamente do campo de registo não processado additional.event__FailureReason . |
additional.event__ImpersonationLevel | additional.fields.key: eventImpersonationLevel additional.fields.value.string_value: %{additional.eventImpersonationLevel} |
Valor retirado diretamente do campo de registo não processado additional.event__ImpersonationLevel . |
additional.event__IpAddress | target.ip: %{additional.event__IpAddress} | Valor retirado diretamente do campo de registo não processado additional.event__IpAddress . |
additional.event__IpPort | target.port: %{additional.event__IpPort} | Valor retirado diretamente do campo de registo não processado additional.event__IpPort e convertido num número inteiro. |
additional.event__KeyLength | additional.fields.key: eventKeyLength additional.fields.value.string_value: %{additional.eventKeyLength} |
Valor retirado diretamente do campo de registo não processado additional.event__KeyLength . |
additional.event__KeyName | additional.fields.key: eventKeyName additional.fields.value.string_value: %{additional.eventKeyName} |
Valor retirado diretamente do campo de registo não processado additional.event__KeyName . |
additional.event__KeyType | additional.fields.key: eventKeyType additional.fields.value.string_value: %{additional.eventKeyType} |
Valor retirado diretamente do campo de registo não processado additional.event__KeyType . |
additional.event__LmPackageName | additional.fields.key: eventLmPackageName additional.fields.value.string_value: %{additional.eventLmPackageName} |
Valor retirado diretamente do campo de registo não processado additional.event__LmPackageName . |
additional.event__LogonGuid | target.resource.product_objectid: %{additional.event_LogonGuid} | Valor retirado diretamente do campo de registo não processado additional.event__LogonGuid com as chavetas removidas. |
additional.event__LogonProcessName | target.process.file.fullpath: %{additional.event_LogonProcessName} | Valor retirado diretamente do campo de registo não processado additional.event__LogonProcessName . |
additional.event__LogonType | extensions.auth.authdetails: Logon Type: %{additional.event_LogonType} | Valor retirado diretamente do campo de registo não processado additional.event__LogonType . |
additional.event__MandatoryLabel | additional.fields.key: eventMandatoryLabel additional.fields.value.string_value: %{additional.eventMandatoryLabel} |
Valor retirado diretamente do campo de registo não processado additional.event__MandatoryLabel . |
additional.event__NewProcessId | target.process.pid: %{additional.event__NewProcessId} | Valor retirado diretamente do campo de registo não processado additional.event__NewProcessId . |
additional.event__NewProcessName | target.process.file.fullpath: %{additional.event_NewProcessName} | Valor retirado diretamente do campo de registo não processado additional.event__NewProcessName . |
additional.event__ObjectServer | security_result.categorydetails: %{additional.event_ObjectServer} | Valor retirado diretamente do campo de registo não processado additional.event__ObjectServer . |
additional.event__Operation | additional.fields.key: eventOperation additional.fields.value.string_value: %{additional.eventOperation} |
Valor retirado diretamente do campo de registo não processado additional.event__Operation . |
additional.event__ParentProcessId | principal.process.parentprocess.pid: %{additional.event_ParentProcessId} | Valor retirado diretamente do campo de registo não processado additional.event__ParentProcessId . |
additional.event__ParentProcessName | principal.process.parent_process.file.fullpath: %{additional.event_ParentProcessName} | Valor retirado diretamente do campo de registo não processado additional.event__ParentProcessName . |
additional.event__ProcessId | principal.process.pid: %{additional.event__ProcessId} | Valor retirado diretamente do campo de registo não processado additional.event__ProcessId . |
additional.event__ProcessName | principal.process.file.fullpath: %{additional.event_ProcessName} | Valor retirado diretamente do campo de registo não processado additional.event__ProcessName . |
additional.event__PrivilegeList | principal.user.attribute.permissions.name: %{additional.event__PrivilegeList} | Valor retirado diretamente do campo de registo não processado additional.event__PrivilegeList . |
additional.event__ProviderName | additional.fields.key: eventProviderName additional.fields.value.string_value: %{additional.eventProviderName} |
Valor retirado diretamente do campo de registo não processado additional.event__ProviderName . |
additional.event__RestrictedAdminMode | additional.fields.key: eventRestrictedAdminMode additional.fields.value.string_value: %{additional.eventRestrictedAdminMode} |
Valor retirado diretamente do campo de registo não processado additional.event__RestrictedAdminMode . |
additional.event__ReturnCode | additional.fields.key: eventReturnCode additional.fields.value.string_value: %{additional.eventReturnCode} |
Valor retirado diretamente do campo de registo não processado additional.event__ReturnCode . |
additional.event__RpcCallClientLocality | additional.fields.key: eventRpcCallClientLocality additional.fields.value.string_value: %{additional.eventRpcCallClientLocality} |
Valor retirado diretamente do campo de registo não processado additional.event__RpcCallClientLocality . |
additional.event__Service | securityresult.description: %{additional.event_Service} | Valor retirado diretamente do campo de registo não processado additional.event__Service . |
additional.event__Status | additional.fields.key: eventStatus additional.fields.value.string_value: %{additional.eventStatus} |
Valor retirado diretamente do campo de registo não processado additional.event__Status . |
additional.event__SubStatus | additional.fields.key: eventSubStatus additional.fields.value.string_value: %{additional.eventSubStatus} |
Valor retirado diretamente do campo de registo não processado additional.event__SubStatus . |
additional.event__SubjectDomainName | principal.administrativedomain: %{additional.event_SubjectDomainName} | Valor retirado diretamente do campo de registo não processado additional.event__SubjectDomainName . |
additional.event__SubjectLogonId | additional.fields.key: eventSubjectLogonId additional.fields.value.string_value: %{additional.eventSubjectLogonId} |
Valor retirado diretamente do campo de registo não processado additional.event__SubjectLogonId . |
additional.event__SubjectUserName | principal.user.user_displayname: %{additional.event_SubjectUserName} | Valor retirado diretamente do campo de registo não processado additional.event__SubjectUserName . |
additional.event__SubjectUserSid | principal.user.windowssid: %{additional.event_SubjectUserSid} | Valor retirado diretamente do campo de registo não processado additional.event__SubjectUserSid . |
additional.event__TaskContentNew | additional.fields.key: eventTaskContentNew additional.fields.value.string_value: %{additional.eventTaskContentNew} |
Valor retirado diretamente do campo de registo não processado additional.event__TaskContentNew . |
additional.event__TaskName | additional.fields.key: eventTaskName additional.fields.value.string_value: %{additional.eventTaskName} |
Valor retirado diretamente do campo de registo não processado additional.event__TaskName . |
additional.event__TargetDomainName | target.administrativedomain: %{additional.event_TargetDomainName} | Valor retirado diretamente do campo de registo não processado additional.event__TargetDomainName . |
additional.event__TargetLinkedLogonId | additional.fields.key: eventTargetLinkedLogonId additional.fields.value.string_value: %{additional.eventTargetLinkedLogonId} |
Valor retirado diretamente do campo de registo não processado additional.event__TargetLinkedLogonId . |
additional.event__TargetLogonId | additional.fields.key: eventTargetLogonId additional.fields.value.string_value: %{additional.eventTargetLogonId} |
Valor retirado diretamente do campo de registo não processado additional.event__TargetLogonId . |
additional.event__TargetOutboundDomainName | additional.fields.key: eventTargetOutboundDomainName additional.fields.value.string_value: %{additional.eventTargetOutboundDomainName} |
Valor retirado diretamente do campo de registo não processado additional.event__TargetOutboundDomainName . |
additional.event__TargetOutboundUserName | additional.fields.key: eventTargetOutboundUserName additional.fields.value.string_value: %{additional.eventTargetOutboundUserName} |
Valor retirado diretamente do campo de registo não processado additional.event__TargetOutboundUserName . |
additional.event__TargetSid | target.user.windowssid: %{additional.event_TargetSid} | Valor retirado diretamente do campo de registo não processado additional.event__TargetSid . |
additional.event__TargetUserName | target.user.userid: %{additional.event__TargetUserName} | Valor retirado diretamente do campo de registo não processado additional.event__TargetUserName . |
additional.event__TargetUserSid | target.user.windowssid: %{additional.event_TargetUserSid} | Valor retirado diretamente do campo de registo não processado additional.event__TargetUserSid . |
additional.event__TokenElevationType | additional.fields.key: eventTokenElevationType additional.fields.value.string_value: %{additional.eventTokenElevationType} |
Valor retirado diretamente do campo de registo não processado additional.event__TokenElevationType . |
additional.event__TransmittedServices | additional.fields.key: eventTransmittedServices additional.fields.value.string_value: %{additional.eventTransmittedServices} |
Valor retirado diretamente do campo de registo não processado additional.event__TransmittedServices . |
additional.event__VirtualAccount | additional.fields.key: eventVirtualAccount additional.fields.value.string_value: %{additional.eventVirtualAccount} |
Valor retirado diretamente do campo de registo não processado additional.event__VirtualAccount . |
additional.event__WorkstationName | target.hostname: %{additional.event__WorkstationName} | Valor retirado diretamente do campo de registo não processado additional.event__WorkstationName . |
additional.event_id | security_result.rule_name: EventID: %{additional.event_id} | Valor retirado diretamente do campo de registo não processado additional.event_id e convertido numa string. |
additional.query | network.dns.questions.name: %{additional.query} | Valor retirado diretamente do campo de registo não processado additional.query . |
additional.response | network.dns.answers.name: %{additional.response} | Valor retirado diretamente do campo de registo não processado additional.response . |
metadata.description | metadata.description: %{metadata.description} | Valor retirado diretamente do campo de registo não processado metadata.description . |
metadata.eventTimestamp | metadata.event_timestamp.seconds: Extracted from %{metadata.eventTimestamp} metadata.event_timestamp.nanos: Extracted from %{metadata.eventTimestamp} |
Os segundos e os nanosegundos são extraídos do campo de registo não processado metadata.eventTimestamp através da análise de datas. |
metadata.eventType | metadata.product_event_type: %{metadata.eventType} metadata.event_type: %{metadata.eventType} |
Valor retirado diretamente do campo de registo não processado metadata.eventType . |
metadata.logType | metadata.product_event_type: %{metadata.logType} metadata.event_type: %{metadata.logType} |
Valor retirado diretamente do campo de registo não processado metadata.logType . |
network.applicationProtocol | network.application_protocol: %{network.applicationProtocol} | Valor retirado diretamente do campo de registo não processado network.applicationProtocol . |
network.direction | network.direction: %{network.direction} | Valor retirado diretamente do campo de registo não processado network.direction . |
network.ipProtocol | network.ip_protocol: %{network.ipProtocol} | Valor retirado diretamente do campo de registo não processado network.ipProtocol . |
principal.assetId | principal.asset_id: TANIUM:%{principal.assetId} | Valor retirado diretamente do campo de registo não processado principal.assetId e com o prefixo "TANIUM:". |
principal.hostname | principal.hostname: %{principal.hostname} | Valor retirado diretamente do campo de registo não processado principal.hostname . |
principal.process.companySpecificParentProcessId | principal.process.product_specific_process_id: TANIUM:%{principal.assetId}:%{principal.process.companySpecificParentProcessId} | Valor retirado diretamente do campo de registo não processado principal.process.companySpecificParentProcessId e formatado como "TANIUM:%{principal.assetId}:%{principal.process.companySpecificParentProcessId}". |
principal.process.companySpecificProcessId | principal.process.product_specific_process_id: TANIUM:%{principal.assetId}:%{principal.process.companySpecificProcessId} | Valor retirado diretamente do campo de registo não processado principal.process.companySpecificProcessId e formatado como "TANIUM:%{principal.assetId}:%{principal.process.companySpecificProcessId}". |
principal.process.commandLine | target.process.command_line: %{principal.process.commandLine} | Valor retirado diretamente do campo de registo não processado principal.process.commandLine com as aspas duplas removidas e os hífens substituídos por E comerciais. |
principal.process.file.fullPath | target.process.file.full_path: %{principal.process.file.fullPath} | Valor retirado diretamente do campo de registo não processado principal.process.file.fullPath . |
principal.process.file.md5 | target.process.file.md5: %{principal.process.file.md5} | Valor retirado diretamente do campo de registo não processado principal.process.file.md5 e convertido em letras minúsculas. |
principal.process.parentPid | principal.process.pid: %{principal.process.parentPid} | Valor retirado diretamente do campo de registo não processado principal.process.parentPid apenas para eventos PROCESS_LAUNCH . |
principal.process.pid | target.process.pid: %{principal.process.pid} | Valor retirado diretamente do campo de registo não processado principal.process.pid apenas para eventos PROCESS_LAUNCH . |
principal.process.productSpecificProcessId | principal.process.product_specific_process_id: TANIUM:%{principal.assetId}:%{principal.process.productSpecificProcessId} | Valor retirado diretamente do campo de registo não processado principal.process.productSpecificProcessId e formatado como "TANIUM:%{principal.assetId}:%{principal.process.productSpecificProcessId}". |
principal.user.groupid | principal.user.group_identifiers: %{principal.user.groupid} | Valor retirado diretamente do campo de registo não processado principal.user.groupid . |
principal.user.userid | principal.user.userid: %{principal.user.userid} | Valor retirado diretamente do campo de registo não processado principal.user.userid . |
src.ip | principal.ip: %{src.ip} | Valor retirado diretamente do campo de registo não processado src.ip . |
src.port | principal.port: %{src.port} | Valor retirado diretamente do campo de registo não processado src.port e convertido num número inteiro. |
target.file.fullPath | target.file.full_path: %{target.file.fullPath} | Valor retirado diretamente do campo de registo não processado target.file.fullPath . |
target.file.md5 | target.file.md5: %{target.file.md5} | Valor retirado diretamente do campo de registo não processado target.file.md5 . |
target.port | target.port: %{target.port} | Valor retirado diretamente do campo de registo não processado target.port e convertido num número inteiro. |
target.registry.registryKey | target.registry.registry_key: %{target.registry.registryKey} | Valor retirado diretamente do campo de registo não processado target.registry.registryKey . |
target.registry.registryValue | target.registry.registry_value_data: %{target.registry.registryValue} | Valor retirado diretamente do campo de registo não processado target.registry.registryValue . |
target.user.userDisplayName | target.user.user_display_name: %{target.user.userDisplayName} | Valor retirado diretamente do campo de registo não processado target.user.userDisplayName . |
target.user.windowsSid | target.user.windows_sid: %{target.user.windowsSid} | Valor retirado diretamente do campo de registo não processado target.user.windowsSid . |
agente do utilizador | network.http.user_agent: %{user-agent} | Valor retirado diretamente do campo de registo não processado user-agent com as aspas duplas removidas. |
N/A | extensions.auth.auth_mechanism: LOCAL/NETWORK/BATCH/SERVICE/UNLOCK/NETWORK_CLEAR_TEXT/NEW_CREDENTIALS/REMOTE_INTERACTIVE/CACHED_INTERACTIVE/MECHANISM_UNSPECIFIED | Determinado pelo código do analisador com base no valor de additional.event__LogonType . |
N/A | extensions.auth.type: MACHINE | Adicionado pelo código do analisador para eventos USER_LOGIN e USER_LOGOUT . |
N/A | metadata.event_type: PROCESS_LAUNCH/NETWORK_CONNECTION/FILE_OPEN/FILE_DELETION/REGISTRY_MODIFICATION/USER_LOGIN/STATUS_UPDATE/USER_LOGOUT/PROCESS_MODULE_LOAD/PROCESS_TERMINATION/USER_CHANGE_PERMISSIONS/SCHEDULED_TASK_MODIFICATION/SCHEDULED_TASK_DISABLE/SCHEDULED_TASK_ENABLE/SCHEDULED_TASK_DELETION/SCHEDULED_TASK_CREATION/PROCESS_UNCATEGORIZED | Determinado pelo código do analisador com base no valor de metadata.logType e additional.event_id . |
N/A | metadata.log_type: TANIUM_TH | Valor codificado adicionado pelo código do analisador. |
N/A | metadata.product_name: Stream | Valor codificado adicionado pelo código do analisador. |
N/A | metadata.vendor_name: Tanium | Valor codificado adicionado pelo código do analisador. |
N/A | principal.hostname: %{principal_hostname} | Valor retirado de principal.hostname ou additional.event__FQDN . |
N/A | principal.ip: %{srcIp} | Extraído da mensagem de registo não processada através do grok se src.ip estiver presente. |
N/A | securityresult.about.resource.name: %{additional.event_AuthenticationPackageName} | Valor retirado diretamente do campo de registo não processado additional.event__AuthenticationPackageName para valores additional.event_id específicos. |
N/A | security_result.category: AUTH_VIOLATION | Adicionado pelo código do analisador para valores additional.event_id específicos. |
N/A | security_result.rule_name: EventID: %{additional.event_id} | Valor retirado diretamente do campo de registo não processado additional.event_id e convertido numa string. |
N/A | target.hostname: %{query_host} | Extraído do campo de registo não processado additional.query se contiver um nome de anfitrião. |
N/A | target.ip: %{dstIp} | Extraído da mensagem de registo não processada através do grok se src.ip estiver presente. |
N/A | target.ip: %{query_ip} | Extraído do campo de registo não processado additional.query se contiver um endereço IP. |
N/A | target.process.command_line: %{principal_process_commandLine} | Valor retirado de principal.process.commandLine se não estiver vazio. |
N/A | target.process.file.full_path: %{principal_process_file_fullPath} | Valor retirado de principal.process.file.fullPath se não estiver vazio. |
N/A | target.process.file.md5: %{principal_process_file_md5} | Valor retirado de principal.process.file.md5 se não estiver vazio. |
N/A | target.process.product_specific_process_id: TANIUM:%{principal.assetId}:%{principal.process.productSpecificProcessId} | Valor retirado de principal.process.productSpecificProcessId e formatado como "TANIUM:%{principal.assetId}:%{principal.process.productSpecificProcessId}". |
N/A | target.resource.resource_type: TASK | Adicionado pelo código do analisador para valores additional.event_id específicos. |
N/A | timestamp.seconds: Extracted from %{metadata.eventTimestamp} timestamp.nanos: Extracted from %{metadata.eventTimestamp} |
Os segundos e os nanosegundos são extraídos do campo de registo não processado metadata.eventTimestamp através da análise de datas. |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.