Raccogliere i log di Microsoft Defender per Office 365

Supportato in:

Questo documento descrive come raccogliere i log di Microsoft Defender for Office 365 configurando un feed Google Security Operations utilizzando Microsoft Azure Blob Storage V2.

Microsoft Defender for Office 365 è una soluzione di sicurezza della posta elettronica che protegge le organizzazioni da minacce avanzate come phishing, compromissione della posta elettronica aziendale e attacchi malware. I dati sugli eventi email di Defender for Office 365 sono disponibili tramite l'API Microsoft Defender XDR Streaming, che trasmette gli eventi di ricerca avanzata a un account Azure Storage. Google SecOps legge gli eventi in streaming direttamente dall'account di archiviazione, quindi non è necessario alcun raccoglitore intermedio.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Un'istanza Google SecOps
  • Accesso con privilegi al portale Microsoft Azure con autorizzazioni per:
    • Crea account di archiviazione nello stesso tenant di Microsoft Defender XDR
    • Registra i provider di risorse nella sottoscrizione
    • Gestisci le chiavi di accesso
    • Il ruolo Collaboratore sull'account di archiviazione (richiesto dalla configurazione dell'API Streaming)
  • Accesso al portale Microsoft Defender con almeno il ruolo Amministratore della sicurezza
  • Microsoft Defender for Office 365 distribuito nel tuo tenant: le tabelle Email* e UrlClickEvents di Ricerca avanzata vengono compilate con i record di Defender for Office 365 e rimangono vuote senza

Configura un account di archiviazione Azure

Registra il provider di risorse Microsoft.Insights

L'API Streaming richiede il provider di risorse Microsoft.Insights nell'abbonamento che contiene l'account di archiviazione:

  1. Accedi al portale Azure.
  2. Vai ad Abbonamenti > Il tuo abbonamento > Fornitori di risorse.
  3. Cerca Microsoft.Insights.
  4. Fai clic su Register (Registrati).

Crea un account di archiviazione

  1. Nel portale Azure, cerca Account di archiviazione.
  2. Fai clic su + Crea.
  3. Fornisci i seguenti dettagli di configurazione:

    Impostazione Valore
    Abbonamento Seleziona il tuo abbonamento Azure (lo stesso tenant di Microsoft Defender XDR)
    Gruppo di risorse Seleziona esistente o crea nuovo
    Nome dell'account di archiviazione Inserisci un nome univoco (ad esempio, defenderemaillogs).
    Regione Seleziona la regione (ad esempio, East US)
    Prestazioni Standard (consigliato)
    Ridondanza GRS (archiviazione con ridondanza geografica) o LRS (archiviazione con ridondanza locale)
  4. Fai clic su Review + create (Rivedi e crea).

  5. Rivedi la panoramica dell'account e fai clic su Crea.

  6. Attendi il completamento del deployment.

Consenti servizi Microsoft attendibili

  1. Vai all'account di archiviazione che hai appena creato.
  2. Seleziona Networking in Sicurezza + networking.
  3. Nella scheda Firewall e reti virtuali, nella sezione Eccezioni, assicurati che sia selezionata l'opzione Consenti ai servizi Azure nell'elenco dei servizi attendibili di accedere a questo account di archiviazione.
  4. Fai clic su Salva.

Recupera le credenziali dell'account Storage

  1. Nello stesso account di archiviazione, seleziona Chiavi di accesso in Sicurezza e networking.
  2. Fai clic su Mostra chiavi.
  3. Copia e salva quanto segue per utilizzarlo in un secondo momento:
    • Nome account Storage: il nome inserito durante la creazione (ad esempio, defenderemaillogs)
    • Tasto 1 o Tasto 2: la chiave di accesso condivisa

Recupera l'ID risorsa dell'account Storage

  1. Nello stesso account di archiviazione, nella pagina Panoramica, fai clic su Visualizzazione JSON.
  2. Copia e salva l'ID risorsa. Ha il seguente formato:

    /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>
    

