Microsoft Defender för Endpoint-insticksprogram för Podsystém Windowsu pre Linux (WSL)

I den här artikeln beskrivs hur du installerar, konfigurerar och felsöker Microsoft Defender för Endpoint plugin-programmet för Podsystém Windowsu pre Linux (WSL) 2. Insticksprogrammet utökar synligheten i Defender for Endpoint till WSL-containrar som körs på Windows 10- och Windows 11-enheter som är anslutna till Microsoft Defender för Endpoint Plan 2.

Översikt

Windows-undersystem för Linux (WSL) 2, som ersätter den tidigare versionen av WSL (stöds av Microsoft Defender för Endpoint utan plugin-program), tillhandahåller en Linux miljö som är sömlöst integrerad med Windows, men ändå är isolerad med virtualiseringsteknik. Med plugin-programmet Defender för Endpoint för WSL kan Defender för Endpoint ge mer insyn i alla WSL-containrar som körs genom att ansluta till det isolerade undersystemet.

Förhandskrav

Innan du installerar Defender för Endpoint WSL-plugin-programmet kontrollerar du att följande krav är uppfyllda:

  • WSL-versionen 2.0.7.0 eller senare måste köras med minst en aktiv distribution. Kör wsl --update för att kontrollera att du har den senaste versionen. Om wsl -–version visar en version som är äldre än 2.0.7.0kör du wsl --update --pre-release för att hämta den senaste uppdateringen.

  • Windows-klientenheten måste vara registrerad i Defender för Endpoint.

Operativsystem som stöds

Följande operativsystem stöder Defender för Endpoint WSL-plugin-programmet:

  • Windows 10 version 2004 och senare (version 19044 och senare)
  • Windows 11 för att stödja de WSL-versioner som kan fungera med plugin-programmet.

Kända problem och begränsningar

Tänk på följande innan du börjar:

  • Plugin-programmet stöder inte automatiska uppdateringar av versioner före 1.24.522.2. I version 1.24.522.2 och senare. Uppdateringar stöds via Windows Update i alla ringar. Uppdateringar via Windows Server Update Services (WSUS), System Center Configuration Manager (SCCM) och Microsoft Update-katalogen stöds endast i produktionsringen för att säkerställa paketstabilitet.

  • Det tar några minuter för plugin-programmet att instansieras helt och upp till 30 minuter för en WSL2-instans att registrera sig själv. Kortvariga WSL-containerinstanser kan leda till att WSL2-instansen inte visas i Microsoft Defender portalen. När en distribution har körts tillräckligt länge (minst 30 minuter) visas WSL2-instansen i Microsoft Defender-portalen.

  • Det stöds inte att köra en anpassad kärna och en anpassad kommandorad för kärnan. Även om insticksprogrammet inte hindrar att den körs i den konfigurationen, garanterar det inte synlighet i WSL när du kör med en anpassad kärna och en anpassad kommandorad för kärnan. Vi rekommenderar att du blockerar sådana konfigurationer med Microsoft Intune wsl-inställningar.

  • Plugin-programmet stöds inte på datorer med en ARM64-processor.

  • Plugin-programmet stöds inte på flersessionsvarianter av Windows 10 och 11.

  • Plugin-programmet ger insyn i händelser från WSL, men andra funktioner som program mot skadlig kod, Hantering av hot och säkerhetsrisker och svarskommandon är inte tillgängliga för den logiska WSL-enheten.

Filnamn för programvarukomponenter och installationsprogram

Installationsprogram: DefenderPlugin-x64-0.24.426.1.msi. Du kan ladda ned installationsprogrammet från onboarding-sidan i Microsoft Defender portalen. (Gå till Inställningar>Slutpunkter>Registrering.)

Installationskataloger:

  • %ProgramFiles%

  • %ProgramData%

Installerade komponenter:

  • DefenderforEndpointPlug-in.dll. Den här DLL-filen är biblioteket för att läsa in Defender för Endpoint så att den fungerar i WSL. Du hittar den på %ProgramFiles%\Microsoft Defender för Endpoint plug-in for WSL\plug-in.

  • healthcheck.exe. Det här programmet kontrollerar hälsostatusen för Defender för Endpoint och gör att du kan se de installerade versionerna av WSL, plugin-programmet och Defender för Endpoint. Du hittar den på %ProgramFiles%\Microsoft Defender för Endpoint plug-in for WSL\tools.

