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

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 izolowane przy użyciu technologii wirtualizacji. Wtyczka Ochrona punktu końcowego w usłudze Microsoft Defender dla Podsystem Windows dla systemu Linux 2 (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 obecnie aktualizacji automatycznych. Po wydaniu nowej wersji należy zastosować nowy pakiet MSI w celu wykonania aktualizacji. Można to zrobić za pomocą dowolnego narzędzia do wdrażania oprogramowania. Aktualizacje będą dostępne aktualizacje firmy Microsoft.

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

  3. Użycie niestandardowego jądra w połączeniu z wtyczką nie jest obsługiwane. Podczas próby uruchomienia protokołu WSL z zainstalowaną wtyczką wystąpi błąd Błąd krytyczny został zwrócony przez wtyczkę "DefenderforEndpointPlug-in". Komunikat o błędzie: "Niestandardowe jądro/konfiguracja nie są obsługiwane".

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

  • Usługa Defender for Endpoint musi być dołączona i uruchomiona w systemie operacyjnym hosta systemu Windows.

  • System operacyjny hosta musi być uruchomiony Windows 10 Client w wersji 2004 lub nowszej (kompilacja 19044 lub nowsza) lub Windows 11 Client, aby obsługiwać wersje Podsystem Windows dla systemu Linux, które mogą działać z wtyczką.

Składniki oprogramowania i nazwy plików instalatora

Instalator: DefenderPlugin-x64-0.23.1102.4.msi. Możesz pobrać go ze strony dołączania w portalu Microsoft Defender.

Katalogi instalacyjne:

  • C:\Program Files\

  • C:\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 wtyczce C:\Program Files\Ochrona punktu końcowego w usłudze Microsoft Defender 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żna go znaleźć w wtyczce C:\Program Files\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.

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

    2. Zainstaluj wtyczkę

    Po uruchomieniu i pełnej aktualizacji protokołu WSL wykonaj następujące kroki, aby zainstalować wtyczkę:

    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 "C:\Program Files\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 usługi Defender: 0.23.1102.4
    • Wersja WSL: 2.0.7.0 lub nowsza
    • Wersja usługi WSL Defender: 101.23092.0011
    • Kondycja usługi WSL 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 test. (Recommended: 60 seconds)
    • Ścieżka: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss\Plugins\DefenderPlug-in
  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 C:\Program Files\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.

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 C:\Program Files\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
  1. Jeśli napotkasz inne problemy lub problemy, otwórz terminal i uruchom następujące polecenia, aby wygenerować pakiet pomocy technicznej:

    cd "C:\Program Files\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 portalu 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