Collecter les journaux Microsoft Defender pour Office 365
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 :
- Connectez-vous au portail Azure.
- Accédez à Abonnements > Votre abonnement > Fournisseurs de ressources.
- Recherchez Microsoft.Insights.
- Cliquez sur S'inscrire.
Créer un compte de stockage
- Sur le portail Azure, recherchez Comptes de stockage.
- Cliquez sur + Créer.
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) Cliquez sur Examiner et créer.
Examinez l'aperçu du compte, puis cliquez sur Créer.
Attendez la fin du déploiement.
Autoriser les services Microsoft de confiance
- Accédez au compte de stockage que vous venez de créer.
- Sélectionnez Mise en réseau sous Sécurité et mise en réseau.
- 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.
- Cliquez sur Enregistrer.
Obtenir les identifiants du compte de stockage
- Dans le même compte de stockage, sélectionnez Clés d'accès sous Sécurité et mise en réseau.
- Cliquez sur Afficher les clés.
- 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.
- Nom du compte de stockage : nom saisi lors de la création (par exemple,
Obtenir l'ID de ressource du compte de stockage
- Dans le même compte de stockage, sur la page Overview (Présentation), cliquez sur JSON View (Vue JSON).
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
- Connectez-vous au portail Microsoft Defender à l'aide d'un compte disposant au moins des autorisations d'administrateur de la sécurité.
- Accédez à Settings > Microsoft Defender XDR > Streaming API (Paramètres > Microsoft Defender XDR > API de streaming).
- Cliquez sur Ajouter.
- 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.
- Nom : saisissez un nom pour les paramètres (par exemple,
- Sélectionnez les types d'événements suivants :
- EmailEvents
- EmailAttachmentInfo
- EmailUrlInfo
- EmailPostDeliveryEvents
- UrlClickEvents
- 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 :
- Accédez à Paramètres > Gestion des données > Flux. Si vous utilisez une plate-forme SIEM uniquement, accédez à Paramètres > Flux.
- Cliquez sur Ajouter un flux d'actualités.
- Sur la page suivante, cliquez sur Configurer un seul flux.
- Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple,
Defender for Office 365 - EmailEvents). - Sélectionnez Microsoft Azure Blob Storage V2 comme Type de source.
- Sélectionnez Microsoft Defender pour Office 365 comme type de journal.
- Cliquez sur Suivant.
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.
Cliquez sur Suivant.
Vérifiez la configuration de votre nouveau flux d'actualités sur l'écran Finaliser, puis cliquez sur Envoyer.
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.
- Dans le portail Azure, accédez à votre compte de stockage.
- Sélectionnez Mise en réseau sous Sécurité et mise en réseau.
- Sous Pare-feu et réseaux virtuels, sélectionnez Activé à partir des réseaux virtuels et des adresses IP sélectionnés.
- Dans la section Pare-feu, sous Plage d'adresses, cliquez sur + Ajouter une plage d'adresses IP.
- Ajoutez chaque plage d'adresses IP Google SecOps au format CIDR.
Pour obtenir les plages d'adresses IP actuelles :
- Consultez la documentation sur l'ajout d'adresses IP à la liste d'autorisation.
- Vous pouvez également les récupérer de manière programmatique à l'aide de l'API Feed Management.
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.