Installera Defender för Endpoint WSL-plugin-programmet

Om Windows-undersystem för Linux inte har installerats än följer du dessa steg:

  1. Öppna terminalen eller kommandotolken. (I Windows går du till Start>Kommandotolk. Eller högerklicka på startknappen och välj sedan Terminal.)

  2. Kör kommandot wsl -–install.

  3. Bekräfta att WSL är installerat och körs.

    1. Använd terminalen eller kommandotolken och kör wsl –-update för att kontrollera att du har den senaste versionen.

    2. wsl Kör kommandot för att säkerställa att WSL körs innan du testar.

  4. Installera plugin-programmet genom att följa dessa steg:

    1. Installera MSI-filen som laddades ned från onboarding-avsnittet i Microsoft Defender-portalen (Inställningar>Endpoints>Onboarding>Windows-undersystem för Linux 2 (plugin-program)).

    2. Öppna en kommandotolk/terminal och kör wsl.

    Du kan distribuera paketet med hjälp av Microsoft Intune.

Obs!

Om WslService körs stoppas den under installationsprocessen. Du behöver inte integrera delsystemet separat. I stället ansluts insticksprogrammet automatiskt till den klientorganisation som Windows-värden är ansluten till. Microsoft Defender för Endpoint-uppdatering för insticksprogrammet för WSL KB Update.

Checklista för installationsverifiering

Använd följande checklista för att kontrollera att plugin-programmet är korrekt installerat och körs som förväntat:

  1. Efter uppdateringen eller installationen väntar du i minst fem minuter på att plugin-programmet ska initiera och skriva loggutdata helt.

  2. Öppna terminalen eller kommandotolken. (I Windows går du till Start>Kommandotolk. Eller högerklicka på startknappen och välj sedan Terminal.)

  3. Kör kommandot: cd "%ProgramFiles%\Microsoft Defender för Endpoint plug-in for WSL\tools".

  4. Kör kommandot .\healthcheck.exe.

  5. Granska informationen om Defender och WSL och se till att de matchar eller överskrider följande krav:

    • Plugin-version: 1.24.522.2
    • WSL-version: 2.0.7.0 eller senare
    • Version av Defender-appen: 101.24032.0007
    • Status för Defender-hälsotillstånd: Healthy

Ange en proxy för Defender som körs i WSL

Du kan konfigurera proxyanslutningen för WSL-pluginen i Defender for Endpoint. Om ditt företag använder en proxy för att tillhandahålla anslutning till Defender för Endpoint som körs på Windows-värden, fortsätt läsa för att avgöra om du behöver konfigurera den för insticksprogrammet.

Om du vill använda värdkonfigurationen för Windows EDR-telemetriproxy för MDE för WSL-plugin-programmet krävs inget mer. Konfigurationen för Windows EDR-telemetriproxyn används automatiskt av pluginet.

Om du vill använda värdkonfigurationen för winhttp proxy för MDE för WSL-plugin-programmet krävs inget mer. Värdkonfigurationen för WinHTTP-proxyn antas automatiskt av plugin-programmet.

Om du vill använda inställningen för värdnätverks- och nätverksproxy för MDE för WSL-plugin-programmet krävs inget mer. Konfigurationen av värdnätverksproxyn antas automatiskt av plugin-programmet.

Obs!

WSL Defender stöder endast http proxy.

Så här väljer WSL-plugin-programmet en proxy

Om värddatorn innehåller flera proxyinställningar väljer plugin-programmet proxykonfigurationerna med följande hierarki:

  1. Inställning för statisk proxy för Defender för Endpoint (TelemetryProxyServer).

  2. Winhttp proxy (konfigurerad via netsh kommando).

  3. Proxyinställningar för Nätverk och Internet

    Om värddatorn till exempel har både Winhttp proxy och Network & Internet proxyväljer Winhttp proxy plugin-programmet som proxykonfiguration.

