Partager via


plug-in Microsoft Defender pour point de terminaison pour Sous-système Windows pour Linux (WSL)

S’applique à :

Vue d’ensemble

Sous-système Windows pour Linux (WSL) 2, qui remplace la version précédente de WSL (prise en charge par Microsoft Defender pour point de terminaison sans plug-in), fournit un environnement Linux parfaitement intégré à Windows, mais isolé à l’aide de la technologie de virtualisation. Le plug-in Defender pour point de terminaison pour WSL permet à Defender pour point de terminaison d’offrir plus de visibilité sur tous les conteneurs WSL en cours d’exécution en se connectant au sous-système isolé.

Problèmes connus et conseils

Avant de commencer, tenez compte des considérations suivantes :

  1. Le plug-in ne prend pas en charge les mises à jour automatiques sur les versions antérieures à 1.24.522.2. Sur les versions 1.24.522.2 et versions ultérieures, les mises à jour sont prises en charge via Windows Update sur tous les anneaux. Mises à jour via Windows Server Update Services (WSUS), System Center Configuration Manager (SCCM) et le catalogue Microsoft Update sont pris en charge uniquement dans l’anneau de production pour garantir la stabilité du package.

  2. L’instanciation complète du plug-in prend quelques minutes et jusqu’à 30 minutes pour qu’un instance WSL2 s’intègre. Les instances de conteneur WSL de courte durée peuvent faire en sorte que le instance WSL2 ne s’affiche pas dans le portail Microsoft Defender (https://security.microsoft.com). Une fois qu’une distribution a été exécutée suffisamment longtemps (au moins 30 minutes), elle s’affiche.

  3. L’exécution d’un noyau personnalisé et d’une ligne de commande de noyau personnalisée n’est pas prise en charge. Bien que le plug-in ne bloque pas l’exécution dans cette configuration, il ne garantit pas la visibilité dans WSL lorsque vous exécutez un noyau personnalisé et une ligne de commande de noyau personnalisé. Nous vous recommandons de bloquer ces configurations à l’aide de Microsoft Intune paramètres wsl.

  4. Distribution du système d’exploitation est affiché Aucun dans la page Vue d’ensemble de l’appareil d’un appareil WSL dans le portail Microsoft Defender.

  5. Le plug-in n’est pas pris en charge sur les machines dotées d’un processeur ARM64.

  6. Le plug-in offre une visibilité sur les événements de WSL, mais d’autres fonctionnalités telles que les commandes anti-programme malveillant, Gestion des menaces et des vulnérabilités et de réponse ne sont pas disponibles pour l’appareil logique WSL.

Prérequis logiciels

  • WSL version 2.0.7.0 ou ultérieure doit s’exécuter avec au moins une distribution active.

    Exécutez wsl --update pour vérifier que vous utilisez la dernière version. Si wsl -–version affiche une version antérieure 2.0.7.0à , exécutez wsl -–update –pre-release pour obtenir la dernière mise à jour.

  • L’appareil client Windows doit être intégré à Defender pour point de terminaison.

  • L’appareil client Windows doit exécuter Windows 10, version 2004 et ultérieure (build 19044 et versions ultérieures) ou Windows 11 pour prendre en charge les versions WSL qui peuvent fonctionner avec le plug-in.

Composants logiciels et noms de fichiers du programme d’installation

Programme d’installation : DefenderPlugin-x64-0.24.426.1.msi. Vous pouvez le télécharger à partir de la page d’intégration du portail Microsoft Defender. (Accédez à Paramètres>Terminaison>Intégration.)

Répertoires d’installation :

  • %ProgramFiles%

  • %ProgramData%

Composants installés :

  • DefenderforEndpointPlug-in.dll. Cette DLL est la bibliothèque pour charger Defender pour point de terminaison afin qu’il fonctionne dans WSL. Vous pouvez le trouver à l’adresse %ProgramFiles%\Microsoft Defender for Endpoint plug-in for WSL\plug-in.

  • healthcheck.exe. Ce programme vérifie l’intégrité status de Defender pour point de terminaison et vous permet de voir les versions installées de WSL, du plug-in et de Defender pour point de terminaison. Vous pouvez le trouver à l’adresse %ProgramFiles%\Microsoft Defender for Endpoint plug-in for WSL\tools.

Étapes d'installation

Si votre Sous-système Windows pour Linux n’est pas encore installé, procédez comme suit :

  1. Ouvrez Terminal ou Invite de commandes. (Dans Windows, accédez à Démarrer>Invite de commandes. Vous pouvez également cliquer avec le bouton droit sur le bouton Démarrer, puis sélectionner Terminal.)

  2. Exécutez la commande wsl -–install.

  3. Vérifiez que WSL est installé et en cours d’exécution.

    1. À l’aide du Terminal ou de l’invite de commandes, exécutez wsl –-update pour vous assurer que vous disposez de la dernière version.

    2. Exécutez la wsl commande pour vérifier que WSL est en cours d’exécution avant le test.

  4. Installez le plug-in en procédant comme suit :

    1. Installez le fichier MSI téléchargé à partir de la section d’intégration dans le portail Microsoft Defender (Paramètres>Intégration des>> points de terminaison Sous-système Windows pour Linux 2 (plug-in)).

    2. Ouvrez une invite de commandes/un terminal et exécutez wsl.

    Vous pouvez déployer le package à l’aide de Microsoft Intune.

Remarque

Si WslService est en cours d’exécution, il s’arrête pendant le processus d’installation. Vous n’avez pas besoin d’intégrer le sous-système séparément. Au lieu de cela, le plug-in s’intègre automatiquement au locataire auquel l’hôte Windows est intégré.

Liste de vérification de la validation de l’installation

  1. Après la mise à jour ou l’installation, attendez au moins cinq minutes que le plug-in initialise et écrit entièrement la sortie du journal.

  2. Ouvrez Terminal ou Invite de commandes. (Dans Windows, accédez à Démarrer>Invite de commandes. Vous pouvez également cliquer avec le bouton droit sur le bouton Démarrer, puis sélectionner Terminal.)

  3. Exécutez la commande : cd "%ProgramFiles%\Microsoft Defender for Endpoint plug-in for WSL\tools".

  4. Exécutez la commande .\healthcheck.exe.

  5. Passez en revue les détails de Defender et WSL et assurez-vous qu’ils correspondent ou dépassent les exigences suivantes :

    • Version du plug-in : 1.24.522.2
    • Version WSL : 2.0.7.0 ou version ultérieure
    • Version de l’application Defender : 101.24032.0007
    • État d’intégrité de Defender : Healthy

Définition d’un proxy pour Defender exécuté dans WSL

Cette section explique comment configurer la connectivité proxy pour le plug-in Defender pour point de terminaison. Si votre entreprise utilise un proxy pour fournir une connectivité à Defender pour point de terminaison s’exécutant sur l’hôte Windows, poursuivez la lecture pour déterminer si vous devez le configurer pour le plug-in.

Si vous souhaitez utiliser la configuration du proxy de télémétrie EDR windows hôte pour MDE pour le plug-in WSL, rien de plus n’est nécessaire. Cette configuration est adoptée automatiquement par le plug-in.

Si vous souhaitez utiliser la configuration du proxy winhttp hôte pour MDE pour le plug-in WSL, rien de plus n’est nécessaire. Cette configuration est adoptée automatiquement par le plug-in.

Si vous souhaitez utiliser le paramètre réseau hôte et proxy réseau pour MDE pour le plug-in WSL, rien de plus n’est nécessaire. Cette configuration est adoptée automatiquement par le plug-in.

Remarque

WSL Defender prend uniquement http en charge le proxy.

Sélection du proxy de plug-in

Si votre ordinateur hôte contient plusieurs paramètres de proxy, le plug-in sélectionne les configurations de proxy avec la hiérarchie suivante :

  1. Paramètre de proxy statique Defender pour point de terminaison (TelemetryProxyServer).

  2. Winhttp proxy (configuré par le biais de netsh la commande).

  3. Paramètres du proxy Réseau & Internet.

Par exemple, si votre ordinateur hôte a à la fois Winhttp proxy et Network & Internet proxy, le plug-in sélectionne Winhttp proxy comme configuration de proxy.

Remarque

La DefenderProxyServer clé de Registre n’est plus prise en charge. Suivez les étapes décrites plus haut dans cet article pour configurer le proxy dans le plug-in.

Test de connectivité pour Defender exécuté dans WSL

Le test de connectivité defender est déclenché chaque fois qu’il y a une modification de proxy sur votre appareil et est planifié pour s’exécuter toutes les heures.

Au démarrage de votre machine wsl, attendez 5 minutes, puis exécutez healthcheck.exe (situé à l’emplacement %ProgramFiles%\Microsoft Defender for Endpoint plug-in for WSL\tools pour obtenir les résultats du test de connectivité). En cas de réussite, vous pouvez voir que le test de connectivité a réussi. En cas d’échec, vous pouvez voir que le test invalid de connectivité a indiqué que la connectivité du client de MDE plug-in pour WSL aux URL de service Defender pour point de terminaison échoue.

Remarque

La ConnectivityTest clé de Registre n’est plus prise en charge. Pour définir un proxy à utiliser dans des conteneurs WSL (distributions en cours d’exécution sur le sous-système), consultez Configuration des paramètres avancés dans WSL.

Vérification des fonctionnalités et de l’expérience de l’analyste SOC

Après l’installation du plug-in, le sous-système et tous ses conteneurs en cours d’exécution sont intégrés au portail Microsoft Defender.

  1. Connectez-vous au portail Microsoft Defender et ouvrez la vue Appareils.

  2. Filtrez à l’aide de la balise WSL2.

    Capture d’écran montrant le filtre d’inventaire des appareils

    Vous pouvez voir toutes les instances WSL dans votre environnement avec un plug-in Defender pour point de terminaison actif pour WSL. Ces instances représentent toutes les distributions exécutées dans WSL sur un hôte donné. Le nom d’hôte d’un appareil correspond à celui de l’hôte Windows. Toutefois, il est représenté sous la forme d’un appareil Linux.

  3. Ouvrez la page de l’appareil. Dans le volet Vue d’ensemble , il existe un lien vers l’emplacement où l’appareil est hébergé. Le lien vous permet de comprendre que l’appareil s’exécute sur un hôte Windows. Vous pouvez ensuite effectuer un pivot vers l’hôte pour une investigation et/ou une réponse plus approfondies.

    Capture d’écran montrant la vue d’ensemble de l’appareil.

Le chronologie est rempli, comme Defender pour point de terminaison sur Linux, avec des événements provenant du sous-système (fichier, processus, réseau). Vous pouvez observer l’activité et les détections dans la vue chronologie. Les alertes et les incidents sont également générés le cas échéant.

Configuration d’une étiquette personnalisée pour votre ordinateur WSL

Le plug-in intègre la machine WSL avec l’étiquette WSL2. Si vous ou votre organization avez besoin d’une balise personnalisée, suivez les étapes décrites ci-dessous :

  1. Ouvrez le registre Rédacteur en tant qu’administrateur.

  2. Créez une clé de Registre avec les détails suivants :

    • Nom : GROUP
    • Type : REG_SZ ou chaîne de Registre
    • Valeur : Custom tag
    • Chemin: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Advanced Threat Protection\DeviceTagging
  3. Une fois le Registre défini, redémarrez wsl en procédant comme suit :

    1. Ouvrez l’invite de commandes et exécutez la commande . wsl --shutdown

    2. Exécutez la commande wsl.

  4. Attendez 5 à 10 minutes que le portail reflète les modifications.

Remarque

L’ensemble d’étiquettes personnalisées dans le Registre sera suivi d’un _WSL2. Par exemple, si la valeur de Registre définie est Microsoft, la balise personnalisée sera Microsoft_WSL2 et la même sera visible dans le portail.

Tester le plug-in

Pour tester le plug-in après l’installation, procédez comme suit :

  1. Ouvrez Terminal ou Invite de commandes. (Dans Windows, accédez à Démarrer>Invite de commandes. Vous pouvez également cliquer avec le bouton droit sur le bouton Démarrer, puis sélectionner Terminal.)

  2. Exécutez la commande wsl.

  3. Téléchargez et extrayez le fichier de script à partir de https://aka.ms/MDE-Linux-EDR-DIY.

  4. À l’invite Linux, exécutez la commande ./mde_linux_edr_diy.sh.

    Une alerte doit apparaître dans le portail après quelques minutes pour une détection sur le instance WSL2.

    Remarque

    Il faut environ cinq minutes pour que les événements apparaissent sur le portail Microsoft Defender.

Traitez la machine comme s’il s’agissait d’un hôte Linux standard dans votre environnement sur lequel effectuer des tests. En particulier, nous aimerions obtenir vos commentaires sur la possibilité de faire apparaître un comportement potentiellement malveillant à l’aide du nouveau plug-in.

Recherche avancée de menaces

Dans le schéma Repérage avancé, sous le DeviceInfo tableau, il existe un nouvel attribut appelé HostDeviceId que vous pouvez utiliser pour mapper un instance WSL à son appareil hôte Windows. Voici quelques exemples de requêtes de chasse :

Obtenir tous les ID d’appareil WSL pour le organization/locataire actuel

//Get all WSL device ids for the current organization/tenant 
let wsl_endpoints = DeviceInfo  
| where OSPlatform == "Linux" and isempty(HostDeviceId) != true
| distinct DeviceId; 

wsl_endpoints

Obtenir les ID d’appareil WSL et leurs ID d’appareil hôte correspondants

//Get WSL device ids and their corresponding host device ids 
DeviceInfo  
| where OSPlatform == "Linux" and isempty(HostDeviceId) != true
| distinct WSLDeviceId=DeviceId, HostDeviceId

Obtenir la liste des ID d’appareil WSL où curl ou wget a été exécuté

//Get a list of WSL device ids where curl or wget was run
let wsl_endpoints = DeviceInfo  
| where OSPlatform == "Linux" and isempty(HostDeviceId) != true
| distinct DeviceId; 

DeviceProcessEvents   
| where FileName == "curl" or FileName == "wget" 
| where DeviceId in (wsl_endpoints) 
| sort by Timestamp desc

Résolution des problèmes

La commande healthcheck.exe affiche la sortie « Lancer la distribution WSL avec la commande 'bash' et réessayer dans cinq minutes ».

Capture d’écran montrant la sortie PowerShell.

  1. Ouvrez un terminal instance et exécutez la commande wsl.

  2. Attendez au moins cinq minutes avant de réexécuter le case activée d’intégrité.

La healthcheck.exe commande peut afficher la sortie « En attente de télémétrie. Veuillez réessayer dans cinq minutes.

Capture d’écran montrant les status de télémétrie d’intégrité.

Si cette erreur se produit, attendez cinq minutes et réexécutez healthcheck.exe.

Vous ne voyez aucun appareil dans le portail Microsoft Defender, ou vous ne voyez aucun événement dans le chronologie

Vérifiez les points suivants :

  • Si vous ne voyez pas d’objet machine, assurez-vous que le temps nécessaire à l’intégration s’est écoulé (généralement jusqu’à 10 minutes).

  • Veillez à utiliser les filtres appropriés et à disposer des autorisations appropriées pour afficher tous les objets d’appareil. (Par exemple, votre compte/groupe est-il limité à un groupe spécifique ?)

  • Utilisez l’outil de case activée d’intégrité pour fournir une vue d’ensemble de l’intégrité globale du plug-in. Ouvrez Terminal et exécutez l’outil healthcheck.exe à partir de %ProgramFiles%\Microsoft Defender for Endpoint plug-in for WSL\tools.

    Capture d’écran montrant status dans PowerShell.

  • Activez le test de connectivité et case activée pour la connectivité de Defender pour point de terminaison dans WSL. Si le test de connectivité échoue, fournissez la sortie de l’outil de case activée d’intégrité à notre équipe de support technique.

Les rapports de test de connectivité « non valides » dans les case activée d’intégrité

  • Si votre ordinateur dispose d’une configuration de proxy, exécutez la commande healthCheck --extendedProxy. Cela fournit des informations sur le ou les proxys définis sur votre ordinateur et indique si ces configurations ne sont pas valides pour WSL Defender.

    Étendre la documentation du proxy HealthCheck

  • Si les étapes mentionnées ci-dessus ne résolvent pas le problème, incluez les paramètres de configuration suivants dans le .wslconfig situé dans votre %UserProfile% et redémarrez WSL. Pour plus d’informations sur les paramètres, consultez Paramètres WSL.

    En Windows 11

    
    # Settings apply across all Linux distros running on WSL 2
    [wsl2]
    
    dnsTunneling=true
    
    networkingMode=mirrored  
    

    Dans Windows 10

    # Settings apply across all Linux distros running on WSL 2
    [wsl2]
    
    dnsProxy=false
    
    

Les problèmes de connectivité persistent

Collectez les journaux de mise en réseau en procédant comme suit :

  1. Ouvrez une invite PowerShell avec élévation de privilèges (admin).

  2. Téléchargez et exécutez : .\collect-networking-logs.ps1

    
    Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/WSL/master/diagnostics/collect-networking-logs.ps1" -OutFile collect-networking-logs.ps1
    Set-ExecutionPolicy Bypass -Scope Process -Force
    .\collect-networking-logs.ps1
    
    
  3. Ouvrez une nouvelle invite de commandes et exécutez la commande suivante : wsl.

  4. Ouvrez une invite de commandes avec élévation de privilèges (admin) et exécutez la commande suivante : wsl --debug-shell.

  5. Dans l’interpréteur de commandes de débogage, exécutez : mdatp connectivity test.

  6. Autorisez le test de connectivité à terminer.

  7. Arrêtez la .ps1 exécutée à l’étape 2.

  8. Partagez le fichier .zip généré avec le bundle de support qui peut être collecté comme indiqué dans les étapes.

Collecter un bundle de support

  1. Si vous rencontrez d’autres problèmes ou défis, ouvrez terminal et exécutez les commandes suivantes pour générer un bundle de support :

    cd "%ProgramFiles%\Microsoft Defender for Endpoint plug-in for WSL\tools"
    
    .\healthcheck.exe --supportBundle 
    

    Le bundle de prise en charge se trouve dans le chemin d’accès fourni par la commande précédente.

    Capture d’écran montrant status dans la sortie PowerShell.

  2. Microsoft Defender Point de terminaison pour WSL prend en charge les distributions Linux s’exécutant sur WSL 2. S’ils sont associés à WSL 1, vous pouvez rencontrer des problèmes. Par conséquent, il est recommandé de désactiver WSL 1. Pour ce faire avec la stratégie Intune, procédez comme suit :

    1. Accédez à votre centre d’administration Microsoft Intune.

    2. Accédez à Appareils> Profils >de configurationCréer une>stratégie.

    3. Sélectionnez Windows 10 et versions ultérieures>Catalogue de paramètres.

    4. Créez un nom pour le nouveau profil et recherchez Sous-système Windows pour Linux pour afficher et ajouter la liste complète des paramètres disponibles.

    5. Définissez le paramètre Autoriser WSL1 sur Désactivé pour vous assurer que seules les distributions WSL 2 peuvent être utilisées.

      Si vous souhaitez continuer à utiliser WSL 1 ou ne pas utiliser la stratégie de Intune, vous pouvez associer de manière sélective vos distributions installées pour qu’elles s’exécutent sur WSL 2, en exécutant la commande dans PowerShell :

      wsl --set-version <YourDistroName> 2
      

      Pour que WSL 2 soit votre version WSL par défaut pour que de nouvelles distributions soient installées dans le système, exécutez la commande suivante dans PowerShell :

      wsl --set-default-version 2
      
  3. Le plug-in utilise l’anneau Windows EDR par défaut. Si vous souhaitez basculer vers un anneau antérieur, définissez OverrideReleaseRing l’une des valeurs suivantes sous Registre et redémarrez WSL :

    • Nom : OverrideReleaseRing
    • Type : REG_SZ
    • Valeur : Dogfood or External or InsiderFast or Production
    • Chemin d’accès : Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Defender for Endpoint plug-in for WSL
  4. Si vous voyez une erreur lors du lancement de WSL, telle que « Une erreur irrécupérable a été retournée par le plug-in 'DefenderforEndpointPlug-in' Code d’erreur : Wsl/Service/CreateInstance/CreateVm/Plugin/ERROR_FILE_NOT_FOUND », cela signifie que l’installation du plug-in Defender pour point de terminaison pour WSL est défectueuse. Pour le réparer, procédez comme suit :

    1. Dans Panneau de configuration, accédez à Programmes>Programmes et fonctionnalités.

    2. Recherchez et sélectionnez Microsoft Defender pour point de terminaison plug-in pour WSL. Sélectionnez ensuite Réparer. Cette action doit résoudre le problème en plaçant les fichiers appropriés dans les répertoires attendus.

      Capture d’écran montrant MDE option de réparation du plug-in pour WSL dans le panneau de configuration.