次の方法で共有


Linux 用 Windows サブシステム用のMicrosoft Defender for Endpoint プラグイン (WSL)

適用対象:

概要

Linux 用 Windows サブシステム (WSL) 2 は、以前のバージョンの WSL (プラグインなしでMicrosoft Defender for Endpointでサポート) に置き換えられ、Windows とシームレスに統合された Linux 環境を提供しますが、仮想化テクノロジを使用して分離されています。 Defender for Endpoint for WSL プラグインを使用すると、Defender for Endpoint は、分離されたサブシステムに接続することで、実行中のすべての WSL コンテナーをより詳細に表示できます。

既知の問題と制限事項

開始する前に、次の点に注意してください。

  1. プラグインでは、 より前 1.24.522.2のバージョンの自動更新はサポートされていません。 バージョン1.24.522.2以降では、更新はすべてのリングにわたってWindows Updateを通じてサポートされます。 Windows Server Update サービス (WSUS)、System Center Configuration Manager (SCCM) および Microsoft Update カタログを介したUpdatesは、パッケージの安定性を確保するために、運用リングでのみサポートされます。

  2. プラグインが完全にインスタンス化されるまで数分、WSL2 インスタンスがオンボードされるまでに最大 30 分かかります。 有効期間の短い WSL コンテナー インスタンスでは、WSL2 インスタンスがMicrosoft Defender ポータル (https://security.microsoft.com) に表示されない可能性があります。 ディストリビューションが十分に長く実行されると (少なくとも 30 分)、表示されます。

  3. このバージョンでは、カスタム カーネルとカスタム カーネル コマンド ラインの実行がサポートされています。ただし、カスタム カーネルとカスタム カーネル コマンド ラインを実行している場合、プラグインは WSL 内の可視性を保証しません。

  4. OS ディストリビューションは、ポータルの WSL デバイスの [デバイスの概要] ページに [なし] Microsoft Defender表示されます。

  5. このプラグインは、ARM64 プロセッサを搭載したマシンではサポートされていません。

ソフトウェアの前提条件

  • WSL バージョン 2.0.7.0 以降は、少なくとも 1 つのアクティブなディストリビューションで実行されている必要があります。

    を実行 wsl --update して、最新バージョンであることを確認します。 2.0.7.0 より前のバージョンが表示されている場合 wsl -–version は、 を実行 wsl -–update –pre-release して最新の更新プログラムを取得します。

  • Windows クライアント デバイスを Defender for Endpoint にオンボードする必要があります。

  • Windows クライアント デバイスは、Windows 10バージョン 2004 以降 (ビルド 19044 以降)、またはプラグインで動作する WSL バージョンをサポートするためにWindows 11する必要があります。

ソフトウェア コンポーネントとインストーラー ファイル名

インストーラー: DefenderPlugin-x64-0.24.426.1.msiMicrosoft Defender ポータルのオンボード ページからダウンロードできます。

インストール ディレクトリ:

  • %ProgramFiles%

  • %ProgramData%

インストールされているコンポーネント:

  • DefenderforEndpointPlug-in.dll. この DLL は、WSL 内で動作するように Defender for Endpoint を読み込むライブラリです。 このファイルは、WSL\plug-in の %ProgramFiles%\Microsoft Defender for Endpoint プラグインにあります

  • healthcheck.exe. このプログラムでは、Defender for Endpoint の正常性状態を確認し、インストールされているバージョンの WSL、プラグイン、Defender for Endpoint を確認できます。 これは、WSL\tools 用の %ProgramFiles%\Microsoft Defender for Endpoint プラグインにあります

インストールの手順

Linux 用 Windows サブシステムがまだインストールされていない場合は、次の手順に従います。

  1. ターミナルまたはコマンド プロンプトを開きます。 (Windows では、[スタート] に移動します>。コマンド プロンプト。または、スタート ボタンを右クリックし、[ターミナル] を選択します)。

  2. コマンドwsl -–installを実行します。

  3. WSL がインストールされ、実行されていることを確認します。

    1. ターミナルまたはコマンド プロンプトを使用して、 を実行 wsl –-update して、最新バージョンがインストールされていることを確認します。

    2. コマンドを wsl 実行して、テストの前に WSL が実行されていることを確認します。

  4. 次の手順に従って、プラグインをインストールします。

    1. Microsoft Defender ポータルのオンボード セクションからダウンロードした MSI ファイルをインストールします (設定>エンドポイント>オンボード>Linux 用 Windows サブシステム 2 (プラグイン))。

    2. コマンド プロンプト/ターミナルを開き、 を実行 wslします。

    Microsoft Intuneを使用してパッケージをデプロイできます。

注:

が実行されている場合 WslService は、インストール プロセス中に停止します。 サブシステムを個別にオンボードする必要はありません。代わりに、プラグインは、Windows ホストがオンボードされているテナントに自動的にオンボードされます。

インストール検証チェックリスト

  1. 更新またはインストール後、プラグインが完全に初期化され、ログ出力が書き込まれるまで少なくとも 5 分間待ちます。

  2. ターミナルまたはコマンド プロンプトを開きます。 (Windows では、[スタート] に移動します>。コマンド プロンプト。または、スタート ボタンを右クリックし、[ターミナル] を選択します)。

  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 のプロキシの設定

このセクションでは、Defender for Endpoint プラグインのプロキシ接続を構成する方法について説明します。 企業がプロキシを使用して Windows ホストで実行されている Defender for Endpoint への接続を提供する場合は、引き続き読み取りを行い、プラグイン用に構成する必要があるかどうかを判断します。

WSL プラグインのMDEにホスト ウィンドウ EDR テレメトリ プロキシ構成を使用する場合は、それ以上必要ありません。 この構成は、プラグインによって自動的に採用されます。

WSL プラグインのMDEにホスト winhttp プロキシ構成を使用する場合は、それ以上何も必要ありません。 この構成は、プラグインによって自動的に採用されます。

WSL プラグインのMDEにホスト ネットワークとネットワーク プロキシ設定を使用する場合は、それ以上何も必要ありません。 この構成は、プラグインによって自動的に採用されます。

プラグイン プロキシの選択

ホスト コンピューターに複数のプロキシ設定が含まれている場合、プラグインは次の階層を持つプロキシ構成を選択します。

  1. Defender for Endpoint 静的プロキシ設定 (TelemetryProxyServer)。

  2. Winhttp プロキシ (コマンドを使用して netsh 構成)。

  3. ネットワーク & インターネット プロキシ設定。

例: ホスト コンピューターに Winhttp プロキシネットワーク & インターネット プロキシの両方がある場合、プラグインはプロキシ構成として選択します Winhttp proxy

注:

DefenderProxyServerレジストリ キーはサポートされなくなりました。 上記の手順に従って、プラグインでプロキシを構成します。

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 for Endpoint サービス URL へのクライアント接続が失敗していることを示していることがわかります。

注:

WSL コンテナー (サブシステムで実行されているディストリビューション) で使用するプロキシを設定するには、「 WSL の詳細設定の構成」を参照してください。

機能と SOC アナリスト エクスペリエンスの検証

プラグインをインストールすると、サブシステムとその実行中のすべてのコンテナーがMicrosoft Defender ポータルにオンボードされます。

  1. Microsoft Defender ポータルにサインインし、[デバイス] ビューを開きます。

  2. タグ WSL2 を使用してフィルター処理します。

デバイス インベントリ フィルターを示すスクリーンショット

WSL 用のアクティブな Defender for Endpoint プラグインを使用すると、環境内のすべての WSL インスタンスを確認できます。 これらのインスタンスは、特定のホスト上の WSL 内で実行されているすべてのディストリビューションを表します。 デバイスのホスト名は、Windows ホストのホスト名と一致します。 ただし、Linux デバイスとして表されます。

  1. デバイス ページを開きます。 [ 概要 ] ウィンドウには、デバイスがホストされている場所のリンクがあります。 リンクを使用すると、デバイスが Windows ホストで実行されていることを理解できます。 その後、ホストにピボットして、さらに調査や応答を行うことができます。

    デバイスの概要を示すスクリーンショット。

タイムラインは、Linux 上の Defender for Endpoint と同様に、サブシステム内からのイベント (ファイル、プロセス、ネットワーク) で設定されます。 アクティビティと検出は、タイムライン ビューで確認できます。 アラートとインシデントは、必要に応じて生成されます。

プラグインをテストする

インストール後にプラグインをテストするには、次の手順に従います。

  1. ターミナルまたはコマンド プロンプトを開きます。 (Windows では、[スタート] に移動します>。コマンド プロンプト。または、スタート ボタンを右クリックし、[ターミナル] を選択します)。

  2. コマンドwslを実行します。

  3. からスクリプト ファイル https://aka.ms/LinuxDIYをダウンロードして抽出します。

  4. Linux プロンプトで、 コマンドを実行します ./mde_linux_edr_diy.sh

    WSL2 インスタンスで検出された場合、数分後にアラートがポータルに表示されます。

    注:

    Microsoft Defender ポータルにイベントが表示されるまでに約 5 分かかります。

マシンは、テストを実行する環境内の通常の Linux ホストであるかのように扱います。 特に、新しいプラグインを使用して悪意のある可能性のある動作を表示する機能に関するフィードバックをお寄せください。

高度な追及

Advanced Hunting スキーマのテーブルの DeviceInfo 下に、WSL インスタンスを Windows ホスト デバイスにマップするために使用できるという新 HostDeviceId しい属性があります。 いくつかのサンプル ハンティング クエリを次に示します。

現在のorganization/テナントのすべての WSL デバイス ID を取得する

//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 デバイス ID とそれに対応するホスト デバイス ID を取得する

//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 デバイス ID の一覧を取得する

//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. コマンドには、"'bash' コマンド healthcheck.exe を使用して 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 for Endpoint 接続の接続テストとチェックを有効にします。 接続テストが失敗した場合は、正常性チェックツールの出力をサポート チームに提供します。

    • 接続テストで正常性チェックに "無効" と報告された場合は、WSL 内にある に次の.wslconfig構成設定を含め、WSL を%UserProfile%再起動します。 設定の詳細については、「 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. WSL 用Microsoft Defender エンドポイントでは、WSL 2 で実行されている Linux ディストリビューションがサポートされています。 WSL 1 に関連付けられている場合は、問題が発生する可能性があります。 そのため、WSL 1 を無効にすることをお勧めします。 Intune ポリシーでこれを行うには、次の手順を実行します。

    1. Microsoft Intune管理センターに移動します。

    2. [デバイス>構成プロファイル>Create>新しいポリシー] に移動します。

    3. [Windows 10以降>の設定カタログ] を選択します

    4. 新しいプロファイルの名前をCreateし、Linux 用 Windows サブシステムを検索して、使用可能な設定の完全な一覧を表示して追加します。

    5. WSL 2 ディストリビューションのみを使用できるようにするには、[ WSL1 を許可する ] 設定を [無効] に設定します。

      または、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 for Endpoint プラグインに問題が発生したことを意味します。 修復するには、次の手順に従います。

    1. コントロール パネルで、[プログラムプログラムと機能]> に移動します。

    2. WSL のプラグインMicrosoft Defender for Endpoint検索して選択します。 次に、[修復] を選択 します

    これにより、必要なディレクトリに適切なファイルを配置することで、問題を解決する必要があります。

    コントロール パネルMDE WSL 修復オプションのプラグインを示すスクリーンショット。