Obs!

Registernyckeln DefenderProxyServer stöds inte längre. Följ stegen i Ange en proxy för Defender som körs i WSL för att konfigurera proxy i plugin-programmet.

Anslutningstest av Defender för Endpoint som körs i WSL

Anslutningstestet för Defender for Endpoint utlöses varje gång en proxyändring görs på din enhet och är schemalagt att köras varje timme.

När du startar wsl-datorn väntar du i 5 minuter och kör healthcheck.exe sedan (finns på %ProgramFiles%\Microsoft Defender för Endpoint plug-in for WSL\tools för resultatet av anslutningstestet). Om anslutningstestet lyckas rapporterar hälsokontrollen ett lyckat resultat. Om anslutningstestet misslyckas rapporterar hälsokontrollen statusen som invalid, vilket indikerar att klientanslutningen från MDE-pluginen för WSL till tjänst-URL:erna för Defender for Endpoint misslyckas.

Obs!

Registernyckeln ConnectivityTest stöds inte längre. Information om hur du anger en proxy för användning i WSL-containrar (distributionerna som körs i undersystemet) finns i Konfiguration av avancerade inställningar i WSL.

Verifiera funktioner och SOC-analytikerupplevelse

När plugin-programmet har installerats registreras undersystemet och alla containrar som körs på Microsoft Defender-portalen.

  1. Logga in på Microsoft Defender-portalen och öppna vyn Enheter.

  2. Filtrera med taggen WSL2.

    Skärmbild som visar filter för enhetsinventering

    Du kan se alla WSL-instanser i din miljö där plugin-programmet för WSL för Defender for Endpoint är aktivt. Dessa instanser representerar alla distributioner som körs i WSL på en viss värd. Värdnamnet för en enhet är detsamma som Windows-värdens. Den representeras dock som en Linux enhet.

  3. Öppna enhetssidan. I fönstret Översikt visar värdlänken att enheten körs på en Windows värd. Du kan välja den här länken för att pivotleda till Windows värd för ytterligare undersökning och/eller svar.

    Skärmbild som visar enhetsöversikt.

Tidslinjen är ifylld, ungefär som Defender för Endpoint på Linux, med händelser inifrån undersystemet (fil, process, nätverk). Du kan se aktivitet och detekteringar i tidslinjevyn. Aviseringar och incidenter genereras även efter behov.

Konfigurera anpassad tagg för WSL-datorn

Insticksprogrammet ansluter WSL-datorn med taggen WSL2. Om du eller din organisation behöver en anpassad tagg följer du dessa steg för att konfigurera en:

  1. Öppna Registereditorn som administratör.

  2. Skapa en registernyckel med följande information:

    • Namn: GROUP
    • Typ: REG_SZ eller registersträng
    • Värde: Custom tag
    • Sökvägen: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Advanced Threat Protection\DeviceTagging
  3. När registret har angetts startar du om wsl med hjälp av följande steg:

    1. Öppna kommandotolken och kör kommandot . wsl --shutdown

    2. Kör kommandot wsl.

  4. Vänta i 5–10 minuter för att portalen ska återspegla ändringarna.

Obs!

Det anpassade taggvärdet som konfigurerats i registerposten GROUP har suffixet _WSL2. Om GROUP registervärdet till exempel är Microsoftvisas den anpassade taggen som Microsoft_WSL2 i portalen.

Testa plugin-programmet

Testa plugin-programmet efter installationen genom att följa dessa steg:

  1. Öppna terminalen eller kommandotolken. (I Windows går du till Start>Kommandotolk. Eller högerklicka på startknappen och välj sedan Terminal.)

  2. Kör kommandot wsl.

  3. Ladda ned och extrahera skriptfilen från MDE Linux EDR DIY-testpaketet.

  4. Kör kommandot ./mde_linux_edr_diy.shi Linux prompten. En avisering bör visas i portalen efter några minuter för en identifiering på WSL2-instansen.

    Obs!

    Det tar ungefär fem minuter innan händelserna visas på Microsoft Defender-portalen.

