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

Vue d’ensemble

La 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 qui est parfaitement intégré à Windows, mais isolé à l’aide de la technologie de virtualisation. Le plug-in Microsoft Defender pour point de terminaison pour Sous-système Windows pour Linux 2 (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

Tenez compte des points suivants avant de commencer :

  1. Le plug-in ne prend pas en charge les mises à jour automatiques sur les versions antérieures à 0.24.426.1. Sur les versions 0.24.426.1 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. Étant donné que l’instanciation complète du plug-in prend quelques minutes et jusqu’à 30 minutes pour qu’une instance WSL2 s’intègre, des instances de conteneur WSL à courte durée de vie peuvent entraîner l’instance WSL2 ne s’affiche pas dans le portail Microsoft Defender (https://security.microsoft.com). Une fois qu’une distribution (n’importe quelle) 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 est prise en charge dans cette version. Toutefois, le plug-in ne fournit aucune garantie concernant la visibilité dans WSL lors de l’exécution d’un noyau personnalisé et d’une ligne de commande de noyau personnalisé.

Prérequis logiciels

  • WSL version 2.0.7 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, exécutez wsl -–update –pre-release pour obtenir la dernière mise à jour.

  • Defender pour point de terminaison doit être intégré et exécuté sur le système d’exploitation hôte Windows.

  • Le système d’exploitation hôte doit exécuter Windows 10 Client, version 2004 et ultérieure (build 19044 ou ultérieure) ou Windows 11 Client pour prendre en charge les versions Sous-système Windows pour Linux 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.

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 dans %ProgramFiles%\Microsoft Defender pour point de terminaison plug-in pour 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 dans %ProgramFiles%\Microsoft Defender pour point de terminaison plug-in pour 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.

    1. Vérifier 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.

    2. Installer le plug-in

    Une fois que WSL est en cours d’exécution et entièrement à jour, procédez comme suit pour installer le plug-in :

    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 : 0.24.426.1
    • Version WSL : 2.0.7.0 ou version ultérieure
    • Version de l’application Defender : 701.00000.1509
    • É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.

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.

Exemple : si votre ordinateur hôte dispose à la fois du proxy Winhttp et du proxy Réseau & Internet, 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 mentionnées ci-dessus pour configurer le proxy dans le plug-in.

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

La procédure suivante explique comment vérifier que Defender dans Point de terminaison dans WSL dispose d’une connectivité Internet.

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

  2. Create une clé de Registre avec les informations suivantes :

    • Nom : ConnectivityTest
    • Type : REG_DWORD
    • Valeur : Number of seconds plug-in must wait before running the test. (Recommended: 60 seconds)
    • Chemin d’accès : Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Defender for Endpoint plug-in for WSL
  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 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.

Remarque

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.

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

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/LinuxDIY.

  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

    L’affichage des événements sur le portail Microsoft Defender prend environ 5 minutes

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

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

    Capture d’écran montrant la sortie PowerShell.

  2. Si l’erreur mentionnée précédemment se produit, procédez comme suit :

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

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

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

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

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

  4. Si vous ne voyez aucun appareil dans le portail Microsoft Defender ou si vous ne voyez aucun événement dans le chronologie, case activée les éléments 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é à mdeforwsl-preview@microsoft.com.
  1. Si vous rencontrez d’autres problèmes ou défis, ouvrez le terminal et exécutez les commandes suivantes pour générer le 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 au portail de votre centre d’administration Microsoft Intune.

    2. Accédez à Profils >de configurationdes appareils>Create>Nouvelle stratégie.

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

    4. Create 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