Raccogliere i log degli avvisi di Microsoft Defender for Cloud

Supportato in:

Panoramica

Questo parser estrae i dati degli avvisi di sicurezza dai log in formato JSON di Microsoft Defender for Cloud. Trasforma e mappa i campi dei log non elaborati nell'UDM di Google SecOps, gestisce vari tipi di dati e strutture nidificate, arricchendo al contempo i dati con contesto ed etichette aggiuntivi per un'analisi migliorata.

Prima di iniziare

  • Assicurati di avere un'istanza Google SecOps.
  • Assicurati di disporre dell'accesso con privilegi a Microsoft Defender per il cloud.

Configura un feed in Google SecOps per importare i log degli avvisi di Microsoft Defender Cloud

  1. Vai a Impostazioni SIEM > Feed.
  2. Fai clic su Aggiungi nuovo.
  3. Nel campo Nome feed, inserisci un nome per il feed (ad esempio Log degli avvisi di Microsoft Defender for Cloud).
  4. Seleziona Webhook come Tipo di origine.
  5. Seleziona Microsoft Defender for Cloud come Tipo di log.
  6. Fai clic su Avanti.
  7. (Facoltativo) Specifica i valori per i seguenti parametri di input:
    • Delimitatore di split: il delimitatore utilizzato per separare le righe di log, ad esempio \n.
    • Spazio dei nomi degli asset: lo spazio dei nomi degli asset.
    • Etichette di importazione: l'etichetta applicata agli eventi di questo feed.
  8. Fai clic su Avanti.
  9. Controlla la configurazione del feed nella schermata Concludi e poi fai clic su Invia.
  10. Fai clic su Genera chiave segreta per generare una chiave segreta per autenticare questo feed.
  11. Copia e memorizza la chiave segreta. Non potrai più visualizzare questa chiave segreta. Se necessario, puoi rigenerare una nuova chiave segreta, ma questa azione rende obsoleta la chiave segreta precedente.
  12. Nella scheda Dettagli, copia l'URL dell'endpoint del feed dal campo Informazioni sull'endpoint. Devi specificare questo URL endpoint nell'applicazione client.
  13. Fai clic su Fine.

Crea una chiave API per il feed webhook

  1. Vai alla console Google Cloud > Credenziali.

    Vai a credenziali

  2. Fai clic su Crea credenziali e poi seleziona Chiave API.

  3. Limita l'accesso della chiave API all'API Google Security Operations.

Specifica l'URL dell'endpoint

  1. Nell'applicazione client, specifica l'URL dell'endpoint HTTPS fornito nel feed webhook.
  2. Attiva l'autenticazione specificando la chiave API e la chiave segreta nell'intestazione personalizzata nel seguente formato:

    X-goog-api-key = API_KEY
    X-Webhook-Access-Key = SECRET
    

    Consiglio: specifica la chiave API come intestazione anziché nell'URL. Se il client webhook non supporta le intestazioni personalizzate, puoi specificare la chiave API e la chiave segreta utilizzando parametri di ricerca nel seguente formato:

    ENDPOINT_URL?key=API_KEY&secret=SECRET
    

Sostituisci quanto segue:

  • ENDPOINT_URL: l'URL dell'endpoint del feed.
  • API_KEY: la chiave API per l'autenticazione in Google Security Operations.
  • SECRET: la chiave segreta che hai generato per autenticare il feed.

