Defender デプロイ ツールを使用して、Microsoft Defenderエンドポイント セキュリティを Linux デバイスにデプロイする

Defender デプロイ ツールを使用すると、Linux デバイス上のMicrosoft Defender for Endpointに対して効率的で使いやすいオンボード プロセスが提供されます。 これにより、ユーザーは、Microsoft Defender ポータルからダウンロードできる 1 つのパッケージを使用して、Microsoft Defender for Endpointをインストールしてオンボードできます。 これにより、インストーラー スクリプト/cli コマンドを使用して Defender をインストールし、ポータルからオンボード パッケージを使用してデバイスをオンボードする必要がなくなります。

defender-deployment ツールは、Chef、Ansible、Puppet、SaltStack などのサードパーティ製ツールを使用した手動オンボードと一括オンボードの両方をサポートします。 このツールでは、大規模なデプロイをカスタマイズするために使用できるいくつかのパラメーターがサポートされているため、さまざまな環境でカスタマイズされたインストールを行うことができます。

前提条件とシステム要件

作業を開始する前に、前提条件とシステム要件の説明については、「LinuxのMicrosoft Defender for Endpointの前提条件」を参照してください。 さらに、次の要件も満たす必要があります。

  • URL への接続を許可する: msdefender.download.prss.microsoft.com。 デプロイを開始する前に、 接続テストを実行してください。このテストでは、Defender for Endpoint で使用される URL にアクセスできるかどうかを確認します。
  • エンドポイントには 、wget または curl がインストールされている必要があります。

デプロイ ツールでは、次の一連の前提条件チェックが適用されます。これが満たされていない場合は、デプロイ プロセスが中止されます。

  • デバイス メモリ: 1 GB を超える
  • デバイスで使用可能なディスク領域: 2 GB を超える
  • デバイス上の Glibc ライブラリバージョン: 2.17 より新しい
  • Defender のビルド バージョン: サポートされており、サポート期限が切れていない必要があります。 製品の有効期限を確認するには、コマンド -mdatp healthを実行します。

ヒント

展開ツールを実行して Defender をLinux サーバーにオンボードする前に、--pre-req オプションを使用してツールを実行して、デプロイに影響を与える可能性のある問題を特定して修正することをお勧めします。

