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

Cet article explique comment installer, configurer et dépanner le plug-in Microsoft Defender for Endpoint pour Sous-système Windows pour Linux (WSL) 2. Le plug-in étend la visibilité de Microsoft Defender for Endpoint aux conteneurs WSL s’exécutant sur des appareils Windows 10 et Windows 11 inscrits à Microsoft Defender for Endpoint Plan 2.

Vue d’ensemble

Le Sous-système Windows pour Linux (WSL) 2, qui remplace la version précédente de WSL (prise en charge par Microsoft Defender for Endpoint sans module complémentaire), offre un environnement Linux parfaitement intégré à Windows, tout en étant isolé grâce à la technologie de virtualisation. Le module complémentaire Defender for Endpoint pour WSL permet à Defender for Endpoint d’offrir une meilleure visibilité sur l’ensemble des conteneurs WSL en cours d’exécution en s’intégrant au sous-système isolé.

Prérequis

Avant d’installer le plug-in Defender pour point de terminaison WSL, vérifiez que les conditions préalables suivantes sont remplies :

  • La version 2.0.7.0 WSL ou ultérieure doit être en cours d’exécution 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 Windows client doit être inscrit dans Defender for Endpoint.

Systèmes d’exploitation pris en charge

Les systèmes d’exploitation suivants prennent en charge le plug-in WSL de Defender pour point de terminaison :

  • Windows 10, version 2004 et ultérieures (build 19044 et ultérieures)
  • Windows 11 prend en charge les versions de WSL compatibles avec le module complémentaire.

Problèmes connus et limitations

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

  • Le plug-in ne prend pas en charge les mises à jour automatiques sur les versions antérieures à 1.24.522.2. À partir de la version 1.24.522.2 et des versions ultérieures. Les mises à jour sont prises en charge via Windows Update sur tous les canaux. 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.

  • 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 de vie peuvent empêcher l’instance WSL2 d’apparaître dans le portail Microsoft Defender. Quand une distribution est suffisamment longue (au moins 30 minutes), l’instance WSL2 s’affiche dans le portail Microsoft Defender.

  • 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 avec les paramètres WSL dans Microsoft Intune.

  • Le plug-in n’est pas pris en charge sur les ordinateurs équipés d’un processeur ARM64.

  • Le plug-in n’est pas pris en charge sur les variantes multisession de Windows 10 et 11.

  • 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.

Composants logiciels et noms de fichiers du programme d’installation

Installateur : DefenderPlugin-x64-0.24.426.1.msi. Vous pouvez télécharger le programme d’installation à partir de la page d’intégration dans le portail Microsoft Defender. (Accédez à Paramètres>Endpoints>Onboarding.)

Répertoires d’installation :

  • %ProgramFiles%

  • %ProgramData%

Composants installés :

  • DefenderforEndpointPlug-in.dll. Cette DLL est la bibliothèque qui permet de charger Defender for Endpoint pour fonctionner 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’état de santé de Defender for Endpoint et vous permet d’afficher les versions installées de WSL, du module complémentaire et de Defender for Endpoint. Vous pouvez le trouver à l’adresse %ProgramFiles%\Microsoft Defender for Endpoint plug-in for WSL\tools.