Configura l'API di streaming Microsoft Defender XDR

  1. Accedi al portale Microsoft Defender utilizzando un account con almeno le autorizzazioni di amministratore della sicurezza.
  2. Vai a Impostazioni > Microsoft Defender XDR > API di streaming.
  3. Fai clic su Aggiungi.
  4. Nel riquadro a comparsa Aggiungi nuove impostazioni dell'API Streaming, fornisci i seguenti dettagli di configurazione:
    • Nome: inserisci un nome per le impostazioni (ad esempio, secops-email-events).
    • Seleziona Inoltra eventi ad Azure Storage.
    • ID risorsa account di archiviazione: incolla l'ID risorsa salvato in precedenza.
  5. Seleziona i seguenti tipi di evento:
    • EmailEvents
    • EmailAttachmentInfo
    • EmailUrlInfo
    • EmailPostDeliveryEvents
    • UrlClickEvents
  6. Fai clic su Invia.

Dopo l'inizio dello streaming, viene creato un contenitore blob nell'account di archiviazione per ogni tipo di evento selezionato (documentato da Microsoft). I nomi dei contenitori seguono il pattern insights-logs-advancedhunting-<event type> (ad esempio, insights-logs-advancedhunting-emailevents). La documentazione di Microsoft mostra il pattern per altre tabelle, quindi prendi sempre i nomi esatti dal tuo account di archiviazione. Ogni riga del blob contiene l'evento in formato JSON con time, tenantId, category (il nome della tabella con il prefisso AdvancedHunting-) e i campi dell'evento all'interno di un oggetto properties.

Configura i feed in Google SecOps per importare i log di Microsoft Defender for Office 365

Crea un feed per ogni contenitore di tipo di evento:

  1. Vai a Impostazioni SIEM > Feed.
  2. Fai clic su Aggiungi nuovo feed.
  3. Nella pagina successiva, fai clic su Configura un singolo feed.
  4. Nel campo Nome feed, inserisci un nome per il feed (ad esempio, Defender for Office 365 - EmailEvents).
  5. Seleziona Microsoft Azure Blob Storage V2 come Tipo di origine.
  6. Seleziona Microsoft Defender for Office 365 come Tipo di log.
  7. Fai clic su Avanti.
  8. Specifica i valori per i seguenti parametri di input:

    • URI Azure: inserisci l'URL dell'endpoint del servizio BLOB con il percorso del container:
    https://<STORAGE_ACCOUNT_NAME>.blob.core.windows.net/insights-logs-advancedhunting-emailevents/
    

    Sostituisci quanto segue:

    • <STORAGE_ACCOUNT_NAME>: il nome del tuo account di archiviazione Azure.
    • Il segmento del contenitore: il nome esatto del contenitore copiato dall'account di archiviazione.

    • Opzione di eliminazione dell'origine: seleziona l'opzione di eliminazione in base alle tue preferenze:

      • Non eliminare mai i file: non eliminare mai i file dall'origine.
      • Elimina file trasferiti e directory vuote: elimina i file e le directory vuote dall'origine dopo il completamento di un recupero riuscito.
    • Età massima del file: includi i file modificati nell'ultimo numero di giorni (il valore predefinito è 180 giorni)

    • Nel menu a discesa dell'autenticazione (impostato per impostazione predefinita su Chiave di accesso/condivisa), seleziona il metodo che vuoi utilizzare e fornisci le credenziali corrispondenti:

      • Chiave di accesso/condivisa: nel campo Chiave, incolla una chiave di accesso all'account di archiviazione (Chiave 1 o Chiave 2) acquisita in precedenza.
      • Token SAS: nel campo Token, incolla un token di firma di accesso condiviso (SAS) emesso per il contenitore.
      • Federazione delle identità per i workload Azure V2: inserisci l'ID client e l'ID tenant dell'applicazione Microsoft Entra. Copia l'ID soggetto di sola lettura visualizzato dal feed e concedi l'accesso all'identità corrispondente all'account di archiviazione sul lato Azure.
    • Spazio dei nomi dell'asset: lo spazio dei nomi dell'asset

    • Etichette di importazione: l'etichetta da applicare agli eventi di questo feed

  9. Fai clic su Avanti.

  10. Controlla la nuova configurazione del feed nella schermata Finalizza e poi fai clic su Invia.

  11. Ripeti i passaggi per ogni contenitore rimanente (insights-logs-advancedhunting-emailattachmentinfo, insights-logs-advancedhunting-emailurlinfo, insights-logs-advancedhunting-emailpostdeliveryevents, insights-logs-advancedhunting-urlclickevents), utilizzando lo stesso Tipo di log e un Nome feed distinto.