Behandla datorn som om det vore en vanlig Linux värd i din miljö att utföra testning mot. I synnerhet vill vi få din feedback om möjligheten att visa potentiellt skadligt beteende med hjälp av det nya plugin-programmet.

Använda avancerad jakt för att undersöka WSL-enheter

I schemat för Avancerad jakt finns det under tabellen DeviceInfo ett nytt attribut som heter HostDeviceId och som du kan använda för att koppla en WSL-instans till dess värdenhet i Windows. Här är några exempel på jaktfrågor:

Hämta alla WSL-enhets-ID:n för den aktuella organisationen/innehavaren

Använd följande fråga för att visa en lista över alla WSL-enhets-ID:n i din klientorganisation:

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

Hämta WSL-enhets-ID:n och deras motsvarande enhets-ID:n på värddatorn

Använd följande fråga för att mappa varje WSL-enhets-ID till motsvarande enhets-ID för värdenheten i Windows:

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

Hämta en lista över WSL-enhets-ID:n där curl eller wget kördes

Använd följande fråga för att hitta WSL-enheter där curl eller wget kördes:

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

Felsökning

Använd följande felsökningssteg för att diagnostisera och lösa vanliga problem med Defender för Endpoint WSL-plugin-programmet.

Installationen misslyckades

Om du ser ett fel när du startar WSL, till exempel A fatal error was returned by plugin 'DefenderforEndpointPlug-in' Error code: Wsl/Service/CreateInstance/CreateVm/Plugin/ERROR_FILE_NOT_FOUND, innebär det att installationen av Defender for Endpoint-insticksprogrammet för WSL är felaktig. Följ dessa steg för att reparera den:

  1. I Kontrollpanelen går du till Program>och funktioner.

  2. Sök efter och välj insticksprogrammet Microsoft Defender för Endpoint för WSL. Välj sedan Reparera. Den här åtgärden bör åtgärda problemet genom att placera rätt filer i de förväntade katalogerna.

    Skärmbild som visar reparationsalternativet för MDE-pluginen för WSL i kontrollpanelen.

Kommandot healthcheck.exe visar utdata: "Starta WSL-distribution med bash-kommandot och försök igen om fem minuter."

Om du ser det här meddelandet startar du en WSL-distribution och väntar innan du kör hälsokontrollen igen:

Skärmbild som visar PowerShell-utdata.

  1. Öppna en terminalinstans och kör kommandot wsl.

  2. Vänta i minst fem minuter innan du kör hälsokontrollen igen.

Kommandot healthcheck.exe kan visa utdata: "Väntar på telemetri. Försök igen om fem minuter."

Du kan se följande meddelande medan telemetri fortfarande initieras:

Skärmbild som visar status för hälsotelemetri.

Om meddelandet "Väntar på telemetri" visas väntar du i fem minuter och kör healthcheck.exe igen.

Du ser inga enheter i Microsoft Defender-portalen eller så ser du inga händelser på tidslinjen

Kontrollera följande:

  • Om du inte ser ett maskinobjekt, kontrollera att tillräckligt med tid har gått för att registreringen ska slutföras (vanligtvis upp till 10 minuter).

  • Se till att använda rätt filter och att du har rätt behörigheter för att visa alla enhetsobjekt. (Är ditt konto/din grupp till exempel begränsad till en viss grupp?)

  • Använd hälsokontrollverktyget för att ge en översikt över det övergripande plugin-programmets hälsotillstånd. Öppna Terminal och kör healthcheck.exe verktyget från %ProgramFiles%\Microsoft Defender för Endpoint plug-in for WSL\tools.

    Skärmbild som visar status i PowerShell.

  • Aktivera anslutningstestet och kontrollera anslutning till Defender for Endpoint i WSL. Om anslutningstestet misslyckas anger du utdata för hälsokontrollverktyget till vårt supportteam.

Anslutningstestet rapporterar "ogiltigt" vid hälsokontrollen

