Collecter les journaux Microsoft Defender for Identity

Compatible avec :

Ce document explique comment ingérer les journaux Microsoft Defender for Identity dans Google Security Operations à l'aide d'Azure Storage. L'analyseur traite les journaux JSON ou les journaux au format CEF si l'analyse JSON échoue. Il extrait les champs, effectue des transformations de données telles que des conversions, des renommages et des fusions de chaînes, et les mappe au modèle de données unifié (UDM). Il gère différents formats de journaux et enrichit les données avec un contexte supplémentaire, comme des libellés et des informations d'authentification.

Avant de commencer

Assurez-vous de remplir les conditions suivantes :

  • Instance Google SecOps
  • un locataire Azure actif ;
  • Accès privilégié à Azure et rôle d'administrateur de la sécurité

Configurer un compte de stockage Azure

  1. Dans la console Azure, recherchez Comptes de stockage.
  2. Cliquez sur Créer.
  3. Spécifiez les valeurs des paramètres d'entrée suivants :
    • Abonnement : sélectionnez l'abonnement.
    • Groupe de ressources : sélectionnez le groupe de ressources.
    • Région : sélectionnez la région.
    • Performances : sélectionnez le type de performances (Standard recommandé).
    • Redondance : sélectionnez le type de redondance (GRS ou LRS recommandé).
    • Nom du compte de stockage : saisissez un nom pour le nouveau compte de stockage.
  4. Cliquez sur Examiner et créer.
  5. Examinez l'aperçu du compte, puis cliquez sur Créer.
  6. Sur la page Vue d'ensemble du compte de stockage, sélectionnez le sous-menu Clés d'accès dans Sécurité et mise en réseau.
  7. Cliquez sur Afficher à côté de key1 ou key2.
  8. Cliquez sur Copier dans le presse-papiers pour copier la clé.
  9. Enregistrez la clé dans un endroit sûr pour pouvoir la retrouver facilement.
  10. Sur la page Vue d'ensemble du compte de stockage, sélectionnez le sous-menu Points de terminaison dans Paramètres.
  11. Cliquez sur Copier dans le presse-papiers pour copier l'URL du point de terminaison du service Blob. (par exemple, https://<storageaccountname>.blob.core.windows.net).
  12. Enregistrez l'URL du point de terminaison dans un emplacement sécurisé pour pouvoir vous y référer ultérieurement.
  13. Accédez à Aperçu > Vue JSON.
  14. Copiez et enregistrez l'ID de ressource Storage.

Configurer l'exportation des journaux pour Microsoft Defender for Identity

  1. Connectez-vous au portail Defender à l'aide d'un compte privilégié.
  2. Accédez à Paramètres.
  3. Sélectionnez l'onglet Microsoft Defender XDR.
  4. Sélectionnez Streaming API dans la section "Général", puis cliquez sur Ajouter.
  5. Sélectionnez Transférer les événements vers Azure Storage.
  6. Fournissez les informations de configuration suivantes :
    • Nom : saisissez un nom unique et explicite.
    • Sélectionnez Transférer les événements vers Azure Storage.
    • ID de ressource du compte de stockage : saisissez l'ID de ressource Azure Storage que vous avez copié précédemment.
    • Types d'événements : sélectionnez Alertes et comportements et Appareils.
  7. Cliquez sur Envoyer.

Configurer des flux

Il existe deux points d'entrée différents pour configurer les flux dans la plate-forme Google SecOps :

  • Paramètres SIEM> Flux
  • Plate-forme de contenu > Packs de contenu

Configurer des flux à partir de Paramètres SIEM > Flux