デプロイ: ステップ バイ ステップ ガイド

  1. 次の手順に従って、Defender ポータルから Defender デプロイ ツールをダウンロードします。

    1. Settings>Endpoints>Device management>Onboarding に移動します。

    2. [手順 1] ドロップダウン メニューで、オペレーティング システムとして [Linux ] を選択します。

    3. オンボーディング パッケージまたはファイルのダウンロードと適用 で、Defender 展開ツールの下にある パッケージのダウンロード ボタンを選択します。

    注:

    このパッケージはエージェントをインストールしてオンボードするため、テナント固有のパッケージであり、テナント間で使用することはできません。

    [パッケージのダウンロード] ボタンを示すスクリーンショット。

  2. コマンド プロンプトから、アーカイブの内容を抽出します。

    unzip GatewayLinuxDefenderDeploymentTool.zip
    
    Archive: GatewayLinuxDefenderDeploymentTool.zip
    inflating: defender_deployment_tool.sh
    
  3. スクリプトに実行可能なアクセス許可を付与します。

    chmod +x defender_deployment_tool.sh
    
  4. 次のコマンドを使用してスクリプトを実行し、エンドポイントにMicrosoft Defender for Endpointをインストールしてオンボードします。

    sudo bash defender_deployment_tool.sh
    

    このコマンドは、運用チャネルから最新のエージェント バージョンをインストールし、デバイスを Defender ポータルにオンボードします。 デバイス インベントリにデバイスが表示されるまでに 5 ~ 20 分かかる場合があります。

    注:

    Defender for Endpoint トラフィックをリダイレクトするようにシステム全体のプロキシを設定している場合は、Defender デプロイ ツールも使用してプロキシを構成してください。 使用可能なプロキシ オプションについては、コマンド ライン ヘルプ (--help) を参照してください。

  5. 要件に基づいてツールにパラメーターを渡すことで、デプロイをさらにカスタマイズできます。 --helpオプションを使用して、使用可能なすべてのオプションを表示します。

     ./defender_deployment_tool.sh --help
    

    ヘルプ コマンドの出力を示すスクリーンショット。

    次の表に、便利なシナリオのコマンドの例を示します。

    シナリオ コマンド
    満たされていない前提条件を確認する sudo ./defender_deployment_tool.sh --pre-req
    接続テストを実行する sudo ./defender_deployment_tool.sh --connectivity-test
    カスタムの場所にデプロイする sudo ./defender_deployment_tool.sh --install-path /usr/microsoft/
    ローカルに構成されたパッケージ リポジトリからデプロイする sudo ./defender_deployment_tool.sh --use-local-repo

    このオプションを --channel または --cleanと組み合わせることはできません。
    特定のチャネルからデプロイする sudo ./defender_deployment_tool.sh --channel insiders-slow
    プロキシを使用してデプロイする sudo ./defender_deployment_tool.sh --http-proxy <http://username:password@proxy_host:proxy_port>
    特定のエージェント バージョンをデプロイする sudo ./defender_deployment_tool.sh --mdatp 101.25042.0003 --channel prod
    特定のエージェント バージョンにアップグレードする sudo ./defender_deployment_tool.sh --upgrade --mdatp 101.24082.0004
    特定のエージェント バージョンへのダウングレード sudo ./defender_deployment_tool.sh --downgrade --mdatp 101.24082.0004
    Defender をアンインストールする sudo ./defender_deployment_tool.sh --remove詳細については、「offboard or uninstall Microsoft Defender for Endpoint on Linux」を参照してください。
    Defender が既にインストールされている場合にのみオンボードする sudo ./defender_deployment_tool.sh --only-onboard
    オフボード ディフェンダー sudo ./defender_deployment_tool.sh --offboard MicrosoftDefenderATPOffboardingLinuxServer.py
    (注: --offboard オプションを使用する前に、Defender ポータルの [System] > [Settings] > [Endpoints] > [Offboarding] から、最新のオフボード用スクリプトをまずダウンロードする必要があります。) その他のオフボード方法については、「Linux 上の Microsoft Defender for Endpoint をオフボードまたはアンインストールする」を参照してください。

Microsoft Defender ポータルでデプロイの進行状況を監視する

Defenderデプロイ ツールが実行されると、各デプロイ 手順の開始時と終了時に、進行状況イベントが Defender ポータルに送信されます。 これらのイベントを使用すると、各デバイスにサインインせずにすべてのデバイスの展開状態を追跡し、失敗した展開が停止した手順を特定できます。

デバイス インベントリのデバイスのオンボード状態を確認します。 フリート全体のオンボーディング状況を確認するには、高度なハンティング クエリを使用します。 段階的な進行状況を確認するには、デバイスのタイムラインを参照してください。 [デバイス インベントリ] に移動し、デバイスを選択して、[タイムライン] を選択します

タイムラインのデプロイ イベントをフィルター処理するには、タイムラインの検索ボックスに「 DefenderDeployment 」と入力します。 各イベントは Defender deployment tool: <step> succeeded または Defender deployment tool: <step> failedを読み取り、そのステップのツールがレポートする追加の詳細が含まれます。 次のスクリーンショットは、正常にインストールが実行されたことを示しています。

Defender展開ツールイベントの成功を示すためにフィルター処理されたデバイス タイムラインのスクリーンショット。

展開タイムライン

インストールとオンボードの実行が成功すると、次の一連のイベントが生成されます。

Order ステップ (ActionName) Description
1 Start デプロイ ツールが起動します。 イベントには、ツールのバージョンと操作 (インストール、アップグレード、ダウングレード、削除、オフボード) が含まれます。
2 ダウンロード ツールは、Microsoftからインストーラー スクリプトをダウンロードします。 --script オプションを使用して事前にステージングされたスクリプトを指定した場合、この手順はスキップされます。
3 前提条件のチェック このツールは、メモリ、ディスク領域、glibc、カーネル機能などのシステム要件を検証します。
4 Installation ツールによって、Microsoft Defender for Endpoint パッケージがインストールされます。 イベントには、インストールされているエージェントのバージョンが含まれます。
5 センサーの初期化 エージェントのオンボードが完了し、センサーがライセンスされ、アクティブになります。
6 シーケンスの完了 完全なデプロイ シーケンスが完了します。 このステップは、ランにおける常に最後のイベントです。

