共用方式為


Windows 子系統 Linux 版 (WSL) 的 適用於端點的 Microsoft Defender 外掛程式

適用於:

概觀

Windows 子系統 Linux 版 (WSL) 2 取代 適用於端點的 Microsoft Defender 不使用外掛程式) 所支援的舊版 WSL (,提供與 Windows 緊密整合,但使用虛擬化技術隔離的 Linux 環境。 適用於 WSL 的適用於端點的 Defender 外掛程式可讓適用於端點的 Defender 插入隔離的子系統,以提供所有執行中 WSL 容器的更可見度。

已知問題和限制

開始之前,請注意下列事項:

  1. 外掛程式不支援在 之前的版本 1.24.522.2上自動更新。 在版本和更新版本1.24.522.2上,透過所有通道的 Windows Update 支援更新。 匯報 透過 Windows Server Update 服務, (WSUS) 、System Center Configuration Manager (SCCM) 和 Microsoft Update 目錄僅在生產週期中受到支援,以確保套件穩定性。

  2. 外掛程式需要幾分鐘的時間才能完全具現化,WSL2 實例最多需要 30 分鐘的時間才能自行上線。 短期 WSL 容器實例可能會導致 WSL2 實例未顯示在 Microsoft Defender 入口網站中, (https://security.microsoft.com) 。 一旦任何散發已執行的時間夠長, (至少 30 分鐘) ,它就會顯示出來。

  3. 此版本支援執行自定義核心和自定義核心命令行;不過,當您執行自定義核心和自定義核心命令行時,外掛程式並不保證 WSL 內的可見性。

  4. 操作系統發佈會在入口網站中 WSL 裝置的 [裝置概觀] 頁面中顯示 [無 Microsoft Defender。

  5. 使用ARM64處理器的電腦不支援外掛程式。

軟體必要條件

  • WSL 2.0.7.0 版或更新版本必須使用至少一個作用中的散發版本來執行。

    執行 wsl --update 以確定您使用最新版本。 如果 wsl -–version 顯示早於 2.0.7.0 的版本,請執行 wsl -–update –pre-release 以取得最新的更新。

  • Windows 用戶端裝置必須上線至適用於端點的 Defender。

  • Windows 用戶端裝置必須執行 Windows 10 2004 版和更新版本, (組建 19044 和更新版本) ,或 Windows 11 支援可與外掛程式搭配運作的 WSL 版本。

軟體元件和安裝程式檔名

安裝程式: DefenderPlugin-x64-0.24.426.1.msi。 您可以從 Microsoft Defender 入口網站的上線頁面下載。

安裝目錄:

  • %ProgramFiles%

  • %ProgramData%

已安裝的元件:

  • DefenderforEndpointPlug-in.dll. 此 DLL 是用來載入適用於端點的 Defender 以在 WSL 內運作的連結庫。 您可以在適用於 WSL\plug-in 的 %ProgramFiles%\適用於端點的 Microsoft Defender 外掛程式找到它。

  • healthcheck.exe. 此程式會檢查適用於端點的Defender的健康情況狀態,並可讓您查看已安裝的 WSL、外掛程式和適用於端點的Defender版本。 您可以在適用於 WSL\tools 的 %ProgramFiles%\適用於端點的 Microsoft Defender 外掛程式找到它。

安裝步驟

如果您的 Windows 子系統 Linux 版 尚未安裝,請遵循下列步驟:

  1. 開啟終端機或命令提示字元。 (在 Windows 中,移至 [啟動>命令提示字元]。或者,以滑鼠右鍵按兩下 [開始] 按鈕,然後選取 [Terminal.)

  2. 執行 wsl -–install 命令。

  3. 確認已安裝並執行 WSL。

    1. 使用終端機或命令提示字元, wsl –-update 執行 以確定您有最新版本。

    2. wsl執行 命令以確保 WSL 在測試之前正在執行。

  4. 依照下列步驟安裝外掛程式:

    1. 安裝從 Microsoft Defender 入口網站的上線區段下載的 MSI 檔案 (設定>端點>>線 Windows 子系統 Linux 版 2 (外掛程式) ) 。

    2. 開啟命令提示字元/終端機,然後執行 wsl

    您可以使用 Microsoft Intune 部署套件

注意事項

如果 WslService 正在執行,它會在安裝程序期間停止。 您不需要個別將子系統上線;相反地,外掛程式會自動上線到 Windows 主機上線的租使用者。

安裝驗證檢查清單

  1. 更新或安裝之後,請等候至少五分鐘讓外掛程式完全初始化和寫入記錄輸出。

  2. 開啟終端機或命令提示字元。 (在 Windows 中,移至 [啟動>命令提示字元]。或者,以滑鼠右鍵按兩下 [開始] 按鈕,然後選取 [Terminal.)

  3. 執行命令: cd "%ProgramFiles%\Microsoft Defender for Endpoint plug-in for WSL\tools".

  4. 執行 .\healthcheck.exe 命令。

  5. 檢閱Defender和 WSL 的詳細數據,並確定它們符合或超過下列需求:

    • 外掛程式版本1.24.522.2
    • WSL 版本2.0.7.0 或更新版本
    • Defender 應用程式版本101.24032.0007
    • Defender 健全狀況狀態Healthy

為在 WSL 中執行的 Defender 設定 Proxy

本節說明如何設定適用於端點的 Defender 外掛程式的 Proxy 連線。 如果您的企業使用 Proxy 來連線到在 Windows 主機上執行的適用於端點的 Defender,請繼續閱讀以判斷是否需要為外掛程式設定它。

如果您想要針對 WSL 外掛程式的 MDE 使用主機 Windows EDR 遙測 Proxy 組態,則不需要再執行任何動作。 外掛程式會自動採用此設定。

如果您想要將主機 winHTTP Proxy 設定用於 WSL 外掛程式的 MDE,則不需要再執行任何動作。 外掛程式會自動採用此設定。

如果您想要將主機網路和網路 Proxy 設定用於 WSL 外掛程式的 MDE,則不需要再執行任何動作。 外掛程式會自動採用此設定。

外掛程式 Proxy 選取專案

如果您的主電腦包含多個 Proxy 設定,外掛程式會選取具有下列階層的 Proxy 元件:

  1. 適用於端點的Defender靜態 Proxy 設定 (TelemetryProxyServer) 。

  2. Winhttp proxy (透過 netsh 命令) 設定。

  3. 網路 & 因特網 Proxy 設定。

範例:如果您的主計算機同時具有 WinHTTP Proxy網路 & 因特網 Proxy,外掛程式會選取 Winhttp proxy 作為 Proxy 組態。

注意事項

DefenderProxyServer不再支援登錄機碼。 請遵循上述步驟,在外掛程式中設定 Proxy。

在 WSL 中執行的 Defender 連線能力測試

下列程式描述如何確認 WSL 中端點中的 Defender 具有因特網連線能力。

  1. 以系統管理員身分開啟登錄 編輯器。

  2. Create 具有下列詳細數據的登錄機碼:

    • 名稱ConnectivityTest
    • 類型REG_DWORD
    • Number of seconds plug-in must wait before running the test. (Recommended: 60 seconds)
    • 路徑Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Defender for Endpoint plug-in for WSL
  3. 設定登錄之後,請使用下列步驟重新啟動 wsl:

    1. 開啟命令提示字元,然後執行命令 。 wsl --shutdown

    2. 執行 wsl 命令。

  4. 等候 5 分鐘,然後執行 healthcheck.exe 位於 %ProgramFiles%\Microsoft Defender for Endpoint plug-in for WSL\tools 的 (,以取得連線測試) 的結果。

    如果成功,您可以看到連線測試成功。 如果失敗,您可以看到連線能力測試 invalid 指出從 WSL 到適用於端點的 Defender 服務 URL 的用戶端連線失敗。

注意事項

若要設定要在 WSL 容器中使用的 Proxy (子系統) 上執行的散發套件,請參閱 WSL 中的進階設定組態。

驗證功能和 SOC 分析師體驗

安裝外掛程式之後,子系統及其所有執行中的容器都會上線至 Microsoft Defender 入口網站

  1. 登入 Microsoft Defender 入口網站,然後開啟 [裝置] 檢視

  2. 使用 標籤 WSL2 進行篩選。

顯示裝置清查篩選器的螢幕快照

您可以使用適用於 WSL 的適用於端點的 Active Defender 外掛程式來查看環境中的所有 WSL 實例。 這些實例代表在指定主機上 WSL 內執行的所有散發套件。 裝置的主機名符合 Windows 主機的主機名。 不過,它會以Linux裝置表示。

  1. 開啟裝置頁面。 在 [ 概觀] 窗格中,有一個裝置裝載位置的連結。 連結可讓您了解裝置正在 Windows 主機上執行。 然後,您可以樞紐至主機,以進行進一步的調查和/或回應。

    顯示裝置概觀的螢幕快照。

時間軸會填入,類似於 Linux 上適用於端點的 Defender,其中包含來自子系統內的事件 (檔案、進程、網路) 。 您可以在時程表檢視中觀察活動和偵測。 警示和事件也會適當地產生。

測試外掛程式

若要在安裝后測試外掛程式,請遵循下列步驟:

  1. 開啟終端機或命令提示字元。 (在 Windows 中,移至 [啟動>命令提示字元]。或者,以滑鼠右鍵按兩下 [開始] 按鈕,然後選取 [Terminal.)

  2. 執行 wsl 命令。

  3. 從 下載並擷 https://aka.ms/LinuxDIY取腳本檔案。

  4. 在 Linux 提示字元中,執行 命令 ./mde_linux_edr_diy.sh

    在 WSL2 實例上偵測到幾分鐘后,入口網站中應該會出現警示。

    注意事項

    事件大約需要 5 分鐘才會出現在 Microsoft Defender 入口網站上。

將機器視為環境中要對其執行測試的一般Linux主機。 特別是,我們想要取得您對於使用新外掛程式呈現潛在惡意行為的能力的意見反應。

進階搜捕

在 [進階搜捕] 架構的數據表底下 DeviceInfo ,有一個稱為 HostDeviceId 的新屬性,可用來將 WSL 實例對應至其 Windows 主機裝置。 以下是一些搜捕查詢範例:

取得目前組織/租使用者的所有 WSL 裝置標識碼

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

取得 WSL 裝置識別碼及其對應的主機裝置識別碼

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

取得執行 curl 或 wget 的 WSL 裝置識別符清單

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

疑難排解

  1. 命令 healthcheck.exe 會顯示輸出:「使用 『bash』 命令啟動 WSL 散發版本,並在 5 分鐘內重試」。

    顯示 PowerShell 輸出的螢幕快照。

  2. 如果發生先前提到的錯誤,請採取下列步驟:

    1. 開啟終端機實例,然後執行 命令 wsl

    2. 請等候至少 5 分鐘,再重新執行健康情況檢查。

  3. 命令 healthcheck.exe 可能會顯示輸出「正在等候遙測。」 請在5分鐘內重試。」

    顯示健康情況遙測狀態的螢幕快照。

    如果發生此錯誤,請等候 5 分鐘並重新執行 healthcheck.exe

  4. 如果您在 Microsoft Defender 入口網站中看不到任何裝置,或在時程表中看不到任何事件,請檢查下列事項:

    • 如果您沒有看到機器物件,請確定已有足夠的時間讓上線完成 (通常最多 10 分鐘) 。

    • 請務必使用正確的篩選條件,而且您已獲指派適當的許可權來檢視所有裝置物件。 (例如,您的帳戶/群組是否限制為特定群組?)

    • 使用健康情況檢查工具來提供整體外掛程式健康情況的概觀。 開啟終端機,然後從 %ProgramFiles%\Microsoft Defender for Endpoint plug-in for WSL\tools執行healthcheck.exe工具。

      顯示 PowerShell 中狀態的螢幕快照。

    • 啟用連線能力測試,並在 WSL 中檢查適用於端點的 Defender 連線能力。 如果連線測試失敗,請將健康情況檢查工具的輸出提供給我們的支援小組。

    • 如果連線能力測試報告健康情況檢查「無效」,請在 .wslconfig 位於 的 %UserProfile% 中包含下列組態設定,然後重新啟動WSL。 如需設定的詳細數據,請參閱 WSL 設定

      • 在 Windows 11
        # Settings apply across all Linux distros running on WSL 2
        [wsl2]
        
        dnsTunneling=true
        
        networkingMode=mirrored  
        
      • 在 Windows 10
        # Settings apply across all Linux distros running on WSL 2
        [wsl2]
        
        dnsProxy=false
        
  5. 如果您遇到任何其他挑戰或問題,請開啟終端機,然後執行下列命令來產生支援配套:

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

    您可以在上一個命令所提供的路徑中找到支援配套。

    顯示 PowerShell 輸出中狀態的螢幕快照。

  6. Microsoft Defender 端點 WSL 支援在 WSL 2 上執行的 Linux 發行版。 如果它們與 WSL 1 相關聯,您可能會遇到問題。 因此,建議您停用 WSL 1。 若要使用 Intune 原則來執行此動作,請執行下列步驟:

    1. 移至您的 Microsoft Intune 系統管理中心

    2. 移至 [裝置>組態配置檔>Create>[新增原則]

    3. 取 [Windows 10] 和更新版本>的 [設定] 目錄

    4. Create 新配置檔的名稱,並搜尋 Windows 子系統 Linux 版 以查看並新增可用設定的完整清單。

    5. 將 [ 允許 WSL1] 設定 設為 [停用],以確保只能使用 WSL 2 散發套件。

      或者,如果您想要繼續使用 WSL 1,或不使用 Intune 原則,您可以選擇性地在 PowerShell 中執行 命令,將已安裝的散發套件關聯至 WSL 2 上執行:

      wsl --set-version <YourDistroName> 2
      

      若要讓 WSL 2 作為系統中要安裝新發行版的預設 WSL 版本,請在 PowerShell 中執行下列命令:

      wsl --set-default-version 2
      
  7. 此外掛程式預設會使用 Windows EDR 通道。 如果您想要切換至先前的環形,請將 設定為 OverrideReleaseRing 登錄下的下列其中一項,然後重新啟動 WSL:

  • 名稱OverrideReleaseRing
  • 類型REG_SZ
  • Dogfood or External or InsiderFast or Production
  • 路徑Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Defender for Endpoint plug-in for WSL
  1. 如果您在啟動 WSL 時看到錯誤,例如「外掛程式 』DefenderforEndpointPlug-in' 傳回嚴重錯誤」錯誤碼:Wsl/Service/CreateInstance/CreateVm/Plugin/ERROR_FILE_NOT_FOUND」,表示適用於 WSL 安裝的適用於端點的 Defender 外掛程式發生錯誤。 若要修復它,請遵循下列步驟:

    1. 在 控制台 中,移至 [程序程式>和功能]

    2. 搜尋並選取 適用於端點的 Microsoft Defender 外掛程式作為 WSL。 然後選取 [修復]

    這應該會藉由將正確的檔案放在預期的目錄中來修正問題。

    顯示控制面板中 WSL 修復選項 MDE 外掛程式的螢幕快照。