Udostępnij za pośrednictwem


wtyczka Ochrona punktu końcowego w usłudze Microsoft Defender dla Podsystem Windows dla systemu Linux (WSL)

Dotyczy:

Omówienie

Podsystem Windows dla systemu Linux (WSL) 2, która zastępuje poprzednią wersję protokołu WSL (obsługiwaną przez Ochrona punktu końcowego w usłudze Microsoft Defender bez wtyczki), zapewnia środowisko systemu Linux, które jest bezproblemowo zintegrowane z systemem Windows, ale jest izolowane przy użyciu technologii wirtualizacji. Wtyczka Defender for Endpoint for WSL umożliwia usłudze Defender for Endpoint zapewnienie większego wglądu we wszystkie uruchomione kontenery WSL przez podłączenie do izolowanego podsystemu.

Znane problemy i ograniczenia

Przed rozpoczęciem należy pamiętać o następujących kwestiach:

  1. Wtyczka nie obsługuje automatycznych aktualizacji wersji wcześniejszych niż 1.24.522.2. W wersji 1.24.522.2 i nowszych aktualizacje są obsługiwane za pośrednictwem Windows Update we wszystkich pierścieniach. Aktualizacje za pośrednictwem usług Windows Server Update Services (WSUS), System Center Configuration Manager (SCCM) i Wykaz usługi Microsoft Update są obsługiwane tylko w pierścieniu produkcyjnym, aby zapewnić stabilność pakietu.

  2. Pełne wystąpienie wtyczki trwa kilka minut, a do dołączenia wystąpienia WSL2 — do 30 minut. Krótkotrwałe wystąpienia kontenerów WSL mogą spowodować, że wystąpienie WSL2 nie zostanie wyświetlone w portalu Microsoft Defender (https://security.microsoft.com). Gdy dystrybucja będzie działać wystarczająco długo (co najmniej 30 minut), zostanie wyświetlona.

  3. Uruchamianie niestandardowego jądra i niestandardowego wiersza polecenia jądra nie jest obsługiwane. Chociaż wtyczka nie blokuje uruchamiania w tej konfiguracji, nie gwarantuje widoczności w usłudze WSL podczas uruchamiania niestandardowego jądra i niestandardowego wiersza polecenia jądra. Zalecamy blokowanie takich konfiguracji przy użyciu Microsoft Intune ustawień programu wsl.

  4. Dystrybucja systemu operacyjnego jest wyświetlana Brak na stronie Przegląd urządzenia WSL w portalu Microsoft Defender.

  5. Wtyczka nie jest obsługiwana na maszynach z procesorem ARM64.

  6. Wtyczka zapewnia wgląd w zdarzenia z poziomu protokołu WSL, ale inne funkcje, takie jak oprogramowanie chroniące przed złośliwym kodem, polecenia Zarządzanie zagrożeniami i lukami i odpowiedzi, nie są dostępne dla urządzenia logicznego WSL.

Wymagania wstępne dotyczące oprogramowania

  • Program WSL w wersji 2.0.7.0 lub nowszej musi być uruchomiony z co najmniej jedną aktywną dystrybucją.

    Uruchom polecenie wsl --update , aby upewnić się, że korzystasz z najnowszej wersji. Jeśli wsl -–version jest wyświetlana wersja starsza niż 2.0.7.0, uruchom polecenie wsl -–update –pre-release , aby uzyskać najnowszą aktualizację.

  • Urządzenie klienckie z systemem Windows musi zostać dołączone do usługi Defender for Endpoint.

  • Na urządzeniu klienckim z systemem Windows musi działać Windows 10, w wersji 2004 lub nowszej (kompilacja 19044 lub nowsza) lub Windows 11 do obsługi wersji WSL, które mogą działać z wtyczką.

Składniki oprogramowania i nazwy plików instalatora

Instalator: DefenderPlugin-x64-0.24.426.1.msi. Możesz pobrać go ze strony dołączania w portalu Microsoft Defender. (Przejdź do pozycji Ustawienia>Punkty końcowe>Dołączanie).

Katalogi instalacyjne:

  • %ProgramFiles%

  • %ProgramData%

Zainstalowane składniki:

  • DefenderforEndpointPlug-in.dll. Ta biblioteka DLL to biblioteka umożliwiająca ładowanie usługi Defender for Endpoint do pracy w usłudze WSL. Można go znaleźć pod adresem %ProgramFiles%\Microsoft Defender for Endpoint plug-in for WSL\plug-in.

  • healthcheck.exe. Ten program sprawdza stan kondycji usługi Defender for Endpoint i umożliwia wyświetlanie zainstalowanych wersji protokołu WSL, wtyczki i usługi Defender for Endpoint. Można go znaleźć pod adresem %ProgramFiles%\Microsoft Defender for Endpoint plug-in for WSL\tools.

Kroki instalacji

Jeśli Podsystem Windows dla systemu Linux nie jest jeszcze zainstalowana, wykonaj następujące kroki:

  1. Otwórz terminal lub wiersz polecenia. (W systemie Windows przejdź do pozycji Start>Wiersz polecenia. Możesz też kliknąć prawym przyciskiem myszy przycisk Start, a następnie wybrać pozycję Terminal.

  2. Uruchom polecenie wsl -–install.

  3. Upewnij się, że program WSL jest zainstalowany i uruchomiony.

    1. Za pomocą terminalu lub wiersza polecenia uruchom polecenie wsl –-update , aby upewnić się, że masz najnowszą wersję.

    2. Uruchom polecenie , wsl aby upewnić się, że program WSL jest uruchomiony przed testowaniem.

  4. Zainstaluj wtyczkę, wykonując następujące kroki:

    1. Zainstaluj plik MSI pobrany z sekcji dołączania w portalu Microsoft Defender (dołączanie>punktów końcowych ustawień>>Podsystem Windows dla systemu Linux 2 (wtyczka)).

    2. Otwórz wiersz polecenia/terminal i uruchom polecenie wsl.

    Pakiet można wdrożyć przy użyciu Microsoft Intune.

Uwaga

Jeśli WslService jest uruchomiona, zatrzymuje się podczas procesu instalacji. Nie trzeba dołączać podsystemu oddzielnie. Zamiast tego wtyczka automatycznie dołącza do dzierżawy, do których jest dołączony host systemu Windows.

Lista kontrolna weryfikacji instalacji

  1. Po aktualizacji lub instalacji poczekaj co najmniej pięć minut, aż wtyczka będzie w pełni inicjować i zapisywać dane wyjściowe dziennika.

  2. Otwórz terminal lub wiersz polecenia. (W systemie Windows przejdź do pozycji Start>Wiersz polecenia. Możesz też kliknąć prawym przyciskiem myszy przycisk Start, a następnie wybrać pozycję Terminal.

  3. Uruchom polecenie : cd "%ProgramFiles%\Microsoft Defender for Endpoint plug-in for WSL\tools".

  4. Uruchom polecenie .\healthcheck.exe.

  5. Przejrzyj szczegóły usług Defender i WSL i upewnij się, że spełniają lub przekraczają następujące wymagania:

    • Wersja wtyczki: 1.24.522.2
    • Wersja WSL: 2.0.7.0 lub nowsza
    • Wersja aplikacji Defender: 101.24032.0007
    • Stan kondycji usługi Defender: Healthy

Ustawianie serwera proxy dla usługi Defender uruchomionej w języku WSL

W tej sekcji opisano sposób konfigurowania łączności serwera proxy dla wtyczki Defender for Endpoint. Jeśli przedsiębiorstwo używa serwera proxy do zapewnienia łączności z usługą Defender dla punktu końcowego działającego na hoście systemu Windows, kontynuuj czytanie, aby ustalić, czy należy skonfigurować go dla wtyczki.

Jeśli chcesz użyć konfiguracji serwera proxy telemetrii systemu Windows hosta dla MDE dla wtyczki WSL, nic więcej nie jest wymagane. Ta konfiguracja jest automatycznie wdrażana przez wtyczkę.

Jeśli chcesz użyć konfiguracji serwera proxy winhttp hosta dla MDE wtyczki WSL, nic więcej nie jest wymagane. Ta konfiguracja jest automatycznie wdrażana przez wtyczkę.

Jeśli chcesz użyć ustawienia sieci hosta i serwera proxy sieci dla MDE dla wtyczki WSL, nic więcej nie jest wymagane. Ta konfiguracja jest automatycznie wdrażana przez wtyczkę.

Uwaga

Usługa WSL Defender obsługuje tylko http serwer proxy.

Wybór serwera proxy wtyczki

Jeśli maszyna hosta zawiera wiele ustawień serwera proxy, wtyczka wybiera konfiguracje serwera proxy z następującą hierarchią:

  1. Ustawienie statycznego serwera proxy usługi Defender for Endpoint (TelemetryProxyServer).

  2. Winhttp serwer proxy (skonfigurowany za pomocą netsh polecenia).

  3. Ustawienia internetowego serwera proxy & sieci.

Jeśli na przykład maszyna hosta ma oba Winhttp proxy elementy i Network & Internet proxy, wtyczka zostanie Winhttp proxy wybrana jako konfiguracja serwera proxy.

Uwaga

Klucz DefenderProxyServer rejestru nie jest już obsługiwany. Wykonaj kroki opisane wcześniej w tym artykule, aby skonfigurować wtyczkę serwera proxy.

Test łączności dla usługi Defender uruchomionej w usłudze WSL

Test łączności usługi Defender jest wyzwalany za każdym razem, gdy na urządzeniu jest modyfikowany serwer proxy i jest on uruchamiany co godzinę.

Po uruchomieniu maszyny wsl poczekaj 5 minut, a następnie uruchom polecenie healthcheck.exe (znajdujące się pod %ProgramFiles%\Microsoft Defender for Endpoint plug-in for WSL\tools adresem, aby uzyskać wyniki testu łączności). Jeśli test łączności zakończy się pomyślnie, zobaczysz, że test łączności zakończył się powodzeniem. W przypadku niepowodzenia widać, że test invalid łączności wskazywał, że łączność klienta z MDE wtyczki dla adresów URL usługi WSL do usługi Defender for Endpoint kończy się niepowodzeniem.

Uwaga

Klucz ConnectivityTest rejestru nie jest już obsługiwany. Aby ustawić serwer proxy do użycia w kontenerach WSL (dystrybucje uruchomione w podsystemie), zobacz Konfiguracja ustawień zaawansowanych w programie WSL.

Weryfikowanie funkcjonalności i środowiska analityka SOC

Po zainstalowaniu wtyczki podsystem i wszystkie uruchomione kontenery są dołączane do portalu Microsoft Defender.

  1. Zaloguj się do portalu Microsoft Defender i otwórz widok Urządzenia.

  2. Filtruj przy użyciu tagu WSL2.

    Zrzut ekranu przedstawiający filtr spisu urządzeń

    Wszystkie wystąpienia WSL w środowisku są widoczne z aktywną wtyczką usługi Defender for Endpoint dla protokołu WSL. Te wystąpienia reprezentują wszystkie dystrybucje uruchomione wewnątrz protokołu WSL na danym hoście. Nazwa hosta urządzenia jest zgodna z nazwą hosta systemu Windows. Jest ona jednak reprezentowana jako urządzenie z systemem Linux.

  3. Otwórz stronę urządzenia. W okienku Przegląd znajduje się link do miejsca hostowania urządzenia. Link umożliwia zrozumienie, że urządzenie jest uruchomione na hoście systemu Windows. Następnie możesz przestawić się na hoście w celu dalszego zbadania i/lub odpowiedzi.

    Zrzut ekranu przedstawiający omówienie urządzenia.

Oś czasu jest wypełniana, podobnie jak usługa Defender for Endpoint w systemie Linux, ze zdarzeniami z wewnątrz podsystemu (plik, proces, sieć). Aktywność i wykrywanie można obserwować w widoku osi czasu. Alerty i zdarzenia są również generowane zgodnie z potrzebami.

Konfigurowanie niestandardowego tagu dla maszyny WSL

Wtyczka dołącza maszynę WSL z tagiem WSL2. Jeśli Ty lub Twoja organizacja potrzebujesz niestandardowego tagu, wykonaj kroki opisane poniżej:

  1. Otwórz Redaktor rejestru jako administrator.

  2. Utwórz klucz rejestru z następującymi szczegółami:

    • Nazwa: GROUP
    • Typ: REG_SZ lub ciąg rejestru
    • Wartość: Custom tag
    • Ścieżka: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Advanced Threat Protection\DeviceTagging
  3. Po ustawieniu rejestru uruchom ponownie program wsl, wykonując następujące kroki:

    1. Otwórz wiersz polecenia i uruchom polecenie wsl --shutdown.

    2. Uruchom polecenie wsl.

  4. Poczekaj 5–10 minut, aż portal odzwierciedli zmiany.

Uwaga

Po niestandardowym tagu ustawionym w rejestrze zostanie wyświetlony _WSL2znak . Jeśli na przykład zestaw wartości rejestru to Microsoft, tag niestandardowy będzie Microsoft_WSL2 widoczny w portalu.

Testowanie wtyczki

Aby przetestować wtyczkę po instalacji, wykonaj następujące kroki:

  1. Otwórz terminal lub wiersz polecenia. (W systemie Windows przejdź do pozycji Start>Wiersz polecenia. Możesz też kliknąć prawym przyciskiem myszy przycisk Start, a następnie wybrać pozycję Terminal.

  2. Uruchom polecenie wsl.

  3. Pobierz i wyodrębnij plik skryptu z https://aka.ms/MDE-Linux-EDR-DIYpliku .

  4. W wierszu polecenia systemu Linux uruchom polecenie ./mde_linux_edr_diy.sh.

    Alert powinien pojawić się w portalu po kilku minutach w celu wykrycia w wystąpieniu WSL2.

    Uwaga

    Wyświetlenie zdarzeń w portalu Microsoft Defender zajmuje około pięciu minut.

Traktuj maszynę tak, jakby była zwykłym hostem systemu Linux w środowisku do przeprowadzania testów. W szczególności chcemy uzyskać twoją opinię na temat możliwości wykrycia potencjalnie złośliwego zachowania przy użyciu nowej wtyczki.

Zaawansowane wyszukiwanie zagrożeń

W schemacie Zaawansowane wyszukiwanie zagrożeń w DeviceInfo tabeli znajduje się nowy atrybut o nazwie HostDeviceId , którego można użyć do mapowania wystąpienia WSL na jego urządzenie hosta z systemem Windows. Oto kilka przykładowych zapytań dotyczących wyszukiwania zagrożeń:

Pobieranie wszystkich identyfikatorów urządzeń WSL dla bieżącej organizacji/dzierżawy

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

Pobieranie identyfikatorów urządzeń WSL i odpowiadających im identyfikatorów urządzeń hosta

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

Pobieranie listy identyfikatorów urządzeń WSL, na których uruchomiono narzędzie curl lub wget

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

Rozwiązywanie problemów

Polecenie healthcheck.exe wyświetla dane wyjściowe " Launch WSL distro with 'bash' command and retry in five minutes" (Uruchom dystrybucję WSL za pomocą polecenia "bash" i ponów próbę w ciągu pięciu minut".

Zrzut ekranu przedstawiający dane wyjściowe programu PowerShell.

  1. Otwórz wystąpienie terminalu i uruchom polecenie wsl.

  2. Poczekaj co najmniej pięć minut przed ponownym uruchomieniem kontroli kondycji.

Polecenie healthcheck.exe może wyświetlić dane wyjściowe "Oczekiwanie na telemetrię. Ponów próbę w ciągu pięciu minut."

Zrzut ekranu przedstawiający stan telemetrii kondycji.

Jeśli wystąpi ten błąd, poczekaj pięć minut i uruchom healthcheck.exeponownie .

Nie widzisz żadnych urządzeń w portalu Microsoft Defender lub nie widzisz żadnych zdarzeń na osi czasu

Sprawdź następujące kwestie:

  • Jeśli nie widzisz obiektu maszyny, upewnij się, że minął wystarczająco dużo czasu na ukończenie dołączania (zazwyczaj do 10 minut).

  • Upewnij się, że używasz odpowiednich filtrów i masz przypisane odpowiednie uprawnienia do wyświetlania wszystkich obiektów urządzenia. (Na przykład czy Twoje konto/grupa jest ograniczone do określonej grupy?)

  • Użyj narzędzia do sprawdzania kondycji, aby przedstawić przegląd ogólnej kondycji wtyczki. Otwórz terminal i uruchom narzędzie z healthcheck.exe poziomu %ProgramFiles%\Microsoft Defender for Endpoint plug-in for WSL\toolsprogramu .

    Zrzut ekranu przedstawiający stan w programie PowerShell.

  • Włącz test łączności i sprawdź, czy usługa Defender nie ma łączności punktu końcowego w usłudze WSL. Jeśli test łączności zakończy się niepowodzeniem, przekaż dane wyjściowe narzędzia do sprawdzania kondycji naszemu zespołowi pomocy technicznej.

Raporty testów łączności "nieprawidłowe" w kontroli kondycji

  • Jeśli na maszynie jest skonfigurowany serwer proxy, uruchom polecenie healthCheck --extendedProxy. Spowoduje to podanie informacji o tym, które serwery proxy są ustawione na maszynie i czy te konfiguracje są nieprawidłowe dla usługi WSL Defender.

    Rozszerzanie dokumentacji serwera proxy healthcheck

  • Jeśli powyższe kroki nie rozwiążą problemu, uwzględnij następujące ustawienia konfiguracji w folderze znajdującym .wslconfig się w programie %UserProfile% i uruchom ponownie usługę WSL. Szczegółowe informacje o ustawieniach można znaleźć w obszarze Ustawienia WSL.

    W Windows 11

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

    W Windows 10

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

Nadal występują problemy z łącznością

Zbierz dzienniki sieciowe, wykonując następujące kroki:

  1. Otwórz wiersz polecenia programu PowerShell z podwyższonym poziomem uprawnień (administrator).

  2. Pobierz i uruchom polecenie: .\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. Otwórz nowy wiersz polecenia i uruchom następujące polecenie: wsl.

  4. Otwórz wiersz polecenia z podwyższonym poziomem uprawnień (administrator) i uruchom następujące polecenie: wsl --debug-shell.

  5. W powłoce debugowania uruchom polecenie : mdatp connectivity test.

  6. Zezwalaj na ukończenie testu łączności.

  7. Zatrzymaj .ps1 uruchomione w kroku 2.

  8. Udostępnij wygenerowany plik .zip wraz z pakietem pomocy technicznej, który można zebrać, jak wspomniano w krokach.

Zbieranie pakietu pomocy technicznej

  1. Jeśli napotkasz inne problemy lub problemy, otwórz terminal i uruchom następujące polecenia, aby wygenerować pakiet pomocy technicznej:

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

    Pakiet pomocy technicznej można znaleźć w ścieżce udostępnionej przez poprzednie polecenie.

    Zrzut ekranu przedstawiający stan w danych wyjściowych programu PowerShell.

  2. Microsoft Defender Endpoint for WSL obsługuje dystrybucje systemu Linux działające w usłudze WSL 2. Jeśli są one skojarzone z usługą WSL 1, mogą wystąpić problemy. Dlatego zaleca się wyłączenie protokołu WSL 1. Aby to zrobić przy użyciu zasad Intune, wykonaj następujące kroki:

    1. Przejdź do centrum administracyjnego Microsoft Intune.

    2. Przejdź do pozycji Profile>konfiguracjiurządzeń >Utwórz>nowe zasady.

    3. Wybierz pozycję Windows 10, a następnie>pozycję Katalog ustawień.

    4. Utwórz nazwę nowego profilu i wyszukaj Podsystem Windows dla systemu Linux, aby wyświetlić i dodać pełną listę dostępnych ustawień.

    5. Ustaw ustawienie Zezwalaj na WSL1 na wartość Wyłączone, aby upewnić się, że można używać tylko dystrybucji WSL 2.

      Alternatywnie, jeśli chcesz nadal używać protokołu WSL 1 lub nie używać zasad Intune, możesz selektywnie skojarzyć zainstalowane dystrybucje do uruchamiania w usłudze WSL 2, uruchamiając polecenie w programie PowerShell:

      wsl --set-version <YourDistroName> 2
      

      Aby mieć WSL 2 jako domyślną wersję WSL dla nowych dystrybucji, które mają być zainstalowane w systemie, uruchom następujące polecenie w programie PowerShell:

      wsl --set-default-version 2
      
  3. Wtyczka domyślnie używa pierścienia EDR systemu Windows. Jeśli chcesz przełączyć się na wcześniejszy pierścień, ustaw OverrideReleaseRing na jeden z następujących elementów w rejestrze i uruchom ponownie usługę WSL:

    • Nazwa: OverrideReleaseRing
    • Typ: REG_SZ
    • Wartość: Dogfood or External or InsiderFast or Production
    • Ścieżka: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Defender for Endpoint plug-in for WSL
  4. Jeśli zostanie wyświetlony błąd podczas uruchamiania protokołu WSL, taki jak "Błąd krytyczny został zwrócony przez wtyczkę "DefenderforEndpointPlug-in" Kod błędu: Wsl/Service/CreateInstance/CreateVm/Plugin/ERROR_FILE_NOT_FOUND", oznacza to, że wtyczka Defender for Endpoint dla instalacji protokołu WSL jest uszkodzona. Aby go naprawić, wykonaj następujące kroki:

    1. W Panel sterowania przejdź do obszaru>Programy programy i funkcje.

    2. Wyszukaj i wybierz wtyczkę Ochrona punktu końcowego w usłudze Microsoft Defender dla protokołu WSL. Następnie wybierz pozycję Napraw. Ta akcja powinna rozwiązać problem, umieszczając odpowiednie pliki w oczekiwanych katalogach.

      Zrzut ekranu przedstawiający MDE wtyczkę dla opcji naprawy protokołu WSL w panelu sterowania.