Microsoft Defender für Endpunkt-Plug-In für Das Windows-Subsystem für Linux (WSL)

Gilt für:

Übersicht

Windows-Subsystem für Linux (WSL) 2, das die vorherige Version von WSL (unterstützt von Microsoft Defender für Endpunkt ohne Plug-In) ersetzt, bietet eine Linux-Umgebung, die nahtlos in Windows integriert ist, aber mithilfe von Virtualisierungstechnologie isoliert ist. Das Defender für Endpunkt für WSL-Plug-In ermöglicht Defender für Endpunkt, mehr Einblick in alle ausgeführten WSL-Container zu bieten, indem das isolierte Subsystem angeschlossen wird.

Bekannte Probleme und Einschränkungen

Beachten Sie die folgenden Überlegungen, bevor Sie beginnen:

  1. Das Plug-In unterstützt keine automatischen Updates für Versionen vor 1.24.522.2. Ab Version 1.24.522.2 werden Updates über Windows Update in allen Ringen unterstützt. Updates über Windows Server Update Services (WSUS), System Center Configuration Manager (SCCM) und den Microsoft Update-Katalog werden nur im Produktionsring unterstützt, um die Paketstabilität sicherzustellen.

  2. Es dauert einige Minuten, bis das Plug-In vollständig instanziiert ist, und es dauert bis zu 30 Minuten, bis eine WSL2-Instanz sich selbst integriert hat. Kurzlebige WSL-Containerinstanzen können dazu führen, dass die WSL2-Instanz nicht im Microsoft Defender-Portal (https://security.microsoft.com) angezeigt wird. Sobald eine Verteilung lange genug ausgeführt wurde (mindestens 30 Minuten), wird sie angezeigt.

  3. Das Ausführen eines benutzerdefinierten Kernels und einer benutzerdefinierten Kernelbefehlszeile wird nicht unterstützt. Obwohl das Plug-In die Ausführung in dieser Konfiguration nicht blockiert, garantiert es keine Sichtbarkeit innerhalb von WSL, wenn Sie einen benutzerdefinierten Kernel und eine benutzerdefinierte Kernelbefehlszeile ausführen. Es wird empfohlen, solche Konfigurationen mithilfe von Microsoft Intune wsl-Einstellungen zu blockieren.

  4. Betriebssystemverteilung wird auf der Seite Geräteübersicht eines WSL-Geräts im Microsoft Defender-Portal als Keine angezeigt.

  5. Das Plug-In wird auf Computern mit ARM64-Prozessor nicht unterstützt.

  6. Das Plug-In bietet Einblick in Ereignisse von WSL, aber andere Features wie Antischadsoftware, Bedrohungs- und Sicherheitsrisikomanagement und Reaktionsbefehle sind für das logische WSL-Gerät nicht verfügbar.

Softwarevoraussetzungen

  • WSL Version 2.0.7.0 oder höher muss mit mindestens einer aktiven Distribution ausgeführt werden.

    Führen Sie aus wsl --update , um sicherzustellen, dass Sie die neueste Version verwenden. Wenn wsl -–version eine ältere Version als 2.0.7.0angezeigt wird, führen Sie aus wsl -–update –pre-release , um das neueste Update zu erhalten.

  • Das Windows-Clientgerät muss in Defender für Endpunkt integriert werden.

  • Auf dem Windows-Clientgerät muss Windows 10, Version 2004 und höher (Build 19044 und höher) oder Windows 11 ausgeführt werden, um die WSL-Versionen zu unterstützen, die mit dem Plug-In verwendet werden können.

Softwarekomponenten und Dateinamen des Installationsprogramms

Installationsprogramm: DefenderPlugin-x64-0.24.426.1.msi. Sie können es von der Onboardingseite im Microsoft Defender-Portal herunterladen. (Wechseln Sie zu Einstellungen.>Endpunkte>Onboarding.)

Installationsverzeichnisse:

  • %ProgramFiles%

  • %ProgramData%

Installierte Komponenten:

  • DefenderforEndpointPlug-in.dll. Diese DLL ist die Bibliothek zum Laden von Defender für Endpunkt für die Arbeit in WSL. Sie finden sie unter %ProgramFiles%\Microsoft Defender for Endpoint plug-in for WSL\plug-in.

  • healthcheck.exe. Dieses Programm überprüft den Integritätsstatus von Defender für Endpunkt und ermöglicht es Ihnen, die installierten Versionen von WSL, Plug-In und Defender für Endpunkt anzuzeigen. Sie finden sie unter %ProgramFiles%\Microsoft Defender for Endpoint plug-in for WSL\tools.

Installationsschritte

Wenn Ihr Windows-Subsystem für Linux noch nicht installiert ist, führen Sie die folgenden Schritte aus:

  1. Öffnen Sie das Terminal oder die Eingabeaufforderung. (Wechseln Sie unter Windows zu Start>.Eingabeaufforderung. Oder klicken Sie mit der rechten Maustaste auf die Startschaltfläche, und wählen Sie dann Terminal aus.)

  2. Führen Sie den Befehl wsl -–install aus.

  3. Vergewissern Sie sich, dass WSL installiert ist und ausgeführt wird.

    1. Führen Sie über das Terminal oder die Eingabeaufforderung aus wsl –-update , um sicherzustellen, dass Sie über die neueste Version verfügen.

    2. Führen Sie den wsl Befehl aus, um sicherzustellen, dass WSL vor dem Testen ausgeführt wird.

  4. Installieren Sie das Plug-In, indem Sie die folgenden Schritte ausführen:

    1. Installieren Sie die MSI-Datei, die im Abschnitt Onboarding im Microsoft Defender-Portal heruntergeladen wurde (Einstellungen>Endpunkte>Onboarding>Windows-Subsystem für Linux 2 (Plug-In)).

    2. Öffnen Sie eine Eingabeaufforderung/ein Terminal, und führen Sie aus wsl.

    Sie können das Paket mithilfe von Microsoft Intune bereitstellen.

Hinweis

Wenn WslService ausgeführt wird, wird es während des Installationsvorgangs beendet. Sie müssen das Subsystem nicht separat integrieren. Stattdessen wird das Plug-In automatisch in den Mandanten integriert, in den der Windows-Host integriert ist.

Prüfliste für die Überprüfung der Installation

  1. Warten Sie nach dem Update oder der Installation mindestens fünf Minuten, bis das Plug-In vollständig initialisiert und die Protokollausgabe geschrieben wurde.

  2. Öffnen Sie das Terminal oder die Eingabeaufforderung. (Wechseln Sie unter Windows zu Start>.Eingabeaufforderung. Oder klicken Sie mit der rechten Maustaste auf die Startschaltfläche, und wählen Sie dann Terminal aus.)

  3. Führen Sie den Folgenden Befehl aus: cd "%ProgramFiles%\Microsoft Defender for Endpoint plug-in for WSL\tools".

  4. Führen Sie den Befehl .\healthcheck.exe aus.

  5. Überprüfen Sie die Details von Defender und WSL, und stellen Sie sicher, dass sie den folgenden Anforderungen entsprechen oder überschreiten:

    • Plug-In-Version: 1.24.522.2
    • WSL-Version: 2.0.7.0 oder höher
    • Defender-App-Version: 101.24032.0007
    • Defender-Integritätsstatus: Healthy

Festlegen eines Proxys für Defender, der in WSL ausgeführt wird

In diesem Abschnitt wird beschrieben, wie Sie proxykonnektivität für das Defender für Endpunkt-Plug-In konfigurieren. Wenn Ihr Unternehmen einen Proxy verwendet, um Verbindungen mit Defender für Endpunkt bereitzustellen, die auf dem Windows-Host ausgeführt wird, lesen Sie weiter, um zu ermitteln, ob Sie es für das Plug-In konfigurieren müssen.

Wenn Sie die Hostkonfiguration des Windows EDR-Telemetrieproxys für MDE für das WSL-Plug-In verwenden möchten, ist nichts mehr erforderlich. Diese Konfiguration wird automatisch vom Plug-In übernommen.

Wenn Sie die Host-Winhttp-Proxykonfiguration für MDE für WSL-Plug-In verwenden möchten, ist nichts mehr erforderlich. Diese Konfiguration wird automatisch vom Plug-In übernommen.

Wenn Sie die Hostnetzwerk- und Netzwerkproxyeinstellung für MDE für das WSL-Plug-In verwenden möchten, ist nichts mehr erforderlich. Diese Konfiguration wird automatisch vom Plug-In übernommen.

Hinweis

WSL Defender unterstützt nur http Proxys.

Plug-In-Proxyauswahl

Wenn Ihr Hostcomputer mehrere Proxyeinstellungen enthält, wählt das Plug-In die Proxykonfigurationen mit der folgenden Hierarchie aus:

  1. Statische Proxyeinstellung für Defender für Endpunkt (TelemetryProxyServer).

  2. Winhttp Proxy (konfiguriert über netsh den Befehl).

  3. Netzwerk- & Internetproxyeinstellungen.

Wenn Ihr Hostcomputer beispielsweise über Winhttp proxy und Network & Internet proxyverfügt, wählt Winhttp proxy das Plug-In als Proxykonfiguration aus.

Hinweis

Der DefenderProxyServer Registrierungsschlüssel wird nicht mehr unterstützt. Führen Sie die weiter oben in diesem Artikel beschriebenen Schritte aus, um den Proxy im Plug-In zu konfigurieren.

Konnektivitätstest für Defender in WSL

Der Defender-Konnektivitätstest wird immer dann ausgelöst, wenn eine Proxyänderung auf Ihrem Gerät erfolgt, und die Ausführung wird für die stündliche Ausführung geplant.

Warten Sie beim Starten des wsl-Computers fünf Minuten, und führen Sie dann aus healthcheck.exe (für die Ergebnisse des Konnektivitätstests finden Sie unter %ProgramFiles%\Microsoft Defender for Endpoint plug-in for WSL\tools ). Bei erfolgreicher Ausführung können Sie sehen, dass der Konnektivitätstest erfolgreich war. Wenn ein Fehler aufgetreten ist, können Sie sehen, dass der Konnektivitätstest darauf hinweist invalid , dass die Clientkonnektivität vom MDE-Plug-In für WSL zu Den Defender für Endpunkt-Dienst-URLs fehlschlägt.

Hinweis

Der ConnectivityTest Registrierungsschlüssel wird nicht mehr unterstützt. Informationen zum Festlegen eines Proxys für die Verwendung in WSL-Containern (den Verteilungen, die auf dem Subsystem ausgeführt werden) finden Sie unter Konfiguration erweiterter Einstellungen in WSL.

Überprüfen der Funktionalität und der ERFAHRUNG von SOC-Analysten

Nach der Installation des Plug-Ins werden das Subsystem und alle ausgeführten Container in das Microsoft Defender-Portal integriert.

  1. Melden Sie sich beim Microsoft Defender-Portal an, und öffnen Sie die Ansicht Geräte .

  2. Filtern Sie mit dem Tag WSL2.

Screenshot: Geräteinventurfilter

Sie können alle WSL-Instanzen in Ihrer Umgebung mit einem aktiven Defender für Endpunkt-Plug-In für WSL anzeigen. Diese Instanzen stellen alle Verteilungen dar, die in WSL auf einem bestimmten Host ausgeführt werden. Der Hostname eines Geräts entspricht dem des Windows-Hosts. Es wird jedoch als Linux-Gerät dargestellt.

  1. Öffnen Sie die Geräteseite. Im Bereich Übersicht finden Sie einen Link für den Ort, an dem das Gerät gehostet wird. Über den Link können Sie verstehen, dass das Gerät auf einem Windows-Host ausgeführt wird. Sie können dann zur weiteren Untersuchung und/oder Antwort auf den Host wechseln.

    Screenshot: Geräteübersicht

Die Zeitachse wird ähnlich wie Defender für Endpunkt unter Linux mit Ereignissen innerhalb des Subsystems (Datei, Prozess, Netzwerk) aufgefüllt. Sie können Aktivitäten und Erkennungen in der Zeitachsenansicht beobachten. Warnungen und Incidents werden entsprechend generiert.

Einrichten eines benutzerdefinierten Tags für Ihren WSL-Computer

Das Plug-In integriert den WSL-Computer mit dem Tag WSL2. Wenn Sie oder Ihre Organisation ein benutzerdefiniertes Tag benötigen, führen Sie die unten beschriebenen Schritte aus:

  1. Öffnen des Registrierungs-Editors als Administrator

  2. Erstellen Sie einen Registrierungsschlüssel mit den folgenden Details:

    • Name: GROUP
    • Typ: REG_SZ oder Registrierungszeichenfolge
    • Wert: Custom tag
    • Pfad: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Advanced Threat Protection\DeviceTagging
  3. Nachdem die Registrierung festgelegt wurde, starten Sie wsl mit den folgenden Schritten neu:

    1. Öffnen Sie die Eingabeaufforderung, wsl --shutdownund führen Sie den Befehl aus.

    2. Führen Sie den Befehl wsl aus.

  4. Warten Sie 5 bis 10 Minuten, bis das Portal die Änderungen widerspiegelt.

Hinweis

Auf das in der Registrierung festgelegte benutzerdefinierte Tag folgt ein _WSL2. Wenn der Festgelegte Registrierungswert beispielsweise ist Microsoft, ist Microsoft_WSL2 das benutzerdefinierte Tag, und dasselbe wird im Portal angezeigt.

Testen des Plug-Ins

Führen Sie die folgenden Schritte aus, um das Plug-In nach der Installation zu testen:

  1. Öffnen Sie das Terminal oder die Eingabeaufforderung. (Wechseln Sie unter Windows zu Start>.Eingabeaufforderung. Oder klicken Sie mit der rechten Maustaste auf die Startschaltfläche, und wählen Sie dann Terminal aus.)

  2. Führen Sie den Befehl wsl aus.

  3. Laden Sie die Skriptdatei aus herunter, und extrahieren Sie sie aus https://aka.ms/MDE-Linux-EDR-DIY.

  4. Führen Sie an der Linux-Eingabeaufforderung den Befehl aus ./mde_linux_edr_diy.sh.

    Nach einigen Minuten sollte im Portal eine Warnung für eine Erkennung auf der WSL2-Instanz angezeigt werden.

    Hinweis

    Es dauert etwa fünf Minuten, bis die Ereignisse im Microsoft Defender-Portal angezeigt werden.

Behandeln Sie den Computer so, als wäre er ein regulärer Linux-Host in Ihrer Umgebung, mit dem Tests durchgeführt werden können. Insbesondere möchten wir Ihr Feedback dazu erhalten, dass mit dem neuen Plug-In potenziell schädliches Verhalten angezeigt werden kann.

Erweiterte Bedrohungssuche

Im Schema der erweiterten Suche unter der DeviceInfo Tabelle befindet sich ein neues Attribut namens HostDeviceId , das Sie verwenden können, um dem Windows-Hostgerät eine WSL-Instanz zuzuordnen. Im Folgenden finden Sie einige Beispielabfragen für die Suche:

Abrufen aller WSL-Geräte-IDs für die aktuelle Organisation/den aktuellen Mandanten

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

Abrufen der WSL-Geräte-IDs und der entsprechenden Hostgeräte-IDs

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

Abrufen einer Liste der WSL-Geräte-IDs, auf denen curl oder wget ausgeführt wurde

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

Problembehandlung

  1. Der Befehl healthcheck.exe zeigt die Ausgabe "Starten Sie die WSL-Distribution mit dem Befehl 'bash' und wiederholen Sie den Vorgang in fünf Minuten".

    Screenshot: PowerShell-Ausgabe

  2. Wenn der zuvor erwähnte Fehler auftritt, führen Sie die folgenden Schritte aus:

    1. Öffnen Sie eine Terminalinstanz, und führen Sie den Befehl aus wsl.

    2. Warten Sie mindestens fünf Minuten, bevor Sie die Integritätsprüfung erneut ausführen.

  3. Der healthcheck.exe Befehl zeigt möglicherweise die Ausgabe "Warten auf Telemetrie. Versuchen Sie es in fünf Minuten erneut."

    Screenshot: Integritätstelemetriestatus

    Wenn dieser Fehler auftritt, warten Sie fünf Minuten, und führen Sie erneut aus healthcheck.exe.

  4. Wenn im Microsoft Defender-Portal keine Geräte oder keine Ereignisse auf der Zeitachse angezeigt werden, überprüfen Sie Folgendes:

    • Wenn sie kein Computerobjekt sehen, stellen Sie sicher, dass genügend Zeit für den Abschluss des Onboardings vergangen ist (in der Regel bis zu 10 Minuten).

    • Stellen Sie sicher, dass Sie die richtigen Filter verwenden und dass Ihnen die entsprechenden Berechtigungen zum Anzeigen aller Geräteobjekte zugewiesen sind. (Ist Ihr Konto/Ihre Gruppe beispielsweise auf eine bestimmte Gruppe beschränkt?)

    • Verwenden Sie das Integritätsprüfungstool, um eine Übersicht über die allgemeine Integrität des Plug-Ins zu erhalten. Öffnen Sie Terminal, und führen Sie das healthcheck.exe Tool über aus %ProgramFiles%\Microsoft Defender for Endpoint plug-in for WSL\tools.

      Screenshot: Status in PowerShell

    • Aktivieren Sie den Konnektivitätstest, und suchen Sie in WSL nach Defender für Endpunkt-Konnektivität. Wenn der Konnektivitätstest fehlschlägt, geben Sie die Ausgabe des Integritätsprüfungstools an unser Supportteam an.

    • Wenn der Konnektivitätstest bei der Integritätsprüfung als "ungültig" gemeldet wird, schließen Sie die folgenden Konfigurationseinstellungen in die .wslconfig ein, und starten Sie %UserProfile% WSL neu. Details zu Einstellungen finden Sie unter WSL-Einstellungen.

      • In Windows 11

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

        # Settings apply across all Linux distros running on WSL 2
        [wsl2]
        
        dnsProxy=false
        
    • Wenn die Konnektivitätsprobleme weiterhin bestehen, führen Sie die folgenden Schritte aus, um die Netzwerkprotokolle zu erfassen.

      1. Öffnen einer PowerShell-Eingabeaufforderung mit erhöhten Rechten (Administrator)

      2. Herunterladen und Ausführen: .\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. Öffnen Sie eine neue Eingabeaufforderung, und führen Sie Folgendes aus: wsl

      4. Öffnen Sie eine Eingabeaufforderung mit erhöhten Rechten (admin), und führen Sie Folgendes aus: wsl --debug-shell

      5. Führen Sie in der Debugshell Folgendes aus: mdatp connectivity test

      6. Abschließen des Konnektivitätstests zulassen

      7. Beenden der in Schritt 2 ausgeführten .ps1

      8. Geben Sie die generierte .zip-Datei zusammen mit dem Supportpaket frei, das wie in den Schritten beschrieben gesammelt werden kann.

Sammlung von Supportpaketen

  1. Wenn andere Herausforderungen oder Probleme auftreten, öffnen Sie Terminal, und führen Sie die folgenden Befehle aus, um ein Supportpaket zu generieren:

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

    Das Supportpaket befindet sich im Pfad, der vom vorherigen Befehl bereitgestellt wurde.

    Screenshot: Status in der PowerShell-Ausgabe

  2. Microsoft Defender Endpoint für WSL unterstützt Linux-Distributionen, die unter WSL 2 ausgeführt werden. Wenn sie mit WSL 1 verknüpft sind, können Probleme auftreten. Daher wird empfohlen, WSL 1 zu deaktivieren. Führen Sie dazu mit der Intune-Richtlinie die folgenden Schritte aus:

    1. Wechseln Sie zu Ihrem Microsoft Intune Admin Center.

    2. Wechseln Sie zu Geräte>Konfigurationsprofile>Neue Richtlinieerstellen>.

    3. Wählen SieDen Einstellungskatalog für Windows 10 und höher> aus.

    4. Erstellen Sie einen Namen für das neue Profil, und suchen Sie nach Windows-Subsystem für Linux , um die vollständige Liste der verfügbaren Einstellungen anzuzeigen und hinzuzufügen.

    5. Legen Sie die Einstellung WSL1 zulassen auf Deaktiviert fest, um sicherzustellen, dass nur WSL 2-Verteilungen verwendet werden können.

      Wenn Sie WSL 1 weiterhin verwenden oder die Intune-Richtlinie nicht verwenden möchten, können Sie ihre installierten Distributionen selektiv für die Ausführung in WSL 2 zuordnen, indem Sie den Befehl in PowerShell ausführen:

      wsl --set-version <YourDistroName> 2
      

      Um WSL 2 als WSL-Standardversion für neue Distributionen zu verwenden, die im System installiert werden sollen, führen Sie den folgenden Befehl in PowerShell aus:

      wsl --set-default-version 2
      
  3. Das Plug-In verwendet standardmäßig den Windows EDR-Ring. Wenn Sie zu einem früheren Ring wechseln möchten, legen Sie unter Registrierung auf einen der folgenden Optionen fest OverrideReleaseRing , und starten Sie WSL neu:

    • Name: OverrideReleaseRing
    • Typ: REG_SZ
    • Wert: Dogfood or External or InsiderFast or Production
    • Pfad: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Defender for Endpoint plug-in for WSL
  4. Wenn beim Starten von WSL ein Fehler angezeigt wird, z. B. "Ein schwerwiegender Fehler wurde vom Plug-In "DefenderforEndpointPlug-in" zurückgegeben. Fehlercode: Wsl/Service/CreateInstance/CreateVm/Plugin/ERROR_FILE_NOT_FOUND" bedeutet dies, dass die Installation des Defender für Endpunkt-Plug-Ins für WSL fehlerhaft ist. Führen Sie die folgenden Schritte aus, um sie zu reparieren:

    1. Wechseln Sie in der Systemsteuerung zu Programme>Programme und Features.

    2. Suchen Sie nach dem Microsoft Defender für Endpunkt-Plug-In für WSL, und wählen Sie es aus. Wählen Sie dann Reparieren aus. Durch diese Aktion sollte das Problem behoben werden, indem die richtigen Dateien in den erwarteten Verzeichnissen platziert werden.

    Screenshot: Option