Pour configurer un flux, procédez comme suit :

  1. Accédez à Paramètres SIEM> Flux.
  2. Cliquez sur Add New Feed (Ajouter un flux).
  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, Journaux Defender Identity).
  5. Sélectionnez Microsoft Azure Blob Storage comme Type de source.
  6. Sélectionnez Microsoft Defender pour Identity comme Type de journal.
  7. Cliquez sur Suivant.
  8. Spécifiez les valeurs des paramètres d'entrée suivants :

    • URI Azure : URL du point de terminaison du blob.

      ENDPOINT_URL/BLOB_NAME

      Remplacez les éléments suivants :

      • ENDPOINT_URL : URL du point de terminaison du blob. (https://<storageaccountname>.blob.core.windows.net)
      • BLOB_NAME : nom du blob. (par exemple, insights-logs-<logname>)
    • L'URI est : sélectionnez en fonction de la configuration du flux de journaux (Fichier unique | Répertoire | Répertoire incluant des sous-répertoires).

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

    • Clé partagée : clé d'accès à Azure Blob Storage.
  9. Cliquez sur Suivant.

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

Configurer des flux depuis le Hub de contenu

Indiquez les valeurs des champs suivants :

  • URI Azure : URL du point de terminaison du blob.

    ENDPOINT_URL/BLOB_NAME

    Remplacez les éléments suivants :

    • ENDPOINT_URL : URL du point de terminaison du blob. (https://<storageaccountname>.blob.core.windows.net)
    • BLOB_NAME : nom du blob. (par exemple, insights-logs-<logname>)
    • L'URI est : sélectionnez en fonction de la configuration du flux de journaux (Fichier unique | Répertoire | Répertoire incluant des sous-répertoires).
    • Options de suppression de la source : sélectionnez l'option de suppression de votre choix.
  • Clé partagée : clé d'accès à Azure Blob Storage.

Options avancées

  • Nom du flux : valeur préremplie qui identifie le flux.
  • Type de source : méthode utilisée pour collecter les journaux dans Google SecOps.
  • Espace de noms de l'élément : espace de noms associé au flux.
  • Libellés d'ingestion : libellés appliqués à tous les événements de ce flux.

Table de mappage UDM

Champ de journal Mappage UDM Logique
category metadata.log_type Le champ category du journal brut est mappé sur metadata.log_type.
properties.AccountDisplayName Non mappé Ce champ n'est pas mappé à l'objet IDM dans l'UDM.
properties.AccountName Non mappé Ce champ n'est pas mappé à l'objet IDM dans l'UDM.
properties.AccountUpn Non mappé Ce champ n'est pas mappé à l'objet IDM dans l'UDM.
properties.ActionType metadata.product_event_type Le champ properties.ActionType du journal brut est mappé sur metadata.product_event_type.
properties.AdditionalFields.ACTOR.ACCOUNT Non mappé Ce champ n'est pas mappé à l'objet IDM dans l'UDM.
properties.AdditionalFields.ACTOR.DEVICE principal.asset.asset_id L'analyseur extrait la valeur de properties.AdditionalFields.ACTOR.DEVICE et ajoute ASSET ID:.
properties.AdditionalFields.ACTOR.ENTITY_USER Non mappé Ce champ n'est pas mappé à l'objet IDM dans l'UDM.
properties.AdditionalFields.Count Non mappé Ce champ n'est pas mappé à l'objet IDM dans l'UDM.
properties.AdditionalFields.DestinationComputerDnsName Non mappé Ce champ n'est pas mappé à l'objet IDM dans l'UDM.
properties.AdditionalFields.DestinationComputerObjectGuid target.asset.product_object_id Le premier élément du tableau properties.AdditionalFields.DestinationComputerObjectGuid est mappé sur target.asset.product_object_id. Les éléments suivants sont mappés sur additional.fields avec des clés telles que DestinationComputerObjectGuid_1, DestinationComputerObjectGuid_2, etc.
properties.AdditionalFields.DestinationComputerOperatingSystem target.asset.platform_software.platform_version Le premier élément du tableau properties.AdditionalFields.DestinationComputerOperatingSystem est mappé sur target.asset.platform_software.platform_version. Les éléments suivants sont mappés sur additional.fields avec des clés telles que DestinationComputerOperatingSystem_1, DestinationComputerOperatingSystem_2, etc.
properties.AdditionalFields.DestinationComputerOperatingSystemType target.asset.platform_software.platform Si la valeur est windows, le champ UDM est défini sur WINDOWS.
properties.AdditionalFields.DestinationComputerOperatingSystemVersion target.platform_version Le premier élément du tableau properties.AdditionalFields.DestinationComputerOperatingSystemVersion est mappé sur target.platform_version. Les éléments suivants sont mappés sur additional.fields avec des clés telles que DestinationComputerOperatingSystemVersion1, DestinationComputerOperatingSystemVersion2, etc.
properties.AdditionalFields.FROM.DEVICE principal.asset.asset_id L'analyseur extrait la valeur de properties.AdditionalFields.FROM.DEVICE et ajoute ASSET ID:.
properties.AdditionalFields.KerberosDelegationType Non mappé Ce champ n'est pas mappé à l'objet IDM dans l'UDM.
properties.AdditionalFields.SourceAccountId Non mappé Ce champ n'est pas mappé à l'objet IDM dans l'UDM.
properties.AdditionalFields.SourceAccountSid Non mappé Ce champ n'est pas mappé à l'objet IDM dans l'UDM.
properties.AdditionalFields.SourceComputerObjectGuid principal.asset.product_object_id Le champ properties.AdditionalFields.SourceComputerObjectGuid du journal brut est mappé sur principal.asset.product_object_id.
properties.AdditionalFields.SourceComputerOperatingSystem principal.asset.platform_software.platform_version Le champ properties.AdditionalFields.SourceComputerOperatingSystem du journal brut est mappé sur principal.asset.platform_software.platform_version.
properties.AdditionalFields.SourceComputerOperatingSystemType principal.asset.platform_software.platform_version Si la valeur est windows, le champ UDM est défini sur WINDOWS.
properties.AdditionalFields.SourceComputerOperatingSystemVersion Non mappé Ce champ n'est pas mappé à l'objet IDM dans l'UDM.
properties.AdditionalFields.Spns Non mappé Ce champ n'est pas mappé à l'objet IDM dans l'UDM.
properties.AdditionalFields.TARGET_OBJECT.ENTITY_USER Non mappé Ce champ n'est pas mappé à l'objet IDM dans l'UDM.
properties.AdditionalFields.TARGET_OBJECT.USER target.user.userid Le premier élément du tableau properties.AdditionalFields.TARGET_OBJECT.USER est mappé sur target.user.userid. Les éléments suivants sont mappés sur additional.fields avec des clés telles que TARGET_OBJECT.USER_1, TARGET_OBJECT.USER_2, etc.
properties.AdditionalFields.TO.DEVICE target.asset.asset_id Le premier élément du tableau properties.AdditionalFields.TO.DEVICE est mappé à target.asset.asset_id avec ASSET ID: ajouté au début. Les éléments suivants sont mappés sur additional.fields avec des clés telles que TODEVICE1, TODEVICE2, etc.
properties.AuthenticationDetails extensions.auth.auth_details Le parseur supprime les accolades, les crochets et les guillemets doubles de la valeur, et ajoute AuthenticationDetails: au début.
properties.DeliveryAction additional.fields Mappé avec la clé DeliveryAction.
properties.DeliveryLocation additional.fields Mappé avec la clé DeliveryLocation.
properties.DestinationDeviceName target.hostname, target.asset.hostname Le champ properties.DestinationDeviceName du journal brut est mappé à target.hostname et target.asset.hostname.
properties.DestinationIPAddress target.ip, target.asset.ip Le champ properties.DestinationIPAddress du journal brut est mappé à target.ip et target.asset.ip.
properties.DestinationPort target.port Le champ properties.DestinationPort du journal brut est mappé sur target.port.
properties.DeviceName principal.hostname, principal.asset.hostname Le champ properties.DeviceName du journal brut est mappé à principal.hostname et principal.asset.hostname.
properties.EmailClusterId additional.fields Mappé avec la clé EmailClusterId.
properties.EmailDirection network.direction Si la valeur est Inbound, le champ UDM est défini sur INBOUND. Si la valeur est Outbound, le champ UDM est défini sur OUTBOUND. Sinon, la valeur est définie sur UNKNOWN_DIRECTION.
properties.EmailLanguage additional.fields Mappé avec la clé EmailLanguage.
properties.InitiatingProcessAccountDomain principal.administrative_domain Le champ properties.InitiatingProcessAccountDomain du journal brut est mappé sur principal.administrative_domain.
properties.InitiatingProcessAccountSid principal.user.windows_sid Le champ properties.InitiatingProcessAccountSid du journal brut est mappé sur principal.user.windows_sid.
properties.InitiatingProcessCommandLine principal.process.command_line Le champ properties.InitiatingProcessCommandLine du journal brut est mappé sur principal.process.command_line.
properties.InitiatingProcessFileName principal.process.file.full_path Utilisé en combinaison avec properties.InitiatingProcessFolderPath pour construire le chemin d'accès complet. Si properties.InitiatingProcessFolderPath contient déjà le nom de fichier, il est utilisé directement.
properties.InitiatingProcessFolderPath principal.process.file.full_path Utilisé en combinaison avec properties.InitiatingProcessFileName pour construire le chemin d'accès complet.
properties.InitiatingProcessId principal.process.pid Le champ properties.InitiatingProcessId du journal brut est mappé sur principal.process.pid.
properties.InitiatingProcessIntegrityLevel about.labels Mappé avec la clé InitiatingProcessIntegrityLevel.
properties.InitiatingProcessMD5 principal.process.file.md5 Le champ properties.InitiatingProcessMD5 du journal brut est mappé sur principal.process.file.md5.
properties.InitiatingProcessParentId principal.process.parent_process.pid Le champ properties.InitiatingProcessParentId du journal brut est mappé sur principal.process.parent_process.pid.
properties.InitiatingProcessParentFileName principal.process.parent_process.file.full_path Le champ properties.InitiatingProcessParentFileName du journal brut est mappé sur principal.process.parent_process.file.full_path.
properties.InitiatingProcessSHA1 principal.process.file.sha1 Le champ properties.InitiatingProcessSHA1 du journal brut est mappé sur principal.process.file.sha1.
properties.InitiatingProcessSHA256 principal.process.file.sha256 Le champ properties.InitiatingProcessSHA256 du journal brut est mappé sur principal.process.file.sha256.
properties.InitiatingProcessTokenElevation about.labels Mappé avec la clé InitiatingProcessTokenElevation.
properties.InternetMessageId additional.fields L'analyseur supprime les chevrons et mappe la valeur avec la clé InternetMessageId.
properties.IPAddress principal.ip, principal.asset.ip Le champ properties.IPAddress du journal brut est mappé à principal.ip et principal.asset.ip.
properties.LogonType extensions.auth.mechanism Utilisé pour dériver la valeur de extensions.auth.mechanism.
properties.Port principal.port Le champ properties.Port du journal brut est mappé sur principal.port.
properties.PreviousRegistryKey src.registry.registry_key Le champ properties.PreviousRegistryKey du journal brut est mappé sur src.registry.registry_key.
properties.PreviousRegistryValueData src.registry.registry_value_data Le champ properties.PreviousRegistryValueData du journal brut est mappé sur src.registry.registry_value_data.
properties.PreviousRegistryValueName src.registry.registry_value_name Le champ properties.PreviousRegistryValueName du journal brut est mappé sur src.registry.registry_value_name.
properties.Query principal.user.attribute.labels Mappé avec la clé LDAP Search Scope.
properties.RecipientEmailAddress Non mappé Ce champ n'est pas mappé à l'objet IDM dans l'UDM.
properties.RegistryKey target.registry.registry_key Le champ properties.RegistryKey du journal brut est mappé sur target.registry.registry_key.
properties.RegistryValueData target.registry.registry_value_data Le champ properties.RegistryValueData du journal brut est mappé sur target.registry.registry_value_data.
properties.RegistryValueName target.registry.registry_value_name Le champ properties.RegistryValueName du journal brut est mappé sur target.registry.registry_value_name.
properties.ReportId about.labels Mappé avec la clé ReportId.
properties.SenderIPv4 principal.ip, principal.asset.ip Le champ properties.SenderIPv4 du journal brut est mappé à principal.ip et principal.asset.ip.
properties.SenderMailFromAddress principal.user.attribute.labels Mappé avec la clé SenderMailFromAddress.
properties.SenderMailFromDomain principal.user.attribute.labels Mappé avec la clé SenderMailFromDomain.
properties.SenderObjectId principal.user.product_object_id Le champ properties.SenderObjectId du journal brut est mappé sur principal.user.product_object_id.
properties.Timestamp metadata.event_timestamp Le champ properties.Timestamp du journal brut est mappé sur metadata.event_timestamp.
tenantId observer.cloud.project.id Le champ tenantId du journal brut est mappé sur observer.cloud.project.id.
N/A extensions.auth.type La valeur MACHINE est attribuée par l'analyseur.
N/A metadata.event_type Dérivé des champs category et properties.ActionType. Il peut s'agir de USER_LOGIN, USER_RESOURCE_ACCESS, USER_CHANGE_PASSWORD, REGISTRY_MODIFICATION, REGISTRY_DELETION, REGISTRY_CREATION, GENERIC_EVENT ou STATUS_UPDATE.
N/A metadata.vendor_name La valeur Microsoft est attribuée par l'analyseur.
N/A metadata.product_name La valeur Microsoft Defender Identity est attribuée par l'analyseur.
cs1 metadata.url_back_to_product Le champ cs1 du journal brut est mappé sur metadata.url_back_to_product.
externalId metadata.product_log_id Le champ externalId du journal brut est mappé sur metadata.product_log_id.
msg metadata.description Le champ msg du journal brut est mappé sur metadata.description.
rule_name security_result.rule_name Le champ rule_name du journal brut est mappé sur security_result.rule_name.
severity security_result.severity Le champ severity du journal brut est mappé sur security_result.severity.
shost principal.hostname, principal.asset.hostname Le champ shost du journal brut est mappé à principal.hostname et principal.asset.hostname.
src principal.ip Le champ src du journal brut est mappé sur principal.ip.
suser principal.user.user_display_name Le champ suser du journal brut est mappé sur principal.user.user_display_name.
time metadata.event_timestamp Le champ time du journal brut est mappé sur metadata.event_timestamp.
userid principal.user.userid Le champ userid du journal brut est mappé sur principal.user.userid.
N/A security_result.action Dérivé du champ properties.ActionType. Il peut s'agir de ALLOW ou BLOCK.
N/A security_result.summary Dérivé du champ category ou du champ properties.ActionType.

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