Raccogliere i log di Microsoft Sentinel

Supportato in:

Panoramica

Questo parser estrae i campi dai log JSON di Microsoft Sentinel, esegue trasformazioni come l'estrazione dell'indirizzo IP e la manipolazione di stringhe e mappa i dati estratti all'UDM, inclusi i campi principal, target, security_result e metadati. Gestisce inoltre vari tipi di dati e unisce le entità estratte nella struttura UDM.

Prima di iniziare

  • Assicurati di avere un'istanza Google SecOps.
  • Accesso a Microsoft Sentinel.

Configura un feed in Google SecOps per importare i log di Microsoft Sentinel

  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 di Microsoft Sentinel).
  4. Seleziona Webhook come Tipo di origine.
  5. Seleziona Microsoft Sentinel 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 da applicare agli eventi di questo feed.
  8. Fai clic su Avanti.
  9. Rivedi la configurazione del nuovo 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 perché non potrai più visualizzarla. Puoi generare di nuovo una nuova chiave segreta, ma la rigenerazione della chiave segreta rende obsoleta la chiave segreta precedente.
  12. Dalla scheda Dettagli, copia l'URL dell'endpoint del feed dal campo Informazioni endpoint. Devi specificare questo URL dell'endpoint nella tua 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.

Configurare l'app logica per gli incidenti di Microsoft Sentinel

Per configurare l'app logica per gli incidenti di Microsoft Sentinel:

  1. Accedi al portale di Azure.
  2. Fai clic su Crea una risorsa.
  3. Cerca App logica.
  4. Fai clic su Crea per avviare la procedura di creazione.
  5. Specifica i valori per i seguenti parametri di input:
    • Abbonamento: seleziona l'abbonamento.
    • Gruppo di risorse: seleziona il gruppo di risorse.
    • Nome: inserisci un nome per l'app logica.
    • Regione: seleziona la regione.
    • Spazio di lavoro Log Analytics: seleziona lo spazio di lavoro Log Analytics.
  6. Fai clic su Review + create (Rivedi e crea).
  7. Fai clic su Crea.
  8. Dopo aver creato l'app logica, fai clic su Vai alla risorsa.
  9. Fai clic su Strumenti di sviluppo > Designer di app logiche.
  10. Fai clic su Aggiungi un attivatore.
  11. Cerca Microsoft Sentinel.
  12. Seleziona Evento Microsoft Sentinel come trigger.
  13. Se non hai ancora creato una connessione a Microsoft Sentinel, devi farlo ora. Fai clic su Crea nuovo e segui le istruzioni per l'autenticazione.
  14. Fai clic su Inserisci un nuovo passaggio.
  15. Fai clic su Aggiungi un'azione.
  16. Cerca e seleziona HTTP come azione.
  17. Specifica i valori per i seguenti parametri di input:
    • URI: l'URL dell'endpoint del feed.
    • Metodo: POST
    • Intestazioni: aggiungi le seguenti intestazioni:
      • Content-Type: application/json
      • X-goog-api-key: la chiave API per l'autenticazione in Google Security Operations.
      • X-Webhook-Access-Key: la chiave segreta che hai generato per autenticare il feed.

Configurare l'app logica per gli avvisi di Microsoft Sentinel

Per configurare l'app logica per gli avvisi di Microsoft Sentinel:

  1. Vai alla home page del portale di Azure.
  2. Fai clic su Crea una risorsa.
  3. Cerca App logica.
  4. Fai clic su Crea per avviare la procedura di creazione.
  5. Specifica i valori per i seguenti parametri di input:
    • Abbonamento: seleziona l'abbonamento.
    • Gruppo di risorse: seleziona il gruppo di risorse.
    • Nome: inserisci un nome per l'app logica.
    • Regione: seleziona la regione.
    • Spazio di lavoro Log Analytics: seleziona lo spazio di lavoro Log Analytics.
  6. Fai clic su Review + create (Rivedi e crea).
  7. Fai clic su Crea.
  8. Dopo aver creato l'app logica, fai clic su Vai alla risorsa.
  9. Fai clic su Strumenti di sviluppo > Designer di app logiche.
  10. Fai clic su Aggiungi un attivatore.
  11. Cerca Microsoft Sentinel.
  12. Seleziona Avviso Microsoft Sentinel come attivatore.
  13. Se non hai ancora creato una connessione a Microsoft Sentinel, devi farlo ora. Fai clic su Crea nuovo e segui le istruzioni per l'autenticazione.
  14. Fai clic su Inserisci un nuovo passaggio.
  15. Fai clic su Aggiungi un'azione.
  16. Cerca e seleziona HTTP come azione.
  17. Specifica i valori per i seguenti parametri di input:
    • URI: l'URL dell'endpoint del feed.
    • Metodo: POST
    • Intestazioni: aggiungi le seguenti intestazioni:
      • Content-Type: application/json
      • X-goog-api-key: la chiave API per l'autenticazione in Google Security Operations.
      • X-Webhook-Access-Key: la chiave segreta che hai generato per autenticare il feed.