削除、アップグレード、またはオフボード実行には、それに適用される手順のみが含まれます。 ステップが失敗した場合、ツールは、そのステップのエラー イベントと、問題の原因を説明する終了コードとエラーの説明を送信します。

高度なハンティングでデプロイの状態を確認する

特定のデバイスのイベントを検査するには、 高度な検出で次のクエリを実行します。 <DeviceId>をターゲット デバイス ID に置き換えます。 デバイス ID を見つけるには、[ デバイス インベントリ] に移動するか、デバイスで mdatp health --field edr_device_id を実行します。

DeviceEvents
| where Timestamp > ago(1d)
| where ActionType == "DefenderDeploymentToolEvent"
| where DeviceId == "<DeviceId>"
| extend Details = parse_json(AdditionalFields)
| project
    Timestamp,
    DeviceName,
    Step = tostring(Details.ActionName),
    Succeeded = tobool(Details.IsSuccess),
    ExitCode = toint(Details.ExitCode),
    Data = tostring(Details.Data),
    ErrorDescription = tostring(Details.ErrorDescription)
| sort by Timestamp asc

すべてのデバイスの展開状態の概要を取得するには、次のクエリを実行します。 これは、各デバイスが過去 30 日間に報告した最新の手順を返し、各デバイスを オンボード済みオンボード失敗済み、またはまだオンボード済みとして分類します。

DeviceEvents
| where Timestamp > ago(30d)
| where ActionType == "DefenderDeploymentToolEvent"
| extend Details = parse_json(AdditionalFields)
| extend Step = tostring(Details.ActionName), Succeeded = tobool(Details.IsSuccess)
| summarize arg_max(Timestamp, DeviceName, Step, Succeeded) by DeviceId
| extend Status = case(
    Step == "Sequence completion" and Succeeded, "Onboarded",
    Step == "Sequence completion" and not(Succeeded), "Onboarding Failed",
    not(Succeeded), strcat("Failed at: ", Step),
    "Onboarding")
| project DeviceId, DeviceName, LastEvent = Timestamp, LastStep = Step, Status

AV/EDR が機能していることを確認する

  1. Microsoft Defender ポータルで、デバイス インベントリを開きます。 デバイスがポータルに表示されるまでに 5 ~ 20 分かかる場合があります。

  2. ウイルス対策検出テストを実行して、デバイスが適切にオンボードされ、サービスに報告されていることを確認します。 新しくオンボードされたデバイスで次の手順を実行します。

    1. リアルタイム保護が有効になっていることを確認します (次のコマンドを実行した場合の true の結果で示されます)。

      mdatp health --field real_time_protection_enabled
      

      有効になっていない場合は、次のコマンドを実行します。

      mdatp config real-time-protection --value enabled
      
    2. ターミナル ウィンドウを開き、次のコマンドを実行して検出テストを実行します。

      curl -o /tmp/eicar.com.txt https://secure.eicar.org/eicar.com.txt
      
    3. 次のいずれかのコマンドを使用して、zip ファイルでより多くの検出テストを実行できます。

      curl -o /tmp/eicar_com.zip https://secure.eicar.org/eicar_com.zip
      curl -o /tmp/eicarcom2.zip https://secure.eicar.org/eicarcom2.zip
      
    4. ファイルは、Linuxの Defender for Endpoint によって検疫する必要があります。 次のコマンドを使用して、検出されたすべての脅威を一覧表示します。

      mdatp threat list
      
  3. EDR 検出テストを実行し、検出をシミュレートして、デバイスが適切にオンボードされ、サービスに報告されていることを確認します。 新しくオンボードされたデバイスで次の手順を実行します。

    1. オンボードされたLinux サーバーにスクリプト ファイルをダウンロードして抽出します。

    2. スクリプトに実行可能なアクセス許可を付与します。

      chmod +x mde_linux_edr_diy.sh
      
    3. 次のコマンドを実行します。

      ./mde_linux_edr_diy.sh
      
    4. 数分後、Microsoft Defender XDRで検出を発生させる必要があります。

    5. アラートの詳細、コンピューターのタイムラインを確認し、一般的な調査手順を実行します。