Om anslutningstestet rapporterar invalidanvänder du följande kontroller för att diagnostisera problemet:

  • Om datorn har en proxykonfiguration kör du kommandot healthCheck --extendedProxy. Detta ger information om vilka proxyservrar som har angetts på datorn och om dessa konfigurationer är ogiltiga för WSL Defender.

    Skärmbild av healthCheck --extendedProxy-kommandoutdata som visar proxykonfigurationer som identifierats på datorn för WSL-Defender plugin-programmet.

  • Om det inte löser felet i anslutningstestet att köra healthCheck --extendedProxy, ska du lägga till följande konfigurationsinställningar i filen .wslconfig, som finns i din %UserProfile%, och sedan starta om WSL. Information om inställningar finns i WSL-inställningar.

    I Windows 11

    Lägg till följande inställningar i .wslconfig filen för att aktivera DNS-tunnlar och speglade nätverk:

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

    I Windows 10

    Lägg till följande inställning i .wslconfig filen för att inaktivera DNS-proxyn:

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

Anslutningsproblem kvarstår

Samla in nätverksloggarna genom att följa dessa steg:

  1. Öppna en upphöjd (administratör) PowerShell-prompt.

  2. Ladda ned och kör: .\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. Öppna en ny kommandotolk och kör följande kommando: wsl.

  4. Öppna en kommandotolk med förhöjda rättigheter (administratör) och kör följande kommando: wsl --debug-shell.

  5. I felsökningsgränssnittet kör du: mdatp connectivity test.

  6. Tillåt att anslutningstestet slutförs.

  7. Stoppa .ps1-skriptet som kördes i steg 2.

  8. Dela den genererade .zip-filen tillsammans med ett supportpaket som samlas in genom att köra healthcheck.exe --supportBundle från %ProgramFiles%\Microsoft Defender för Endpoint plug-in for WSL\tools.

Samla in ett supportpaket

Om du vill samla in diagnostikinformation för support genererar du ett supportpaket med hjälp av följande steg:

  1. Om du stöter på andra utmaningar eller problem öppnar du Terminal. Gå först till verktygskatalogen för Defender for Endpoint WSL-plugin-programmet och kör sedan verktyget healthcheck.exe för att generera ett supportpaket:

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

    Kör sedan följande kommando för att generera ett supportpaket som samlar in diagnostikinformation för felsökning:

    .\healthcheck.exe --supportBundle 
    

    Supportpaketet hittar du på den sökväg som anges av föregående kommando.

    Skärmbild som visar status i PowerShell-utdata.

WSL1 jämfört med WSL2

Microsoft Defender endpoint plug-in för WSL stöder Linux distributioner som körs på WSL 2. Om dessa Linux-distributioner är associerade med WSL 1 kan det uppstå problem. Därför rekommenderar vi att du inaktiverar WSL 1. Utför följande steg för att göra det med Intune-principen:

  1. Gå till administrationscentret för Microsoft Intune.

  2. Gå till Enheter>Konfigurationsprofiler>Skapa>Ny princip.

  3. Välj Windows 10 och senare>Inställningskatalog.

  4. Skapa ett namn för den nya profilen och sök efter Windows-undersystem för Linux för att se och lägga till den fullständiga listan över tillgängliga inställningar.

  5. Ange inställningen Tillåt WSL1 till Inaktiverad för att säkerställa att endast WSL 2-distributioner kan användas.

    Om du vill fortsätta använda WSL 1 eller inte använder Intune-principen kan du också selektivt uppgradera en specifik installerad distribution från WSL 1 till WSL 2 genom att köra följande kommando i PowerShell:

    wsl --set-version <YourDistroName> 2
    

    För att säkerställa att alla framtida distributioner skapas med WSL 2 som standard kör du följande kommando i PowerShell för att ange WSL 2 som standardversion:

    wsl --set-default-version 2
    

Åsidosätt lanseringsringen för WSL-pluginet

Du kan åsidosätta standardversionsringen för plugin-programmet genom att konfigurera en registerinställning.

  • Plugin-programmet använder Windows EDR-ringen som standard. Om du vill växla till en tidigare ring anger du OverrideReleaseRing till något av följande i registret och startar om WSL:

    • Namn: OverrideReleaseRing
    • Typ: REG_SZ
    • Värde: Dogfood or External or InsiderFast or Production
    • Sökväg: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Defender för Endpoint plug-in for WSL