Crea un'app logica Azure

  1. Accedi al portale di Azure (https://portal.azure.com).
  2. Fai clic su Crea una risorsa e cerca App logica.
  3. Fai clic su Crea per avviare il processo di deployment.
  4. Configura l'app logica:
    • Nome: fornisci un nome descrittivo per l'app logica (ad esempio GoogleSecOpsWebhook).
    • Abbonamento: seleziona l'abbonamento appropriato.
    • Gruppo di risorse: scegli un gruppo di risorse esistente o creane uno nuovo.
    • Posizione: scegli la località più vicina al tuo ambiente.
    • Log Analytics: attiva questa opzione se vuoi registrare i dati diagnostici per l'app logica.
  5. Fai clic su Rivedi e crea per creare l'app logica.
  6. Fai clic su Crea per eseguire il deployment dell'app logica.

Configura la connessione webhook di App per la logica di Azure

  1. Vai all'app logica creata nel passaggio precedente.
  2. Fai clic su Strumenti di sviluppo > Designer di app logiche.
  3. Fai clic su Aggiungi un attivatore.
  4. Cerca Microsoft Defender for Cloud > Quando viene creato o attivato un avviso di Microsoft Defender for Cloud come trigger.

  5. Fai clic su Crea nuovo e segui le istruzioni per l'autenticazione.

  6. Fai clic su Inserisci un nuovo passaggio per aggiungere un nuovo passaggio al flusso di lavoro.

  7. Fai clic su Aggiungi un'azione.

  8. Cerca HTT.

  9. Seleziona HTTP come azione.

  10. Configura l'azione HTTP:

    • URI: inserisci l'URL dell'endpoint API Google SecOps.
    • Metodo: POST
    • Aggiungi l'intestazione Content-Type: imposta Content-Type come chiave dell'intestazione e application/json come valore dell'intestazione. In questo modo, Google SecOps viene a conoscenza del formato dei dati inviati.
    • Aggiungi la chiave API alle query: imposta key come prima chiave di query e <API_KEY> come valore della query. API_KEY è il valore della chiave API generato durante la configurazione del feed Google SecOps.
    • Aggiungi la chiave segreta alle query: imposta secret come seconda chiave di query e <SECRET_KEY> come valore della query. SECRET_KEY è la chiave segreta generata durante la configurazione del feed di Google SecOps.
    • Imposta il corpo dal passaggio precedente: fai clic su Inserisci i contenuti della richiesta > fai clic su Inserisci i dati dei passaggi precedenti (pulsante con icona a forma di fulmine a sinistra del campo di immissione).
  11. Fai clic su Salva.

Configurare l'webhook di Microsoft Defender Cloud Alerts

  1. Vai a Microsoft Defender for Cloud.
  2. Fai clic su Gestione > Automazione del flusso di lavoro.
  3. Fai clic su Aggiungi automazione del flusso di lavoro.
    • Nome: fornisci un nome descrittivo per la regola di automazione (ad esempio InoltraAvvisiAGoogleSecOps).
    • Gruppo di risorse: scegli un gruppo di risorse esistente.
    • Tipo di dati Defender for Cloud: scegli Avviso di sicurezza.
    • Gravità dell'avviso: scegli Seleziona tutto.
    • Mostra le istanze di app logiche dai seguenti abbonamenti: scegli l'abbonamento in cui è stata creata l'app logica.
    • Seleziona app logica: scegli l'app logica creata nei passaggi precedenti.
  4. Fai clic su Crea per salvare l'automazione del flusso di lavoro.

Tabella di mappatura UDM

Campo log Mappatura UDM Logica
AlertLink principal.resource.attribute.labels.AlertLink.value Mappatura diretta.
AlertName security_result.rule_name Mappatura diretta.
AlertSeverity security_result.severity Mappata direttamente se il valore è uno dei valori HIGH, MEDIUM, LOW, CRITICAL, UNKNOWN_SEVERITY. In caso contrario, viene mappato a security_result.severity_details. Il valore viene convertito in lettere maiuscole prima del confronto.
AlertType security_result.threat_name Mappatura diretta.
CompromisedEntity principal.resource.attribute.labels.CompromisedEntity.value Mappatura diretta.
Description security_result.description Mappatura diretta.
DisplayName security_result.summary Mappatura diretta.
EndTime about.resource.attribute.labels.EndTime.value Mappatura diretta.
Entities[].Location.City principal.location.city Mappatura diretta.
Entities[].Location.CountryName principal.location.country_or_region Mappatura diretta.
ExtendedLinks[].Category about.resource.attribute.labels.extendedLink_Category.value Mappatura diretta.
ExtendedLinks[].Href about.resource.attribute.labels.extendedLink_Href.value Mappatura diretta.
ExtendedLinks[].Label about.resource.attribute.labels.extendedLink_Label.value Mappatura diretta.
ExtendedLinks[].Type about.resource.attribute.labels.extendedLink_Type.value Mappatura diretta.
ExtendedProperties.Account Session Id network.session_id Mappato direttamente dopo la ridenominazione in accountSessionId.
ExtendedProperties.Alert Id metadata.product_log_id Mappato direttamente dopo la ridenominazione in alertId.
ExtendedProperties.Authentication type extensions.auth.auth_details Mappatura diretta dopo la ridenominazione in authenticationType.
ExtendedProperties.Client Application principal.application Mappato direttamente dopo la ridenominazione in clientApplication.
ExtendedProperties.Client Hostname principal.asset.hostname, principal.hostname Mappatura diretta dopo la ridenominazione in clientHostName.
ExtendedProperties.Client IP address principal.asset.ip, principal.ip Mappato direttamente dopo la ridenominazione in clientIpAddress.
ExtendedProperties.Client IP location principal.location.country_or_region Mappatura diretta dopo la ridenominazione in clientIpLocation.
ExtendedProperties.Client Location principal.location.country_or_region Mappato direttamente dopo la ridenominazione in clientLocation.
ExtendedProperties.Client Principal Name principal.user.userid Mappatura diretta dopo la ridenominazione in clientPrincipalName.
ExtendedProperties.Compromised Host principal.asset.hostname, principal.hostname Mappatura diretta dopo la ridenominazione in compromisedHost.
ExtendedProperties.Suspicious Command Line target.process.command_line Mappatura diretta dopo la ridenominazione in suspiciousCommandLine.
ExtendedProperties.Suspicious Process target.process.file.full_path Mappatura diretta dopo la ridenominazione in suspiciousProcess.
ExtendedProperties.Suspicious Process Id target.process.pid Mappatura diretta dopo la ridenominazione in suspiciousProcessId.
ExtendedProperties.User agent network.http.user_agent Mappatura diretta dopo la ridenominazione in userAgent.
ExtendedProperties.User Name principal.user.user_display_name Mappatura diretta dopo la ridenominazione in userName.
ExtendedProperties.resourceType principal.resource.name Mappatura diretta.
IsIncident security_result.detection_fields.IsIncident.value Mappatura diretta. Convertito in stringa.
ProcessingEndTime about.resource.attribute.labels.ProcessingEndTime.value Mappatura diretta.
ProductName metadata.product_name Mappatura diretta.
ResourceId principal.resource.product_object_id Mappatura diretta.
SourceSystem security_result.detection_fields.SourceSystem.value Mappatura diretta.
StartTime about.resource.attribute.labels.StartTime.value Mappatura diretta.
Status security_result.detection_fields.Status.value Mappatura diretta.
SystemAlertId metadata.product_log_id Mappatura diretta.
Tactics security_result.attack_details.tactics.name Mappatura diretta.
TenantId additional.fields.TenantId.string_value Mappatura diretta.
TimeGenerated about.resource.attribute.labels.TimeGenerated.value Mappatura diretta.
VendorName metadata.vendor_name Mappatura diretta.
WorkspaceResourceGroup target.resource.attribute.labels.WorkspaceResourceGroup.value Mappatura diretta.
WorkspaceSubscriptionId target.resource.attribute.labels.WorkspaceSubscriptionId.value Mappatura diretta.
_Internal_WorkspaceResourceId target.resource.product_object_id Mappatura diretta.
properties.alertDisplayName security_result.rule_name Mappatura diretta.
properties.alertType security_result.threat_name Mappatura diretta.
properties.alertUri principal.resource.attribute.labels.AlertUri.value Mappatura diretta.
properties.correlationKey principal.resource.attribute.labels.correlationKey.value Mappatura diretta.
properties.description security_result.description Mappatura diretta.
properties.endTimeUtc additional.fields.EndTime.string_value Mappatura diretta.
properties.entities[].location.city principal.location.city Mappatura diretta.
properties.entities[].location.countryName principal.location.country_or_region Mappatura diretta.
properties.entities[].location.latitude principal.location.region_coordinates.latitude Mappatura diretta. Convertito in numero decimale.
properties.entities[].location.longitude principal.location.region_coordinates.longitude Mappatura diretta. Convertito in numero decimale.
properties.extendedProperties.alert_Id metadata.product_log_id Mappatura diretta.
properties.extendedProperties.clientApplication principal.application Mappatura diretta.
properties.extendedProperties.clientIpAddress principal.asset.ip, principal.ip Mappatura diretta. Analizzata come indirizzo IP.
properties.extendedProperties.clientLocation principal.location.country_or_region Mappatura diretta.
properties.extendedProperties.clientPrincipalName principal.user.userid Mappatura diretta.
properties.extendedProperties.compromisedEntity principal.resource.attribute.labels.CompromisedEntity.value Mappatura diretta.
properties.extendedProperties.resourceType principal.resource.name Mappatura diretta.
properties.IsIncident security_result.detection_fields.isIncident.value Mappatura diretta. Convertito in stringa.
properties.productName metadata.product_name Mappatura diretta.
properties.resourceIdentifiers[].<key> additional.fields.<key>_<index>.string_value Mappatura diretta. Le chiavi $id e type vengono aggiunte con l'indice dell'elemento nell'array.
properties.severity security_result.severity Mappata direttamente se il valore è uno dei valori HIGH, MEDIUM, LOW, CRITICAL, UNKNOWN_SEVERITY. In caso contrario, viene mappato a security_result.severity_details. Il valore viene convertito in lettere maiuscole prima del confronto.
properties.startTimeUtc additional.fields.StartTime.string_value Mappatura diretta.
properties.status security_result.detection_fields.Status.value Mappatura diretta.
properties.timeGeneratedUtc additional.fields.TimeGenerated.string_value Mappatura diretta. Impostato su "MICROSOFT_DEFENDER_CLOUD_ALERTS" se non specificato nel log. Impostato su "MICROSOFT_DEFENDER_CLOUD_ALERTS". Imposta su "USER_RESOURCE_ACCESS" se sono presenti entità o target, altrimenti imposta su "GENERIC_EVENT".

Modifiche

2024-07-05

  • "isInteractive" è stato mappato a "security_result.detection_fields".

2024-04-02

  • "properties.createdDateTime" è stato mappato a "metadata.event_timestamp".
  • "properties.resourceServicePrincipalId" e "resourceServicePrincipalId" sono stati mappati a "target.resource.attribute.labels".
  • "properties.authenticationProcessingDetails", "authenticationProcessingDetails" e "properties.networkLocationDetails" sono stati mappati a "additional.fields".
  • "properties.userAgent" è stato mappato a "network.http.user_agent" e "network.http.parsed_user_agent".
  • "properties.authenticationRequirement" è stato mappato a "additional.fields".