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
- Central de conteúdo > Pacotes de conteúdo
Configure feeds em "Configurações do SIEM" > "Feeds".
Para configurar um feed, siga estas etapas:
- Acesse Configurações do SIEM > Feeds.
- Clique em Adicionar novo feed.
- Na próxima página, clique em Configurar um único feed.
- No campo Nome do feed, insira um nome para o feed (por exemplo, Registros do Defender Identity).
- Selecione Microsoft Azure Blob Storage como o Tipo de origem.
- Selecione Microsoft Defender para identidade como o Tipo de registro.
- Clique em Próxima.
Especifique valores para os seguintes parâmetros de entrada:
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>
)
O URI é um: selecione de acordo com a configuração do fluxo de registros (Arquivo único | Diretório | Diretório que inclui subdiretórios).
Opções de exclusão de fontes: selecione a opção de exclusão de acordo com sua preferência.
- Chave compartilhada: a chave de acesso ao Azure Blob Storage.
Clique em Próxima.
Revise a nova configuração do feed na tela Finalizar e clique em Enviar.
Configurar feeds na Central de conteúdo
Especifique valores para os seguintes campos:
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>
)- O URI é um: selecione de acordo com a configuração do fluxo de registros (Arquivo único | Diretório | Diretório que inclui subdiretórios).
- Opções de exclusão de fontes: selecione a opção de exclusão de acordo com sua preferência.
Chave compartilhada: a chave de acesso ao Azure Blob Storage.
Opções avançadas
- Nome do feed: um valor pré-preenchido que identifica o feed.
- Tipo de origem: método usado para coletar registros no Google SecOps.
- Namespace do recurso: namespace associado ao feed.
- Rótulos de ingestão: rótulos aplicados a todos os eventos deste feed.
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.