Configurare le regole di automazione per Microsoft Sentinel

Per configurare le regole di automazione per Microsoft Sentinel:

  1. Vai al tuo workspace di Microsoft Sentinel.
  2. Fai clic su Configurazione > Automazione.
  3. Fai clic su Crea.
  4. Seleziona Regola di automazione.
  5. Specifica i valori per i seguenti parametri di input:
    • Nome: inserisci un nome per la regola di automazione.
    • Trigger: seleziona Quando viene creato l'incidente.
    • Azioni: seleziona Esegui playbook > App logica creata per gli incidenti.
  6. Fai clic su Applica.
  7. Fai clic su Crea.
  8. Seleziona Regola di automazione.
  9. Specifica i valori per i seguenti parametri di input:
    • Nome: inserisci un nome per la regola di automazione.
    • Attacca: seleziona Quando l'incidente viene aggiornato.
    • Condizione: fai clic su Aggiungi > Condizione (E) > Stato > Modificato.
    • Azioni: seleziona Esegui playbook > App logica creata per gli incidenti.
  10. Fai clic su Applica.
  11. Fai clic su Crea.
  12. Seleziona Regola di automazione.
  13. Specifica i valori per i seguenti parametri di input:
    • Nome: inserisci un nome per la regola di automazione.
    • Attivatore: seleziona Quando viene creato l'avviso.
    • Azioni: seleziona Esegui playbook > App logica creata per gli avvisi.
  14. Fai clic su Applica.

Tabella di mappatura UDM