Configura il firewall di Azure Storage (se abilitato)

Se il tuo account di archiviazione Azure utilizza un firewall, devi aggiungere gli intervalli IP di Google SecOps.

  1. Nel portale Azure, vai al tuo account di archiviazione.
  2. Seleziona Networking in Sicurezza + networking.
  3. In Firewall e reti virtuali, seleziona Attivato da reti virtuali e indirizzi IP selezionati.
  4. Nella sezione Firewall, in Intervallo di indirizzi, fai clic su + Aggiungi intervallo IP.
  5. Aggiungi ogni intervallo IP di Google SecOps in notazione CIDR.

Per ottenere gli intervalli IP attuali:

  1. Fai clic su Salva.

Tabella di mappatura UDM

Campo log Mappatura UDM Logica
CompAuth_label additional.fields Unita
DKIM_label additional.fields Unita
DMARC_label additional.fields Unita
SPF_label additional.fields Unita
additional_email_cluster_id additional.fields Unita
additional_fields_label additional.fields Unita
additional_replyto additional.fields Unita
attachment_cnt_label additional.fields Unita
attachment_count_label additional.fields Unita
bulk_complaint_level_label additional.fields Unita
clicked_label additional.fields Unita
confidence_level_label additional.fields Unita
connectors_label additional.fields Unita
delivery_action_label additional.fields Unita
delivery_location_label additional.fields Unita
detection_methods_label additional.fields Unita
email_action_label additional.fields Unita
email_action_policy_guid_label additional.fields Unita
email_action_policy_label additional.fields Unita
email_cluster_id_label additional.fields Unita
email_direction_label additional.fields Unita
email_language_label additional.fields Unita
exchange_transport_rule_label additional.fields Unita
is_first_contact_label additional.fields Unita
org_level_action_label additional.fields Unita
org_level_policy_label additional.fields Unita
phishData_label additional.fields Unita
sender_from_address_label additional.fields Unita
sender_mail_label additional.fields Unita
spamData_label additional.fields Unita
threat_names_label additional.fields Unita
threat_types_label additional.fields Unita
url_chain_list additional.fields Unita
url_count_label additional.fields Unita
url_loc_label additional.fields Unita
url_location_label additional.fields Unita
urlcount_label additional.fields Unita
user_level_action_label additional.fields Unita
user_level_policy_label additional.fields Unita
workload_label additional.fields Unita
_time metadata.event_timestamp Analizzato come RFC3339
time metadata.event_timestamp Analizzato come yyyy-MM-ddTHH:mm:ss.SSSSSSSZ
event_type metadata.event_type Mappato direttamente
_raw.category metadata.product_event_type Mappato direttamente
operationName metadata.product_event_type Mappato direttamente
_raw.properties.ReportId metadata.product_log_id Mappato direttamente
_raw.properties.SenderFromAddress network.email.from Mappato direttamente
_raw.properties.InternetMessageId network.email.mail_id Mappato direttamente
_raw.properties.Subject network.email.subject Unita
properties.Subject network.email.subject Unita
_raw.properties.RecipientEmailAddress network.email.to Unita
email network.email.to Mappato: ^.+@.+$ → email
properties.EmailSize network.received_bytes Rinominate/mappate
_raw.properties.NetworkMessageId network.session_id Mappato direttamente
_raw.properties.SenderFromDomain principal.administrative_domain Mappato direttamente
_raw.properties.SenderMailFromDomain principal.administrative_domain Mappato direttamente
properties.SenderMailFromDomain principal.administrative_domain Mappato direttamente
_raw.properties.UrlDomain principal.asset.hostname Mappato direttamente
properties.SenderFromDomain principal.asset.hostname Mappato direttamente
properties.UrlDomain principal.asset.hostname Mappato direttamente
_raw.properties.SenderIPv4 principal.asset.ip Unita
_raw.properties.SenderIPv6 principal.asset.ip Unita
sender_ip principal.asset.ip Unita
_raw.properties.SenderMailFromAddress principal.email Mappato direttamente
target.SHA256 principal.file.sha256 Mappato direttamente
_raw.properties.UrlDomain principal.hostname Mappato direttamente
properties.SenderFromDomain principal.hostname Mappato direttamente
properties.UrlDomain principal.hostname Mappato direttamente
_raw.properties.SenderIPv4 principal.ip Unita
_raw.properties.SenderIPv6 principal.ip Unita
sender_ip principal.ip Unita
_raw.properties.Url principal.url Mappato direttamente
properties.Url principal.url Mappato direttamente
_raw.properties.SenderObjectId principal.user.product_object_id Mappato direttamente
tenantId principal.user.product_object_id Mappato direttamente
_raw.properties.SenderDisplayName principal.user.user_display_name Mappato direttamente
properties.SenderDisplayName principal.user.user_display_name Mappato direttamente
action security_result.action Unita
properties.Action security_result.action_details Mappato direttamente
security_result_category security_result.category Unita
category security_result.category_details Unita
Phish_level security_result.confidence Mappato: high → HIGH_CONFIDENCE, medium → MEDIUM_CONFIDENCE, low → LOW_CONFIDENCE
properties.ActionResult security_result.description Mappato direttamente
action_type_label security_result.detection_fields Unita
cribl_pipe_label security_result.detection_fields Unita
email_action_label security_result.detection_fields Unita
email_action_policy_label security_result.detection_fields Unita
email_language_label security_result.detection_fields Unita
emailactpol_guid_label security_result.detection_fields Unita
internet_message_id_label security_result.detection_fields Unita
network_message_id_label security_result.detection_fields Unita
operation_name_label security_result.detection_fields Unita
phish_level_label security_result.detection_fields Unita
recipient_id_label security_result.detection_fields Unita
report_id_label security_result.detection_fields Unita
sender_id_label security_result.detection_fields Unita
tenant_label security_result.detection_fields Unita
transport_rule_guid_label security_result.detection_fields Unita
trigger_label security_result.detection_fields Unita
properties.DeliveryLocation security_result.summary Mappato direttamente
properties.ThreatNames security_result.threat_name Mappato direttamente
properties.AccountUpn target.email Mappato direttamente
_raw.properties.FileName target.file.full_path Mappato direttamente
_raw.properties.FileType target.file.mime_type Mappato direttamente
properties.FileType target.file.mime_type Mappato direttamente
properties.FileName target.file.names Unita
_raw.properties.FileSize target.file.size Rinominate/mappate
properties.FileSize target.file.size Rinominate/mappate
properties.RecipientDomain target.hostname Mappato direttamente
_raw.tenantId target.resource.id Mappato direttamente
_raw.properties.RecipientObjectId target.user.product_object_id Mappato direttamente
N/D metadata.event_type Costante: GENERIC_EVENT
N/D metadata.product_name Costante: MICROSOFT_DEFENDER_MAIL
N/D metadata.vendor_name Costante: MICROSOFT_DEFENDER_MAIL
N/D network.direction Costante: INBOUND
N/D security_result.confidence Costante: HIGH_CONFIDENCE

Log delle modifiche

Visualizza il log delle modifiche per questo parser

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.