Raccogliere i log di Microsoft Defender for Identity
Questo documento spiega come importare i log di Microsoft Defender for Identity in Google Security Operations utilizzando Azure Storage. Il parser elabora i log JSON o i log in formato CEF se l'analisi JSON non va a buon fine. Estrae i campi, esegue trasformazioni dei dati come conversioni, ridenominazione e unione di stringhe e li mappa al modello UDM (Unified Data Model), gestendo vari formati di log e arricchendo i dati con un contesto aggiuntivo come etichette e dettagli di autenticazione.
Prima di iniziare
Assicurati di soddisfare i seguenti prerequisiti:
- Istanza Google SecOps
- tenant Azure attivo
- Accesso con privilegi ad Azure e ruolo di amministratore della sicurezza
Configura l'account di archiviazione di Azure
- Nella console Azure, cerca Storage accounts.
- Fai clic su Crea.
- Specifica i valori per i seguenti parametri di input:
- Abbonamento: seleziona l'abbonamento.
- Gruppo di risorse: seleziona il gruppo di risorse.
- Regione: seleziona la regione.
- Rendimento: seleziona il tipo di rendimento (Standard consigliato).
- Ridondanza: seleziona il tipo di ridondanza (consigliato GRS o LRS).
- Nome account di archiviazione: inserisci un nome per il nuovo account di archiviazione.
- Fai clic su Review + create (Rivedi e crea).
- Controlla la panoramica dell'account e fai clic su Crea.
- Nella pagina Panoramica dell'account di archiviazione, seleziona il sottomenu Chiavi di accesso in Sicurezza e networking.
- Fai clic su Mostra accanto a key1 o key2.
- Fai clic su Copia negli appunti per copiare la chiave.
- Salva la chiave in un luogo sicuro per riferimento futuro.
- Nella pagina Panoramica dell'account di archiviazione, seleziona il sottomenu Endpoint in Impostazioni.
- Fai clic su Copia negli appunti per copiare l'URL dell'endpoint del servizio Blob. ad esempio,
https://<storageaccountname>.blob.core.windows.net
. - Salva l'URL dell'endpoint in una posizione sicura per riferimento futuro.
- Vai a Panoramica > Visualizzazione JSON.
- Copia e salva l'ID risorsa di Storage.
Configurare l'esportazione dei log per Microsoft Defender for Identity
- Accedi al portale Defender utilizzando un account con privilegi.
- Vai a Impostazioni.
- Seleziona la scheda Microsoft Defender XDR.
- Seleziona API Streaming dalla sezione generale e fai clic su Aggiungi.
- Seleziona Inoltra eventi ad Azure Storage.
- Fornisci i seguenti dettagli di configurazione:
- Nome: inserisci un nome univoco e significativo.
- Seleziona Inoltra eventi ad Azure Storage.
- ID risorsa account di archiviazione: inserisci l'ID risorsa Azure Storage copiato in precedenza.
- Tipi di eventi: seleziona sia Avvisi e comportamenti sia Dispositivi.
- Fai clic su Invia.
Configurare i feed
Esistono due diversi punti di accesso per configurare i feed nella piattaforma Google SecOps:
- Impostazioni SIEM > Feed > Aggiungi nuovo feed
- Hub dei contenuti > Pacchetti di contenuti > Inizia
Come configurare il feed di Microsoft Defender for Identity
- Fai clic sul pacchetto Microsoft Defender.
Specifica i seguenti valori:
- Tipo di origine: Microsoft Azure Blob Storage V2.
URI Azure: l'URL dell'endpoint blob.
ENDPOINT_URL/BLOB_NAME
Sostituisci quanto segue:
ENDPOINT_URL
: l'URL dell'endpoint blob. (https://<storageaccountname>.blob.core.windows.net
)BLOB_NAME
: il nome del blob. (ad esempio,insights-logs-<logname>
)
Opzioni di eliminazione dell'origine: seleziona l'opzione di eliminazione in base alle tue preferenze.
Opzioni avanzate
- Nome feed: un valore precompilato che identifica il feed.
- Spazio dei nomi dell'asset: lo spazio dei nomi associato al feed.
- Etichette di importazione: etichette applicate a tutti gli eventi di questo feed.
Fai clic su Crea feed.
Per ulteriori informazioni sulla configurazione di più feed per diversi tipi di log all'interno di questa famiglia di prodotti, consulta Configurare i feed per prodotto.
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logic |
---|---|---|
category |
metadata.log_type |
Il campo category del log non elaborato è mappato a metadata.log_type . |
properties.AccountDisplayName |
Non mappato | Questo campo non è mappato all'oggetto IDM nell'UDM. |
properties.AccountName |
Non mappato | Questo campo non è mappato all'oggetto IDM nell'UDM. |
properties.AccountUpn |
Non mappato | Questo campo non è mappato all'oggetto IDM nell'UDM. |
properties.ActionType |
metadata.product_event_type |
Il campo properties.ActionType del log non elaborato è mappato a metadata.product_event_type . |
properties.AdditionalFields.ACTOR.ACCOUNT |
Non mappato | Questo campo non è mappato all'oggetto IDM nell'UDM. |
properties.AdditionalFields.ACTOR.DEVICE |
principal.asset.asset_id |
Il parser estrae il valore di properties.AdditionalFields.ACTOR.DEVICE e antepone ASSET ID: . |
properties.AdditionalFields.ACTOR.ENTITY_USER |
Non mappato | Questo campo non è mappato all'oggetto IDM nell'UDM. |
properties.AdditionalFields.Count |
Non mappato | Questo campo non è mappato all'oggetto IDM nell'UDM. |
properties.AdditionalFields.DestinationComputerDnsName |
Non mappato | Questo campo non è mappato all'oggetto IDM nell'UDM. |
properties.AdditionalFields.DestinationComputerObjectGuid |
target.asset.product_object_id |
Il primo elemento dell'array properties.AdditionalFields.DestinationComputerObjectGuid è mappato a target.asset.product_object_id . Gli elementi successivi vengono mappati a additional.fields con chiavi come DestinationComputerObjectGuid_1 , DestinationComputerObjectGuid_2 e così via. |
properties.AdditionalFields.DestinationComputerOperatingSystem |
target.asset.platform_software.platform_version |
Il primo elemento dell'array properties.AdditionalFields.DestinationComputerOperatingSystem è mappato a target.asset.platform_software.platform_version . Gli elementi successivi vengono mappati a additional.fields con chiavi come DestinationComputerOperatingSystem_1 , DestinationComputerOperatingSystem_2 e così via. |
properties.AdditionalFields.DestinationComputerOperatingSystemType |
target.asset.platform_software.platform |
Se il valore è windows , il campo UDM è impostato su WINDOWS . |
properties.AdditionalFields.DestinationComputerOperatingSystemVersion |
target.platform_version |
Il primo elemento dell'array properties.AdditionalFields.DestinationComputerOperatingSystemVersion è mappato a target.platform_version . Gli elementi successivi vengono mappati a additional.fields con chiavi come DestinationComputerOperatingSystemVersion1 , DestinationComputerOperatingSystemVersion2 e così via. |
properties.AdditionalFields.FROM.DEVICE |
principal.asset.asset_id |
Il parser estrae il valore di properties.AdditionalFields.FROM.DEVICE e antepone ASSET ID: . |
properties.AdditionalFields.KerberosDelegationType |
Non mappato | Questo campo non è mappato all'oggetto IDM nell'UDM. |
properties.AdditionalFields.SourceAccountId |
Non mappato | Questo campo non è mappato all'oggetto IDM nell'UDM. |
properties.AdditionalFields.SourceAccountSid |
Non mappato | Questo campo non è mappato all'oggetto IDM nell'UDM. |
properties.AdditionalFields.SourceComputerObjectGuid |
principal.asset.product_object_id |
Il campo properties.AdditionalFields.SourceComputerObjectGuid del log non elaborato è mappato a principal.asset.product_object_id . |
properties.AdditionalFields.SourceComputerOperatingSystem |
principal.asset.platform_software.platform_version |
Il campo properties.AdditionalFields.SourceComputerOperatingSystem del log non elaborato è mappato a principal.asset.platform_software.platform_version . |
properties.AdditionalFields.SourceComputerOperatingSystemType |
principal.asset.platform_software.platform_version |
Se il valore è windows , il campo UDM è impostato su WINDOWS . |
properties.AdditionalFields.SourceComputerOperatingSystemVersion |
Non mappato | Questo campo non è mappato all'oggetto IDM nell'UDM. |
properties.AdditionalFields.Spns |
Non mappato | Questo campo non è mappato all'oggetto IDM nell'UDM. |
properties.AdditionalFields.TARGET_OBJECT.ENTITY_USER |
Non mappato | Questo campo non è mappato all'oggetto IDM nell'UDM. |
properties.AdditionalFields.TARGET_OBJECT.USER |
target.user.userid |
Il primo elemento dell'array properties.AdditionalFields.TARGET_OBJECT.USER è mappato a target.user.userid . Gli elementi successivi vengono mappati a additional.fields con chiavi come TARGET_OBJECT.USER_1 , TARGET_OBJECT.USER_2 e così via. |
properties.AdditionalFields.TO.DEVICE |
target.asset.asset_id |
Il primo elemento dell'array properties.AdditionalFields.TO.DEVICE viene mappato a target.asset.asset_id con ASSET ID: anteposto. Gli elementi successivi vengono mappati a additional.fields con chiavi come TODEVICE1 , TODEVICE2 e così via. |
properties.AuthenticationDetails |
extensions.auth.auth_details |
Il parser rimuove le parentesi graffe, le parentesi quadre e le virgolette doppie dal valore e antepone AuthenticationDetails: . |
properties.DeliveryAction |
additional.fields |
Mappato con la chiave DeliveryAction . |
properties.DeliveryLocation |
additional.fields |
Mappato con la chiave DeliveryLocation . |
properties.DestinationDeviceName |
target.hostname , target.asset.hostname |
Il campo properties.DestinationDeviceName del log non elaborato è mappato sia su target.hostname sia su target.asset.hostname . |
properties.DestinationIPAddress |
target.ip , target.asset.ip |
Il campo properties.DestinationIPAddress del log non elaborato è mappato sia su target.ip sia su target.asset.ip . |
properties.DestinationPort |
target.port |
Il campo properties.DestinationPort del log non elaborato è mappato a target.port . |
properties.DeviceName |
principal.hostname , principal.asset.hostname |
Il campo properties.DeviceName del log non elaborato è mappato sia su principal.hostname sia su principal.asset.hostname . |
properties.EmailClusterId |
additional.fields |
Mappato con la chiave EmailClusterId . |
properties.EmailDirection |
network.direction |
Se il valore è Inbound , il campo UDM è impostato su INBOUND . Se il valore è Outbound , il campo UDM è impostato su OUTBOUND . In caso contrario, è impostato su UNKNOWN_DIRECTION . |
properties.EmailLanguage |
additional.fields |
Mappato con la chiave EmailLanguage . |
properties.InitiatingProcessAccountDomain |
principal.administrative_domain |
Il campo properties.InitiatingProcessAccountDomain del log non elaborato è mappato a principal.administrative_domain . |
properties.InitiatingProcessAccountSid |
principal.user.windows_sid |
Il campo properties.InitiatingProcessAccountSid del log non elaborato è mappato a principal.user.windows_sid . |
properties.InitiatingProcessCommandLine |
principal.process.command_line |
Il campo properties.InitiatingProcessCommandLine del log non elaborato è mappato a principal.process.command_line . |
properties.InitiatingProcessFileName |
principal.process.file.full_path |
Utilizzato in combinazione con properties.InitiatingProcessFolderPath per costruire il percorso completo. Se properties.InitiatingProcessFolderPath contiene già il nome del file, viene utilizzato direttamente. |
properties.InitiatingProcessFolderPath |
principal.process.file.full_path |
Utilizzato in combinazione con properties.InitiatingProcessFileName per costruire il percorso completo. |
properties.InitiatingProcessId |
principal.process.pid |
Il campo properties.InitiatingProcessId del log non elaborato è mappato a principal.process.pid . |
properties.InitiatingProcessIntegrityLevel |
about.labels |
Mappato con la chiave InitiatingProcessIntegrityLevel . |
properties.InitiatingProcessMD5 |
principal.process.file.md5 |
Il campo properties.InitiatingProcessMD5 del log non elaborato è mappato a principal.process.file.md5 . |
properties.InitiatingProcessParentId |
principal.process.parent_process.pid |
Il campo properties.InitiatingProcessParentId del log non elaborato è mappato a principal.process.parent_process.pid . |
properties.InitiatingProcessParentFileName |
principal.process.parent_process.file.full_path |
Il campo properties.InitiatingProcessParentFileName del log non elaborato è mappato a principal.process.parent_process.file.full_path . |
properties.InitiatingProcessSHA1 |
principal.process.file.sha1 |
Il campo properties.InitiatingProcessSHA1 del log non elaborato è mappato a principal.process.file.sha1 . |
properties.InitiatingProcessSHA256 |
principal.process.file.sha256 |
Il campo properties.InitiatingProcessSHA256 del log non elaborato è mappato a principal.process.file.sha256 . |
properties.InitiatingProcessTokenElevation |
about.labels |
Mappato con la chiave InitiatingProcessTokenElevation . |
properties.InternetMessageId |
additional.fields |
L'analizzatore sintattico rimuove le parentesi angolari e mappa il valore con la chiave InternetMessageId . |
properties.IPAddress |
principal.ip , principal.asset.ip |
Il campo properties.IPAddress del log non elaborato è mappato sia su principal.ip sia su principal.asset.ip . |
properties.LogonType |
extensions.auth.mechanism |
Utilizzato per derivare il valore di extensions.auth.mechanism . |
properties.Port |
principal.port |
Il campo properties.Port del log non elaborato è mappato a principal.port . |
properties.PreviousRegistryKey |
src.registry.registry_key |
Il campo properties.PreviousRegistryKey del log non elaborato è mappato a src.registry.registry_key . |
properties.PreviousRegistryValueData |
src.registry.registry_value_data |
Il campo properties.PreviousRegistryValueData del log non elaborato è mappato a src.registry.registry_value_data . |
properties.PreviousRegistryValueName |
src.registry.registry_value_name |
Il campo properties.PreviousRegistryValueName del log non elaborato è mappato a src.registry.registry_value_name . |
properties.Query |
principal.user.attribute.labels |
Mappato con la chiave LDAP Search Scope . |
properties.RecipientEmailAddress |
Non mappato | Questo campo non è mappato all'oggetto IDM nell'UDM. |
properties.RegistryKey |
target.registry.registry_key |
Il campo properties.RegistryKey del log non elaborato è mappato a target.registry.registry_key . |
properties.RegistryValueData |
target.registry.registry_value_data |
Il campo properties.RegistryValueData del log non elaborato è mappato a target.registry.registry_value_data . |
properties.RegistryValueName |
target.registry.registry_value_name |
Il campo properties.RegistryValueName del log non elaborato è mappato a target.registry.registry_value_name . |
properties.ReportId |
about.labels |
Mappato con la chiave ReportId . |
properties.SenderIPv4 |
principal.ip , principal.asset.ip |
Il campo properties.SenderIPv4 del log non elaborato è mappato sia su principal.ip sia su principal.asset.ip . |
properties.SenderMailFromAddress |
principal.user.attribute.labels |
Mappato con la chiave SenderMailFromAddress . |
properties.SenderMailFromDomain |
principal.user.attribute.labels |
Mappato con la chiave SenderMailFromDomain . |
properties.SenderObjectId |
principal.user.product_object_id |
Il campo properties.SenderObjectId del log non elaborato è mappato a principal.user.product_object_id . |
properties.Timestamp |
metadata.event_timestamp |
Il campo properties.Timestamp del log non elaborato è mappato a metadata.event_timestamp . |
tenantId |
observer.cloud.project.id |
Il campo tenantId del log non elaborato è mappato a observer.cloud.project.id . |
N/D | extensions.auth.type |
Il valore MACHINE viene assegnato dal parser. |
N/D | metadata.event_type |
Derivato in base ai campi category e properties.ActionType . Può essere USER_LOGIN , USER_RESOURCE_ACCESS , USER_CHANGE_PASSWORD , REGISTRY_MODIFICATION , REGISTRY_DELETION , REGISTRY_CREATION , GENERIC_EVENT o STATUS_UPDATE . |
N/D | metadata.vendor_name |
Il valore Microsoft viene assegnato dal parser. |
N/D | metadata.product_name |
Il valore Microsoft Defender Identity viene assegnato dal parser. |
cs1 |
metadata.url_back_to_product |
Il campo cs1 del log non elaborato è mappato a metadata.url_back_to_product . |
externalId |
metadata.product_log_id |
Il campo externalId del log non elaborato è mappato a metadata.product_log_id . |
msg |
metadata.description |
Il campo msg del log non elaborato è mappato a metadata.description . |
rule_name |
security_result.rule_name |
Il campo rule_name del log non elaborato è mappato a security_result.rule_name . |
severity |
security_result.severity |
Il campo severity del log non elaborato è mappato a security_result.severity . |
shost |
principal.hostname , principal.asset.hostname |
Il campo shost del log non elaborato è mappato sia su principal.hostname sia su principal.asset.hostname . |
src |
principal.ip |
Il campo src del log non elaborato è mappato a principal.ip . |
suser |
principal.user.user_display_name |
Il campo suser del log non elaborato è mappato a principal.user.user_display_name . |
time |
metadata.event_timestamp |
Il campo time del log non elaborato è mappato a metadata.event_timestamp . |
userid |
principal.user.userid |
Il campo userid del log non elaborato è mappato a principal.user.userid . |
N/D | security_result.action |
Derivato in base al campo properties.ActionType . Può essere ALLOW o BLOCK . |
N/D | security_result.summary |
Derivato dal campo category o dal campo properties.ActionType . |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.