デプロイに関する問題のトラブルシューティング

  1. デプロイ エラー ログを確認します。

    • /tmp/defender_deployment_tool.log は、デプロイ ツールのアクティビティを記録します。
    • /tmp/defender_deployment_tool_telemetry.logは、ツールがMicrosoft Defender ポータルに送信する進行状況イベントを記録します。
  2. 接続の問題が発生している場合は、次のコマンドを実行して接続テストを実行します。

    sudo ./defender_deployment_tool.sh --connectivity-test
    

    Defenderで必要なすべての URL のチェックを実行し、問題がある場合は検出するため、実行に時間がかかる場合があります。

  3. デバイスの 高度なハンティング クエリ を実行し、 Succeededfalseされている最新のイベントを探します。 Step フィールドは失敗したステップを識別し、ErrorDescriptionフィールドと ExitCode フィールドは理由を説明します。

    • ダウンロード手順でデプロイが失敗した場合、インストーラー スクリプトをダウンロードできませんでした。 デバイスにcurlまたはwgetがインストールされており、Microsoft のダウンロード エンドポイントへの HTTPS による送信接続が許可されていることを確認します。

    • 前提条件チェックの手順でデプロイが失敗した場合、デバイスは最小システム要件を満たしていません。 [ ErrorDescription ] フィールドには、失敗したチェックが |で区切って一覧表示されます。 非ブロッキング エラーには (non_blocking) プレフィックスがあり、デプロイを停止しません。

    • インストール手順でデプロイが失敗した場合、パッケージ マネージャーはエージェントをインストールできませんでした。 一般的な原因には、正しく構成されていないパッケージ リポジトリ、不足している依存関係、または選択したチャネルで使用できない要求された mdatp バージョンが含まれます。

    • センサーの初期化手順でデプロイが失敗した場合、エージェントはインストールされましたが、予期した時間内にオンボードが完了しませんでした。 デバイスで mdatp health を実行し、 licensedhealthy、および org_id フィールドを確認します。

    • デバイスのデプロイ イベントがポータルに表示されない場合は、そのデバイス /tmp/defender_deployment_tool_telemetry.log チェックして、ツールから送信されたかどうかを確認します。

  4. それでも問題を解決できない場合は、次の手順を確認してみてください。

チャネルからデプロイした後でチャネルを切り替える方法

Linux上の Defender for Endpoint は、次のいずれかのチャネルから展開できます。

  • insiders-fast
  • insiders-slow
  • prod (運用環境)

これらの各チャネルは、Linux ソフトウェア リポジトリに対応します。 チャネルは、デバイスに提供される更新プログラムの種類と頻度を決定します。 insiders-fast のデバイスは、更新プログラムと新機能を最初に受け取り、その後に insiders-slow、最後に prod のデバイスが受け取ります。

既定では、デプロイ ツールは、prod チャネルを使用するようにデバイスを構成します。 このドキュメントで説明されている構成オプションを使用して、別のチャネルからデプロイできます。

新機能をプレビューし、早期フィードバックを提供するには、社内の一部のデバイスを、Insider-fast または insiders-slow を使用するように構成することをお勧めします。 チャネルからLinuxに Defender for Endpoint を既に展開しており、別のチャネル (たとえば、prod から insider-fast) に切り替える場合は、最初に現在のチャネルを削除してから、現在のチャネル リポジトリを削除してから、最後に新しいチャネルから Defender をインストールする必要があります。次の例に示すように、チャネルが insiders-fast から prod に変更されます。

  1. Linux で Defender for Endpoint の insiders-fast チャネル バージョンを削除します。

    sudo ./defender_deployment_tool.sh --remove --channel insiders-fast
    
  2. Linux insiders-fast リポジトリで Defender for Endpoint を削除します。

    sudo ./defender_deployment_tool.sh --clean --channel insiders-fast
    
  3. 運用チャネルを使用してLinuxにMicrosoft Defender for Endpointをインストールします。

    sudo ./defender_deployment_tool.sh --channel prod