Installer le module complémentaire WSL pour Defender for Endpoint

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

  1. Ouvrez le Terminal ou l’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 Intégration du portail Microsoft Defender (Paramètres>Points de terminaison>Intégration>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 est automatiquement rattaché au locataire auquel l’hôte Windows est rattaché. Mise à jour de Microsoft Defender pour point de terminaison pour le plug-in WSL KB Update.

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

Utilisez la liste de contrôle suivante pour vérifier que le plug-in est installé correctement et s’exécute comme prévu :

  1. Après la mise à jour ou l’installation, attendez au moins cinq minutes pour que le module d’extension s’initialise complètement et écrive les entrées du journal.

  2. Ouvrez le Terminal ou l’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 de santé de Defender: Healthy

Configuration d’un proxy pour Defender s’exécutant dans WSL

Vous pouvez configurer la connectivité via un proxy pour le module complémentaire Defender for Endpoint pour WSL. 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 de l’hôte Windows dans MDE pour le plug-in WSL, aucune autre action n’est nécessaire. La configuration du proxy de télémétrie EDR Windows est adoptée automatiquement par le plug-in.

Si vous souhaitez utiliser la configuration du proxy WinHTTP de l’hôte pour le plug-in MDE pour WSL, rien d’autre n’est nécessaire. La configuration du proxy WinHTTP hôte 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. La configuration du proxy réseau hôte est adoptée automatiquement par le plug-in.

Remarque

WSL Defender prend uniquement en charge le proxy http.

Comment le plug-in WSL sélectionne un proxy

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 pour Microsoft Defender for Endpoint (TelemetryProxyServer).

  2. Winhttp proxy (configuré via la commande netsh).

  3. Paramètres de proxy réseau et 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 de définition d’un proxy pour Defender en cours d’exécution dans WSL pour configurer le proxy dans le plug-in.

Test de connectivité pour Defender for Endpoint s’exécutant dans WSL

Le test de connectivité Defender pour point de terminaison 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é). Si le test de connectivité réussit, le contrôle d’intégrité signale un résultat réussi. Si le test de connectivité échoue, le contrôle d’intégrité signale l’état comme étant invalid, indiquant que la connectivité cliente entre le plug-in MDE pour WSL et les URL du service Defender for Endpoint est défaillante.

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 afficher toutes les instances WSL de votre environnement disposant d’un module complémentaire Defender for Endpoint 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, le lien d’hébergement indique que l’appareil s’exécute sur un hôte Windows. Vous pouvez sélectionner ce lien pour pivoter vers l’hôte Windows pour une investigation et/ou une réponse plus approfondies.

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

La chronologie est renseignée, à l’instar de Defender for Endpoint sur Linux, avec des événements provenant du sous-système (fichier, processus, réseau). Vous pouvez consulter l’activité et les détections dans la vue Chronologie. Des alertes et des incidents sont également générés, le cas échéant.

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

Le module d’extension enrôle la machine WSL avec la balise WSL2. Si vous ou votre organisation avez besoin d’une balise personnalisée, procédez comme suit pour en configurer une :

  1. Ouvrez l’Éditeur du Registre 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 Protection avancée contre les menaces\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

La valeur de balise personnalisée configurée dans l’entrée de GROUP Registre est suffixee avec _WSL2. Par exemple, si la valeur du GROUP Registre est Microsoft, la balise personnalisée apparaît comme Microsoft_WSL2 dans le portail.

Tester le module d’extension

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

  1. Ouvrez le Terminal ou l’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 du package de tests DIY Linux EDR MDE.

  4. À l’invite de 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 normal 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.

Utilisez la recherche avancée pour enquêter sur les appareils WSL

Dans le schéma de chasse avancée, dans la table DeviceInfo, un nouvel attribut appelé HostDeviceId est disponible. Vous pouvez l’utiliser pour associer une instance WSL à son appareil hôte Windows. Voici quelques exemples de requêtes de chasse :

Obtenir tous les identifiants d’appareil WSL de l’organisation/du locataire actuel

Utilisez la requête suivante pour répertorier tous les ID d’appareil WSL dans votre locataire :

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

Obtenir les identifiants des périphériques WSL et les identifiants correspondants des périphériques hôtes

Utilisez la requête suivante pour mapper chaque ID d’appareil WSL à son ID d’appareil hôte Windows correspondant :

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

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

Utilisez la requête suivante pour rechercher les appareils 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 isnotempty(HostDeviceId)
| distinct DeviceId; 
DeviceProcessEvents   
| where FileName == "curl" or FileName == "wget" 
| where DeviceId in (wsl_endpoints) 
| sort by Timestamp desc

Résolution des problèmes

Utilisez les étapes de résolution des problèmes suivantes pour diagnostiquer et résoudre les problèmes courants liés au plug-in WSL de point de terminaison Defender.

Échec de l’installation

