Collecter les journaux Microsoft Defender pour Office 365

Compatible avec :

Ce document explique comment collecter les journaux Microsoft Defender pour Office 365 en configurant un flux Google Security Operations à l'aide de Microsoft Azure Blob Storage V2.

Microsoft Defender pour Office 365 est une solution de sécurité des e-mails qui protège les organisations contre les menaces avancées telles que l'hameçonnage, la compromission de la messagerie en entreprise et les attaques par logiciel malveillant. Les données d'événements d'e-mail de Defender pour Office 365 sont disponibles via l'API de streaming Microsoft Defender XDR, qui diffuse les événements de repérage avancé vers un compte de stockage Azure. Google SecOps lit les événements diffusés directement à partir du compte de stockage. Aucun collecteur intermédiaire n'est donc requis.

Avant de commencer

Assurez-vous de remplir les conditions suivantes :

  • Une instance Google SecOps
  • Accès privilégié au portail Microsoft Azure avec les autorisations suivantes :
    • Créer des comptes de stockage dans le même locataire que Microsoft Defender XDR
    • Enregistrer des fournisseurs de ressources sur l'abonnement
    • Gérer les clés d'accès
    • Le rôle Contributeur sur le compte de stockage (requis par la configuration de l'API Streaming)
  • Accès au portail Microsoft Defender avec au moins le rôle Administrateur de la sécurité
  • Microsoft Defender pour Office 365 déployé dans votre locataire : les tables de repérage avancé Email* et UrlClickEvents sont renseignées par des enregistrements de Defender pour Office 365 et restent vides sans lui.

Configurer un compte de stockage Azure

Enregistrer le fournisseur de ressources Microsoft.Insights

L'API Streaming nécessite le fournisseur de ressources Microsoft.Insights sur l'abonnement qui contient le compte de stockage :

  1. Connectez-vous au portail Azure.
  2. Accédez à Abonnements > Votre abonnement > Fournisseurs de ressources.
  3. Recherchez Microsoft.Insights.
  4. Cliquez sur S'inscrire.

Créer un compte de stockage

  1. Sur le portail Azure, recherchez Comptes de stockage.
  2. Cliquez sur + Créer.
  3. Fournissez les informations de configuration suivantes :

    Paramètre Valeur
    Abonnement Sélectionnez votre abonnement Azure (même locataire que Microsoft Defender XDR).
    Groupe de ressources Sélectionner une base de données existante ou en créer une
    Nom du compte de stockage Saisissez un nom unique (par exemple, defenderemaillogs).
    Région Sélectionnez la région (par exemple, East US).
    Performances Standard (recommandé)
    Redondance GRS (stockage géoredondant) ou LRS (stockage localement redondant)
  4. Cliquez sur Examiner et créer.

  5. Examinez l'aperçu du compte, puis cliquez sur Créer.

  6. Attendez la fin du déploiement.

Autoriser les services Microsoft de confiance

  1. Accédez au compte de stockage que vous venez de créer.
  2. Sélectionnez Mise en réseau sous Sécurité et mise en réseau.
  3. Dans l'onglet Firewalls and virtual networks (Pare-feu et réseaux virtuels), sous Exceptions, assurez-vous que l'option Allow Azure services on the trusted services list to access this storage account (Autoriser les services Azure figurant sur la liste des services de confiance à accéder à ce compte de stockage) est sélectionnée.
  4. Cliquez sur Enregistrer.

Obtenir les identifiants du compte de stockage

  1. Dans le même compte de stockage, sélectionnez Clés d'accès sous Sécurité et mise en réseau.
  2. Cliquez sur Afficher les clés.
  3. Copiez et enregistrez les éléments suivants pour les utiliser ultérieurement :
    • Nom du compte de stockage : nom saisi lors de la création (par exemple, defenderemaillogs)
    • Clé 1 ou Clé 2 : clé d'accès partagée.

Obtenir l'ID de ressource du compte de stockage

  1. Dans le même compte de stockage, sur la page Overview (Présentation), cliquez sur JSON View (Vue JSON).
  2. Copiez et enregistrez l'ID de ressource. Son format est le suivant :

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

Configurer l'API Microsoft Defender XDR Streaming

  1. Connectez-vous au portail Microsoft Defender à l'aide d'un compte disposant au moins des autorisations d'administrateur de la sécurité.
  2. Accédez à Settings > Microsoft Defender XDR > Streaming API (Paramètres > Microsoft Defender XDR > API de streaming).
  3. Cliquez sur Ajouter.
  4. Dans le menu volant Ajouter de nouveaux paramètres de l'API Streaming, fournissez les détails de configuration suivants :
    • Nom : saisissez un nom pour les paramètres (par exemple, secops-email-events).
    • Sélectionnez Transférer les événements vers Azure Storage.
    • ID de ressource du compte de stockage : collez l'ID de ressource enregistré précédemment.
  5. Sélectionnez les types d'événements suivants :
    • EmailEvents
    • EmailAttachmentInfo
    • EmailUrlInfo
    • EmailPostDeliveryEvents
    • UrlClickEvents
  6. Cliquez sur Envoyer.

Une fois le streaming lancé, un conteneur de blobs est créé dans le compte de stockage pour chaque type d'événement sélectionné (documenté par Microsoft). Les noms des conteneurs suivent le modèle insights-logs-advancedhunting-<event type> (par exemple, insights-logs-advancedhunting-emailevents). La documentation de Microsoft montre le modèle pour d'autres tables. Par conséquent, prenez toujours les noms exacts de votre compte de stockage. Chaque ligne de blob contient l'événement au format JSON avec time, tenantId, category (le nom de la table avec le préfixe AdvancedHunting-) et les champs d'événement dans un objet properties.

Configurer des flux dans Google SecOps pour ingérer les journaux Microsoft Defender pour Office 365

Créez un flux par conteneur de type d'événement :

  1. Accédez à Paramètres > Gestion des données > Flux. Si vous utilisez une plate-forme SIEM uniquement, accédez à Paramètres > Flux.
  2. Cliquez sur Ajouter un flux d'actualités.
  3. Sur la page suivante, cliquez sur Configurer un seul flux.
  4. Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple, Defender for Office 365 - EmailEvents).
  5. Sélectionnez Microsoft Azure Blob Storage V2 comme Type de source.
  6. Sélectionnez Microsoft Defender pour Office 365 comme type de journal.
  7. Cliquez sur Suivant.
  8. Spécifiez les valeurs des paramètres d'entrée suivants :

    • URI Azure : saisissez l'URL du point de terminaison du service Blob avec le chemin d'accès au conteneur :
    https://<STORAGE_ACCOUNT_NAME>.blob.core.windows.net/insights-logs-advancedhunting-emailevents/
    

    Remplacez les éléments suivants :

    • <STORAGE_ACCOUNT_NAME> : nom de votre compte de stockage Azure.
    • Segment de conteneur : nom exact du conteneur copié à partir du compte de stockage.

    • Option de suppression de la source : sélectionnez l'option de suppression de votre choix :

      • Ne jamais supprimer les fichiers : ne supprime jamais les fichiers de la source.
      • Supprimer les fichiers transférés et les répertoires vides : supprimez les fichiers et les répertoires vides de la source une fois la récupération terminée.
    • Âge maximal du fichier : incluez les fichiers modifiés au cours d'un certain nombre de jours (180 jours par défaut).

    • Dans le menu déroulant d'authentification (qui est défini par défaut sur Clé d'accès/partagée), sélectionnez la méthode que vous souhaitez utiliser et fournissez les identifiants correspondants :

      • Clé d'accès/partagée : dans le champ Clé, collez une clé d'accès au compte de stockage (Clé 1 ou Clé 2) capturée précédemment.
      • Jeton SAP : dans le champ Jeton, collez un jeton de signature d'accès partagé (SAP) émis pour le conteneur.
      • Fédération d'identité de charge de travail Azure V2 : saisissez l'ID client et l'ID de locataire de l'application Microsoft Entra. Copiez l'ID de l'objet en lecture seule affiché par le flux, puis accordez à l'identité correspondante l'accès au compte de stockage côté Azure.
    • Espace de noms de l'élément : espace de noms de l'élément

    • Étiquettes d'ingestion : étiquette à appliquer aux événements de ce flux.

  9. Cliquez sur Suivant.

  10. Vérifiez la configuration de votre nouveau flux d'actualités sur l'écran Finaliser, puis cliquez sur Envoyer.

  11. Répétez les étapes pour chaque conteneur restant (insights-logs-advancedhunting-emailattachmentinfo, insights-logs-advancedhunting-emailurlinfo, insights-logs-advancedhunting-emailpostdeliveryevents, insights-logs-advancedhunting-urlclickevents) en utilisant le même type de journal et un nom de flux distinct.

Configurer le pare-feu Azure Storage (si activé)

Si votre compte de stockage Azure utilise un pare-feu, vous devez ajouter les plages d'adresses IP Google SecOps.

  1. Dans le portail Azure, accédez à votre compte de stockage.
  2. Sélectionnez Mise en réseau sous Sécurité et mise en réseau.
  3. Sous Pare-feu et réseaux virtuels, sélectionnez Activé à partir des réseaux virtuels et des adresses IP sélectionnés.
  4. Dans la section Pare-feu, sous Plage d'adresses, cliquez sur + Ajouter une plage d'adresses IP.
  5. Ajoutez chaque plage d'adresses IP Google SecOps au format CIDR.

Pour obtenir les plages d'adresses IP actuelles :

  1. Cliquez sur Enregistrer.

Table de mappage UDM

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

Journal des modifications

Afficher le journal des modifications de cet analyseur

Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.