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ż 0.24.426.1. W wersji 0.24.426.1 i nowszych wersjach 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 jest obsługiwane w tej wersji. Jednak wtyczka nie gwarantuje widoczności w usłudze WSL podczas uruchamiania niestandardowego jądra i niestandardowego wiersza polecenia jądra.

  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.

Wymagania wstępne dotyczące oprogramowania

  • Program WSL w wersji 2.0.7 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, 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.

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źć w folderze %ProgramFiles%\Ochrona punktu końcowego w usłudze Microsoft Defender wtyczka dla 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żesz go znaleźć w wtyczce %ProgramFiles%\Ochrona punktu końcowego w usłudze Microsoft Defender dla 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 hosta 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: 0.24.426.1
    • Wersja WSL: 2.0.7.0 lub nowsza
    • Wersja aplikacji Defender: 701.00000.1509
    • 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ę.

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.

Przykład: jeśli maszyna hosta ma zarówno serwer proxy Winhttp , jak i serwer proxy sieci & Internet, wtyczka zostanie Winhttp proxy wybrana jako konfiguracja serwera proxy.

Uwaga

Klucz DefenderProxyServer rejestru nie jest już obsługiwany. Wykonaj powyższe kroki, aby skonfigurować wtyczkę serwera proxy.

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

W poniższej procedurze opisano sposób potwierdzania, że usługa Defender w punkcie końcowym w usłudze WSL ma łączność z Internetem.

  1. Otwórz Redaktor rejestru jako administrator.

  2. Twórca klucz rejestru z następującymi szczegółami:

    • Nazwa: ConnectivityTest
    • Typ: REG_DWORD
    • Wartość: Number of seconds plug-in must wait before running the test. (Recommended: 60 seconds)
    • Ścieżka: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Defender for Endpoint plug-in for WSL
  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. Zaczekaj 5 minut, a następnie uruchom polecenie healthcheck.exe (znajduje 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ę pomyślnie. W przypadku niepowodzenia widać, że test invalid łączności wskazywał, że łączność klienta z poziomu protokołu WSL do adresów URL usługi Defender for Endpoint kończy się niepowodzeniem.

Uwaga

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.

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

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

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

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

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

  2. Jeśli wystąpi wspomniany wcześniej błąd, wykonaj następujące kroki:

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

    2. Przed ponownym uruchomieniem kontroli kondycji poczekaj co najmniej 5 minut.

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

    Zrzut ekranu przedstawiający stan telemetrii kondycji.

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

  4. Jeśli 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, podaj dane wyjściowe narzędzia do sprawdzania kondycji.mdeforwsl-preview@microsoft.com

    • Jeśli test łączności zgłasza "nieprawidłowe" w sprawdzaniu kondycji, uwzględnij następujące ustawienia konfiguracji w folderze znajdującym .wslconfig się w usłudze %UserProfile% I uruchom ponownie protokół 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
        
  5. 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.

  6. 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>konfiguracji urządzeń >Twórca>Nowe zasady.

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

    4. Twórca 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
      
  7. 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