Si vous voyez une erreur lors du lancement de WSL, telle que A fatal error was returned by plugin 'DefenderforEndpointPlug-in' Error code: 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 le module complémentaire Microsoft Defender for Endpoint 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 l’option de réparation du module externe MDE pour WSL dans le panneau de configuration.

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

Si vous voyez ce message, démarrez une distribution WSL et attendez avant de réexécuter la vérification d’intégrité :

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 relancer la vérification de l’état.

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

Le message suivant peut s’afficher pendant l’initialisation de la télémétrie :

Capture d’écran affichant l’état de la télémétrie de santé.

Si le message « En attente de télémétrie » 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 de machine, assurez-vous qu’un délai suffisant s’est écoulé pour que l’intégration initiale soit terminée (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 vérification de l’état de santé pour obtenir une vue d’ensemble de l’état de santé global 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 vérifiez la connectivité de Defender for Endpoint dans WSL. Si le test de connectivité échoue, fournissez les résultats de l’outil de vérification d’intégrité à notre équipe de support technique.

Le test de connectivité indique « invalide » dans le contrôle d’intégrité

Si le test de connectivité indique invalid, effectuez les vérifications suivantes pour diagnostiquer le problème :

  • 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.

    Capture d’écran de la sortie de la commande healthCheck --extendedProxy montrant les configurations de proxy détectées sur l’ordinateur pour le plug-in WSL Defender.

  • Si l’exécution healthCheck --extendedProxy ne résout pas l’échec du test de connectivité, incluez les paramètres de configuration suivants dans le .wslconfig fichier situé dans votre %UserProfile% fichier et redémarrez WSL. Pour plus d’informations sur les paramètres, consultez Paramètres WSL.

    En Windows 11

    Ajoutez les paramètres suivants à votre .wslconfig fichier pour activer le tunneling DNS et la mise en réseau mise en miroir :

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

    Dans Windows 10

    Ajoutez le paramètre suivant à votre .wslconfig fichier pour désactiver le proxy DNS :

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

Les problèmes de connectivité persistent

Collectez les journaux de connexion 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 le shell de débogage, exécutez : mdatp connectivity test.

  6. Laissez le test de connectivité se terminer.

  7. Arrêtez le script .ps1 exécuté à l’étape #2.

  8. Partagez le fichier .zip généré avec un bundle de support collecté en exécutant healthcheck.exe --supportBundle à partir de %ProgramFiles%\Microsoft Defender for Endpoint plug-in for WSL\tools.

Collecter un bundle de support

Pour collecter des informations de diagnostic pour la prise en charge, générez un bundle de support en procédant comme suit :

  1. Si vous rencontrez d’autres problèmes ou défis, ouvrez Terminal. Tout d’abord, accédez au répertoire des outils du plug-in WSL pour Defender pour point de terminaison, puis exécutez l’outil healthcheck.exe pour générer un package de support :

    cd "%ProgramFiles%\Microsoft Defender for Endpoint plug-in for WSL\tools"
    

    Exécutez ensuite la commande suivante pour générer un bundle de support qui collecte les informations de diagnostic pour la résolution des problèmes :

    .\healthcheck.exe --supportBundle 
    

    Le bundle de support se trouve à l’emplacement indiqué par la commande précédente.

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

WSL1 et WSL2

Le module complémentaire Microsoft Defender pour point de terminaison pour WSL prend en charge les distributions Linux fonctionnant sous WSL 2. Si ces distributions Linux sont associées à 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 configuration>Créer>Nouvelle 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.

    Sinon, si vous souhaitez continuer à utiliser WSL 1 ou ne pas utiliser la stratégie Intune, vous pouvez mettre à niveau de manière sélective une distribution installée spécifique de WSL 1 vers WSL 2 en exécutant la commande suivante dans PowerShell :

    wsl --set-version <YourDistroName> 2
    

    Pour vous assurer que toutes les distributions futures sont créées avec WSL 2 par défaut, exécutez la commande suivante dans PowerShell pour définir WSL 2 comme version par défaut :

    wsl --set-default-version 2
    

Redéfinir le canal de publication du module complémentaire WSL

Vous pouvez redéfinir le canal de publication par défaut du module complémentaire en configurant un paramètre du Registre.

  • 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