Campo log Mappatura UDM Logica
AlertGenerationStatus security_result.detection_fields.AlertGenerationStatus Mappato direttamente dal campo ExtendedProperties dopo l'analisi JSON.
AlertLink principal.labels.AlertLink Mappatura diretta.
AlertName security_result.rule_name Mappatura diretta.
AlertSeverity security_result.severity Mappato direttamente, convertito in maiuscolo. Se il valore è uno dei valori HIGH, MEDIUM, LOW, CRITICAL o UNKNOWN_SEVERITY, viene mappato a security_result.severity. In caso contrario, viene mappato a security_result.severity_details.
AlertType security_result.threat_name Mappatura diretta.
Category security_result.detection_fields.Category Mappato direttamente dal campo ExtendedProperties dopo l'analisi JSON.
CompromisedEntity principal.resource.attribute.labels.CompromisedEntity Mappatura diretta.
CompromisedEntityId security_result.detection_fields.CompromisedEntityId Mappato direttamente dal campo ExtendedProperties dopo l'analisi JSON.
ConfidenceLevel security_result.confidence_details Mappatura diretta.
ConfidenceScore security_result.detection_fields.ConfidenceScore Mappatura diretta.
cribl_pipe additional.fields.cribl_pipe Mappatura diretta.
Description security_result.description Mappatura diretta.
DestinationDevice security_result.detection_fields.DestinationDevice OPPURE target.ip Mappato dal campo ExtendedProperties dopo l'analisi JSON. Se il valore è un indirizzo IP valido, viene mappato a target.ip. In caso contrario, viene mappato come campo di rilevamento.
DestinationDeviceAddress target.ip Mappato dal campo ExtendedProperties dopo l'analisi JSON, solo se si tratta di un indirizzo IP valido.
DeviceId security_result.detection_fields.DeviceId Mappato direttamente dal campo ExtendedProperties dopo l'analisi JSON.
DisplayName security_result.summary Mappatura diretta.
EndTime about.labels.EndTime Mappatura diretta.
Entities.Address principal.asset.ip Estratto dall'array Entities dopo l'analisi JSON. Vengono mappati solo gli indirizzi IP.
Entities.HostName principal.asset.hostname OPPURE principal.asset.ip Estratto dall'array Entities dopo l'analisi JSON. Se il valore è un indirizzo IP valido, viene mappato a principal.asset.ip. In caso contrario, viene mappato a principal.asset.hostname.
Entities.IoTDevice.DeviceId security_result.detection_fields.IoTDeviceID Estratto dall'array Entities dopo l'analisi JSON.
Entities.IoTDevice.DeviceType security_result.detection_fields.IoTDeviceType Estratto dall'array Entities dopo l'analisi JSON.
Entities.IoTDevice.DeviceTypeId security_result.detection_fields.IoTDeviceTypeId Estratto dall'array Entities dopo l'analisi JSON.
Entities.IoTDevice.Importance security_result.detection_fields.IoTDeviceImportance Estratto dall'array Entities dopo l'analisi JSON.
Entities.IoTDevice.IoTSecurityAgentId security_result.detection_fields.IoTSecurityAgentId Estratto dall'array Entities dopo l'analisi JSON.
Entities.IoTDevice.Manufacturer security_result.detection_fields.IoT Manufacturer Estratto dall'array Entities dopo l'analisi JSON.
Entities.IoTDevice.OperatingSystem principal.asset.platform_software.platform_version Estratto dall'array Entities dopo l'analisi JSON, spazi finali rimossi.
Entities.IoTDevice.PurdueLayer security_result.detection_fields.IoT PurdueLayer Estratto dall'array Entities dopo l'analisi JSON.
Entities.IoTDevice.Sensor security_result.detection_fields.IoT Sensor Estratto dall'array Entities dopo l'analisi JSON.
ExtendedProperties.Protocol security_result.detection_fields.Protocol Mappato direttamente dal campo ExtendedProperties dopo l'analisi JSON.
ExtendedProperties.SensorId security_result.detection_fields.SensorId Mappato direttamente dal campo ExtendedProperties dopo l'analisi JSON.
ExtendedProperties.SourceDevice principal.ip OPPURE security_result.detection_fields.SourceDevice Mappato dal campo ExtendedProperties dopo l'analisi JSON. Se il valore è un indirizzo IP valido, viene mappato a principal.ip. In caso contrario, viene mappato come campo di rilevamento.
ExtendedProperties.SourceDeviceAddress principal.ip Mappato dal campo ExtendedProperties dopo l'analisi JSON, solo se si tratta di un indirizzo IP valido.
IsIncident security_result.detection_fields.IsIncident Mappato direttamente, convertito in stringa.
ProcessingEndTime about.labels.ProcessingEndTime Mappatura diretta.
ProductComponentName principal.resource.attribute.labels.ProductComponentName Mappatura diretta.
ProductName principal.resource.attribute.labels.ProductName Mappatura diretta.
ProviderName principal.resource.attribute.labels.ProviderName Mappatura diretta.
ResourceId principal.resource.product_object_id, target.resource.name Mappatura diretta.
SourceComputerId principal.asset.asset_id Mappato direttamente, con prefisso "SourceComputerId:".
SourceSystem security_result.detection_fields.SourceSystem Mappatura diretta.
StartTime about.labels.StartTime Mappatura diretta.
Status security_result.detection_fields.Status Mappatura diretta.
SystemAlertId metadata.product_log_id Mappatura diretta.
Tactics security_result.attack_details.tactics.name Estratto dal campo Tactics dopo l'analisi JSON e la rimozione della barra.
Techniques security_result.attack_details.techniques.id Estratto dal campo Techniques dopo l'analisi JSON e la rimozione della barra.
TenantId additional.fields.TenantId Mappatura diretta.
TimeGenerated about.labels.TimeGenerated Mappatura diretta.
timestamp metadata.event_timestamp, events.timestamp Mappatura diretta.
VendorName metadata.vendor_name Mappatura diretta.
VendorOriginalId additional.fields.VendorOriginalId Mappatura diretta.
_time metadata.event_timestamp, events.timestamp Analizzata come timestamp utilizzando il formato UNIX o UNIX_MS.
(Parser Logic) metadata.event_type Imposta su "USER_RESOURCE_ACCESS" se sono presenti principal, target e ResourceId. In caso contrario, impostalo su "GENERIC_EVENT".
(Parser Logic) metadata.log_type Impostato su "MICROSOFT_SENTINEL".
(Parser Logic) metadata.product_name Impostato su "MICROSOFT_SENTINEL".

Modifiche

2023-11-03

  • "ResourceId" è stato mappato a "target.resource.name".
  • Quando "ResourceId" è "non nullo" e l'evento ha uno di "principale" o "target" come "non nullo", mappa "metadata.event_type" a "USER_RESOURCE_ACCESS".

2023-08-31

  • Parser appena creato.