Coletar registros do Microsoft Defender para Identidade
Neste documento, explicamos como ingerir os registros do Microsoft Defender for Identity no Google Security Operations usando o Azure Storage. O analisador processa registros JSON ou registros formatados em CEF se a análise JSON falhar. Ele extrai campos, realiza transformações de dados, como conversões, renomeações e fusões de strings, e os mapeia para o modelo de dados unificado (UDM, na sigla em inglês), processando vários formatos de registro e enriquecendo os dados com contexto adicional, como rótulos e detalhes de autenticação.
Antes de começar
Verifique se você tem os pré-requisitos a seguir:
- Instância do Google SecOps
- locatário do Azure ativo
- Acesso privilegiado ao Azure e função de segurança administrativa
Configurar a conta do Azure Storage
- No console do Azure, pesquise Contas de armazenamento.
- Clique em Criar.
- Especifique valores para os seguintes parâmetros de entrada:
- Assinatura: selecione a assinatura.
- Grupo de recursos: selecione o grupo de recursos.
- Região: selecione a região.
- Performance: selecione o tipo de performance (Padrão recomendado).
- Redundância: selecione o tipo de redundância (GRS ou LRS recomendado).
- Nome da conta de armazenamento: insira um nome para a nova conta de armazenamento.
- Clique em Revisar + criar.
- Revise a visão geral da conta e clique em Criar.
- Na página Visão geral da conta de armazenamento, selecione o submenu Chaves de acesso em Segurança + rede.
- Clique em Mostrar ao lado de key1 ou key2.
- Clique em Copiar para a área de transferência para copiar a chave.
- Salve a chave em um local seguro para referência futura.
- Na página Visão geral da conta de armazenamento, selecione o submenu Endpoints em Configurações.
- Clique em Copiar para a área de transferência para copiar o URL do endpoint do serviço de blob. (por exemplo,
https://<storageaccountname>.blob.core.windows.net
). - Salve o URL do endpoint em um local seguro para referência futura.
- Acesse Visão geral > Visualização JSON.
- Copie e salve o ID do recurso do Storage.
Configurar a exportação de registros para o Microsoft Defender para Identidade
- Faça login no Portal do Defender usando uma conta privilegiada.
- Acesse Configurações.
- Selecione a guia Microsoft Defender XDR.
- Selecione API Streaming na seção geral e clique em Adicionar.
- Selecione Encaminhar eventos para o Azure Storage.
- Informe os seguintes detalhes de configuração:
- Nome: insira um nome exclusivo e significativo.
- Selecione Encaminhar eventos para o Azure Storage.
- ID do recurso da conta de armazenamento: insira o ID do recurso do Azure Storage copiado anteriormente.
- Tipos de eventos: selecione Alertas e comportamentos e Dispositivos.
- Clique em Enviar.
Configurar feeds
Há dois pontos de entrada diferentes para configurar feeds na plataforma do Google SecOps:
- Configurações do SIEM > Feeds > Adicionar novo
- Central de conteúdo > Pacotes de conteúdo > Começar
Como configurar o feed do Microsoft Defender para Identidade
- Clique no pacote Microsoft Defender.
Especifique os seguintes valores:
- Tipo de origem: armazenamento de blobs V2 do Microsoft Azure.
URI do Azure: o URL do endpoint do blob.
ENDPOINT_URL/BLOB_NAME
Substitua:
ENDPOINT_URL
: o URL do endpoint de blob. (https://<storageaccountname>.blob.core.windows.net
)BLOB_NAME
: o nome do blob. (comoinsights-logs-<logname>
)
Opções de exclusão de fontes: selecione a opção de exclusão de acordo com sua preferência.
Opções avançadas
- Nome do feed: um valor pré-preenchido que identifica o feed.
- Namespace do recurso: namespace associado ao feed.
- Rótulos de ingestão: rótulos aplicados a todos os eventos deste feed.
Clique em Criar feed.
Para mais informações sobre como configurar vários feeds para diferentes tipos de registros nessa família de produtos, consulte Configurar feeds por produto.
Tabela de mapeamento da UDM
Campo de registro | Mapeamento do UDM | Lógica |
---|---|---|
category |
metadata.log_type |
O campo de registro bruto category é mapeado para metadata.log_type . |
properties.AccountDisplayName |
Não mapeado | Esse campo não é mapeado para o objeto IDM na UDM. |
properties.AccountName |
Não mapeado | Esse campo não é mapeado para o objeto IDM na UDM. |
properties.AccountUpn |
Não mapeado | Esse campo não é mapeado para o objeto IDM na UDM. |
properties.ActionType |
metadata.product_event_type |
O campo de registro bruto properties.ActionType é mapeado para metadata.product_event_type . |
properties.AdditionalFields.ACTOR.ACCOUNT |
Não mapeado | Esse campo não é mapeado para o objeto IDM na UDM. |
properties.AdditionalFields.ACTOR.DEVICE |
principal.asset.asset_id |
O analisador extrai o valor de properties.AdditionalFields.ACTOR.DEVICE e adiciona ASSET ID: . |
properties.AdditionalFields.ACTOR.ENTITY_USER |
Não mapeado | Esse campo não é mapeado para o objeto IDM na UDM. |
properties.AdditionalFields.Count |
Não mapeado | Esse campo não é mapeado para o objeto IDM na UDM. |
properties.AdditionalFields.DestinationComputerDnsName |
Não mapeado | Esse campo não é mapeado para o objeto IDM na UDM. |
properties.AdditionalFields.DestinationComputerObjectGuid |
target.asset.product_object_id |
O primeiro elemento da matriz properties.AdditionalFields.DestinationComputerObjectGuid é mapeado para target.asset.product_object_id . Os elementos subsequentes são mapeados para additional.fields com chaves como DestinationComputerObjectGuid_1 , DestinationComputerObjectGuid_2 etc. |
properties.AdditionalFields.DestinationComputerOperatingSystem |
target.asset.platform_software.platform_version |
O primeiro elemento da matriz properties.AdditionalFields.DestinationComputerOperatingSystem é mapeado para target.asset.platform_software.platform_version . Os elementos subsequentes são mapeados para additional.fields com chaves como DestinationComputerOperatingSystem_1 , DestinationComputerOperatingSystem_2 etc. |
properties.AdditionalFields.DestinationComputerOperatingSystemType |
target.asset.platform_software.platform |
Se o valor for windows , o campo UDM será definido como WINDOWS . |
properties.AdditionalFields.DestinationComputerOperatingSystemVersion |
target.platform_version |
O primeiro elemento da matriz properties.AdditionalFields.DestinationComputerOperatingSystemVersion é mapeado para target.platform_version . Os elementos subsequentes são mapeados para additional.fields com chaves como DestinationComputerOperatingSystemVersion1 , DestinationComputerOperatingSystemVersion2 etc. |
properties.AdditionalFields.FROM.DEVICE |
principal.asset.asset_id |
O analisador extrai o valor de properties.AdditionalFields.FROM.DEVICE e adiciona ASSET ID: . |
properties.AdditionalFields.KerberosDelegationType |
Não mapeado | Esse campo não é mapeado para o objeto IDM na UDM. |
properties.AdditionalFields.SourceAccountId |
Não mapeado | Esse campo não é mapeado para o objeto IDM na UDM. |
properties.AdditionalFields.SourceAccountSid |
Não mapeado | Esse campo não é mapeado para o objeto IDM na UDM. |
properties.AdditionalFields.SourceComputerObjectGuid |
principal.asset.product_object_id |
O campo de registro bruto properties.AdditionalFields.SourceComputerObjectGuid é mapeado para principal.asset.product_object_id . |
properties.AdditionalFields.SourceComputerOperatingSystem |
principal.asset.platform_software.platform_version |
O campo de registro bruto properties.AdditionalFields.SourceComputerOperatingSystem é mapeado para principal.asset.platform_software.platform_version . |
properties.AdditionalFields.SourceComputerOperatingSystemType |
principal.asset.platform_software.platform_version |
Se o valor for windows , o campo UDM será definido como WINDOWS . |
properties.AdditionalFields.SourceComputerOperatingSystemVersion |
Não mapeado | Esse campo não é mapeado para o objeto IDM na UDM. |
properties.AdditionalFields.Spns |
Não mapeado | Esse campo não é mapeado para o objeto IDM na UDM. |
properties.AdditionalFields.TARGET_OBJECT.ENTITY_USER |
Não mapeado | Esse campo não é mapeado para o objeto IDM na UDM. |
properties.AdditionalFields.TARGET_OBJECT.USER |
target.user.userid |
O primeiro elemento da matriz properties.AdditionalFields.TARGET_OBJECT.USER é mapeado para target.user.userid . Os elementos subsequentes são mapeados para additional.fields com chaves como TARGET_OBJECT.USER_1 , TARGET_OBJECT.USER_2 etc. |
properties.AdditionalFields.TO.DEVICE |
target.asset.asset_id |
O primeiro elemento da matriz properties.AdditionalFields.TO.DEVICE é mapeado para target.asset.asset_id com ASSET ID: adicionado. Os elementos subsequentes são mapeados para additional.fields com chaves como TODEVICE1 , TODEVICE2 etc. |
properties.AuthenticationDetails |
extensions.auth.auth_details |
O analisador remove chaves, colchetes e aspas duplas do valor e adiciona AuthenticationDetails: antes dele. |
properties.DeliveryAction |
additional.fields |
Mapeado com a chave DeliveryAction . |
properties.DeliveryLocation |
additional.fields |
Mapeado com a chave DeliveryLocation . |
properties.DestinationDeviceName |
target.hostname , target.asset.hostname |
O campo properties.DestinationDeviceName do registro bruto é mapeado para target.hostname e target.asset.hostname . |
properties.DestinationIPAddress |
target.ip , target.asset.ip |
O campo properties.DestinationIPAddress do registro bruto é mapeado para target.ip e target.asset.ip . |
properties.DestinationPort |
target.port |
O campo de registro bruto properties.DestinationPort é mapeado para target.port . |
properties.DeviceName |
principal.hostname , principal.asset.hostname |
O campo properties.DeviceName do registro bruto é mapeado para principal.hostname e principal.asset.hostname . |
properties.EmailClusterId |
additional.fields |
Mapeado com a chave EmailClusterId . |
properties.EmailDirection |
network.direction |
Se o valor for Inbound , o campo UDM será definido como INBOUND . Se o valor for Outbound , o campo UDM será definido como OUTBOUND . Caso contrário, será definido como UNKNOWN_DIRECTION . |
properties.EmailLanguage |
additional.fields |
Mapeado com a chave EmailLanguage . |
properties.InitiatingProcessAccountDomain |
principal.administrative_domain |
O campo de registro bruto properties.InitiatingProcessAccountDomain é mapeado para principal.administrative_domain . |
properties.InitiatingProcessAccountSid |
principal.user.windows_sid |
O campo de registro bruto properties.InitiatingProcessAccountSid é mapeado para principal.user.windows_sid . |
properties.InitiatingProcessCommandLine |
principal.process.command_line |
O campo de registro bruto properties.InitiatingProcessCommandLine é mapeado para principal.process.command_line . |
properties.InitiatingProcessFileName |
principal.process.file.full_path |
Usado em combinação com properties.InitiatingProcessFolderPath para construir o caminho completo. Se properties.InitiatingProcessFolderPath já contiver o nome do arquivo, ele será usado diretamente. |
properties.InitiatingProcessFolderPath |
principal.process.file.full_path |
Usado em combinação com properties.InitiatingProcessFileName para construir o caminho completo. |
properties.InitiatingProcessId |
principal.process.pid |
O campo de registro bruto properties.InitiatingProcessId é mapeado para principal.process.pid . |
properties.InitiatingProcessIntegrityLevel |
about.labels |
Mapeado com a chave InitiatingProcessIntegrityLevel . |
properties.InitiatingProcessMD5 |
principal.process.file.md5 |
O campo de registro bruto properties.InitiatingProcessMD5 é mapeado para principal.process.file.md5 . |
properties.InitiatingProcessParentId |
principal.process.parent_process.pid |
O campo de registro bruto properties.InitiatingProcessParentId é mapeado para principal.process.parent_process.pid . |
properties.InitiatingProcessParentFileName |
principal.process.parent_process.file.full_path |
O campo de registro bruto properties.InitiatingProcessParentFileName é mapeado para principal.process.parent_process.file.full_path . |
properties.InitiatingProcessSHA1 |
principal.process.file.sha1 |
O campo de registro bruto properties.InitiatingProcessSHA1 é mapeado para principal.process.file.sha1 . |
properties.InitiatingProcessSHA256 |
principal.process.file.sha256 |
O campo de registro bruto properties.InitiatingProcessSHA256 é mapeado para principal.process.file.sha256 . |
properties.InitiatingProcessTokenElevation |
about.labels |
Mapeado com a chave InitiatingProcessTokenElevation . |
properties.InternetMessageId |
additional.fields |
O analisador remove os colchetes angulares e mapeia o valor com a chave InternetMessageId . |
properties.IPAddress |
principal.ip , principal.asset.ip |
O campo properties.IPAddress do registro bruto é mapeado para principal.ip e principal.asset.ip . |
properties.LogonType |
extensions.auth.mechanism |
Usado para derivar o valor de extensions.auth.mechanism . |
properties.Port |
principal.port |
O campo de registro bruto properties.Port é mapeado para principal.port . |
properties.PreviousRegistryKey |
src.registry.registry_key |
O campo de registro bruto properties.PreviousRegistryKey é mapeado para src.registry.registry_key . |
properties.PreviousRegistryValueData |
src.registry.registry_value_data |
O campo de registro bruto properties.PreviousRegistryValueData é mapeado para src.registry.registry_value_data . |
properties.PreviousRegistryValueName |
src.registry.registry_value_name |
O campo de registro bruto properties.PreviousRegistryValueName é mapeado para src.registry.registry_value_name . |
properties.Query |
principal.user.attribute.labels |
Mapeado com a chave LDAP Search Scope . |
properties.RecipientEmailAddress |
Não mapeado | Esse campo não é mapeado para o objeto IDM na UDM. |
properties.RegistryKey |
target.registry.registry_key |
O campo de registro bruto properties.RegistryKey é mapeado para target.registry.registry_key . |
properties.RegistryValueData |
target.registry.registry_value_data |
O campo de registro bruto properties.RegistryValueData é mapeado para target.registry.registry_value_data . |
properties.RegistryValueName |
target.registry.registry_value_name |
O campo de registro bruto properties.RegistryValueName é mapeado para target.registry.registry_value_name . |
properties.ReportId |
about.labels |
Mapeado com a chave ReportId . |
properties.SenderIPv4 |
principal.ip , principal.asset.ip |
O campo properties.SenderIPv4 do registro bruto é mapeado para principal.ip e principal.asset.ip . |
properties.SenderMailFromAddress |
principal.user.attribute.labels |
Mapeado com a chave SenderMailFromAddress . |
properties.SenderMailFromDomain |
principal.user.attribute.labels |
Mapeado com a chave SenderMailFromDomain . |
properties.SenderObjectId |
principal.user.product_object_id |
O campo de registro bruto properties.SenderObjectId é mapeado para principal.user.product_object_id . |
properties.Timestamp |
metadata.event_timestamp |
O campo de registro bruto properties.Timestamp é mapeado para metadata.event_timestamp . |
tenantId |
observer.cloud.project.id |
O campo de registro bruto tenantId é mapeado para observer.cloud.project.id . |
N/A | extensions.auth.type |
O valor MACHINE é atribuído pelo analisador. |
N/A | metadata.event_type |
Derivada com base nos campos category e properties.ActionType . Pode ser USER_LOGIN , USER_RESOURCE_ACCESS , USER_CHANGE_PASSWORD , REGISTRY_MODIFICATION , REGISTRY_DELETION , REGISTRY_CREATION , GENERIC_EVENT ou STATUS_UPDATE . |
N/A | metadata.vendor_name |
O valor Microsoft é atribuído pelo analisador. |
N/A | metadata.product_name |
O valor Microsoft Defender Identity é atribuído pelo analisador. |
cs1 |
metadata.url_back_to_product |
O campo de registro bruto cs1 é mapeado para metadata.url_back_to_product . |
externalId |
metadata.product_log_id |
O campo de registro bruto externalId é mapeado para metadata.product_log_id . |
msg |
metadata.description |
O campo de registro bruto msg é mapeado para metadata.description . |
rule_name |
security_result.rule_name |
O campo de registro bruto rule_name é mapeado para security_result.rule_name . |
severity |
security_result.severity |
O campo de registro bruto severity é mapeado para security_result.severity . |
shost |
principal.hostname , principal.asset.hostname |
O campo shost do registro bruto é mapeado para principal.hostname e principal.asset.hostname . |
src |
principal.ip |
O campo de registro bruto src é mapeado para principal.ip . |
suser |
principal.user.user_display_name |
O campo de registro bruto suser é mapeado para principal.user.user_display_name . |
time |
metadata.event_timestamp |
O campo de registro bruto time é mapeado para metadata.event_timestamp . |
userid |
principal.user.userid |
O campo de registro bruto userid é mapeado para principal.user.userid . |
N/A | security_result.action |
Derivado com base no campo properties.ActionType . Pode ser ALLOW ou BLOCK . |
N/A | security_result.summary |
Derivado do campo category ou properties.ActionType . |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.