Share via


Microsoft Defender for Endpoint ランタイム保護サービスの概要

Microsoft Defender for Endpoint (MDE) ランタイム保護サービスには、Nexus クラスターのランタイム保護を構成および管理するためのツールが用意されています。

Azure CLI を使用すると、適用レベル のランタイム保護と、すべてのノードで MDE スキャン をトリガーする機能を構成できます。 このドキュメントでは、これらのタスクの実行手順について説明します。

Note

MDE ランタイム保護サービスは、包括的なエンドポイント検出と対応 (EDR) 機能を提供する Microsoft Defender for Endpoint とも統合されます。 Microsoft Defender for Endpoint を統合することで、異常を発見し、脆弱性を検出できます。

開始する前に

変数の設定

MDE スキャンの構成とトリガーに役立つよう、このガイド全体のさまざまなコマンドで使用されるこれらの環境変数を定義します。

Note

これらの環境変数の値は実際のデプロイを反映していないため、ユーザーは環境に合わせて変更する必要があります。

# SUBSCRIPTION_ID: Subscription of your cluster
export SUBSCRIPTION_ID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
# RESOURCE_GROUP: Resource group of your cluster
export RESOURCE_GROUP="contoso-cluster-rg"
# MANAGED_RESOURCE_GROUP: Managed resource group managed by your cluster
export MANAGED_RESOURCE_GROUP="contoso-cluster-managed-rg"
# CLUSTER_NAME: Name of your cluster
export CLUSTER_NAME="contoso-cluster"

MDE ランタイム保護の既定値

クラスターをデプロイすると、ランタイム保護は次の既定値に設定されます

  • 適用レベル: クラスターの作成時に指定されていない場合は Disabled
  • MDE サービス: Disabled

Note

引数 --runtime-protection enforcement-level="<enforcement level>" は、MDE サービスの有効化/無効化と適用レベルの更新という 2 つの目的を果たします。

クラスター全体で MDE サービスを無効にする場合は、 Disabled<enforcement level>を使用します。

適用レベルを構成する

az networkcloud cluster update コマンドを使用すると、引数 --runtime-protection enforcement-level="<enforcement level>" を使用して、クラスター ランタイム保護 適用レベル の設定を更新できます。

次のコマンドは、クラスターの enforcement level を構成します。

az networkcloud cluster update \
--subscription ${SUBSCRIPTION_ID} \
--resource-group ${RESOURCE_GROUP} \
--cluster-name ${CLUSTER_NAME} \
--runtime-protection enforcement-level="<enforcement level>"

<enforcement level> に使用できる値: DisabledRealTimeOnDemandPassive

  • Disabled: リアルタイム保護がオフになり、スキャンは実行されません。
  • RealTime: リアルタイム保護 (変更時にファイルをスキャン) が有効になります。
  • OnDemand: ファイルはオンデマンドでのみスキャンされます。 この例では、次の操作を行います。
    • リアルタイム保護がオフになっています。
  • Passive: ウイルス対策エンジンをパッシブ モードで実行します。 この例では、次の操作を行います。
    • リアルタイム保護がオフになっている: Microsoft Defender ウイルス対策は脅威を修復しません。
    • オンデマンド スキャンが有効になっている: エンドポイントでスキャン機能を引き続き使用します。
    • 脅威の自動修復がオフになっている: ファイルは移動されません。セキュリティ管理者は必要なアクションを実行する必要があります。
    • セキュリティ インテリジェンスの更新プログラムが有効になっている: アラートは、セキュリティ管理者テナントで使用できるようになります。

次の json スニペットの出力を調べることで、適用レベルが更新されたことを確認できます。

  "runtimeProtectionConfiguration": {
    "enforcementLevel": "<enforcement level>"
  }

すべてのノードで MDE スキャンをトリガーする

クラスターのすべてのノードで MDE スキャンをトリガーするには、次のコマンドを使用します。

az networkcloud cluster scan-runtime \
--subscription ${SUBSCRIPTION_ID} \
--resource-group ${RESOURCE_GROUP} \
--cluster-name ${CLUSTER_NAME} \
--scan-activity Scan

注: MDE スキャン アクションでは、MDE サービスを有効にする必要があります。 有効になっていない場合、コマンドは失敗します。 この場合、MDE サービスを有効にするには、Enforcement LevelDisabled とは異なる値に設定します。

各ノードから MDE スキャン情報を取得する

このセクションでは、MDE スキャン情報を取得する手順について説明します。 まず、クラスターのノード名の一覧を取得する必要があります。 次のコマンドは、ノード名のリストを環境変数に割り当てます。

nodes=$(az networkcloud baremetalmachine list \
--subscription ${SUBSCRIPTION_ID} \
--resource-group ${MANAGED_RESOURCE_GROUP} \
| jq -r '.[].machineName')

ノード名の一覧を使用して、クラスターの各ノードの MDE エージェント情報を抽出するプロセスを開始できます。 次のコマンドは、各ノードから MDE エージェント情報を準備します。

for node in $nodes
do
    echo "Extracting MDE agent information for node ${node}"
    az networkcloud baremetalmachine run-data-extract \
    --subscription ${SUBSCRIPTION_ID} \
    --resource-group ${MANAGED_RESOURCE_GROUP} \
    --name ${node} \
    --commands '[{"command":"mde-agent-information"}]' \
    --limit-time-seconds 600
done

コマンドの結果には、MDE スキャンの詳細レポートをダウンロードできる URL が含まれます。 MDE エージェント情報の結果については、次の例を参照してください。

Extracting MDE agent information for node rack1control01
====Action Command Output====
Executing mde-agent-information command
MDE agent is running, proceeding with data extract
Getting MDE agent information for rack1control01
Writing to /hostfs/tmp/runcommand

================================
Script execution result can be found in storage account: 
 <url to download mde scan results>
 ...

MDE スキャン結果の抽出

MDE スキャンの抽出には、いくつかの手順を手動で行う必要があります。MDE スキャン レポートをダウンロードしてスキャン実行情報を抽出し、詳細な結果レポートをスキャンしてください。 このセクションでは、これらの各手順について説明します。

スキャン レポートをダウンロードする

前述のように、MDE エージェント情報応答は、詳細なレポート データを格納する URL を提供します。

返された URL <url to download mde scan results> からレポートをダウンロードし、mde-agent-information.json ファイルを開きます。

mde-agent-information.json ファイルにはスキャンに関する多くの情報が含まれており、このような長い詳細なレポートを分析するのは大変です。 このガイドでは、レポートを十分に分析する必要があるかどうかを判断するのに役立つ、重要な情報を抽出する例をいくつか紹介しています。

MDE スキャンの一覧の抽出

mde-agent-information.json ファイルには詳細なスキャン レポートが含まれていますが、最初にいくつかの詳細に注目することをお勧めします。 このセクションでは、各スキャンの開始時刻と終了時刻、検出された脅威、状態 (成功または失敗) などの情報を提供するスキャン実行の一覧を抽出する手順について詳しく説明します。

次のコマンドは、この簡略化されたレポートを抽出します。

cat <path to>/mde-agent-information.json| jq .scanList

次の例は、mde-agent-information.json から抽出されたスキャン レポートを示しています。

[
  {
    "endTime": "1697204632487",
    "filesScanned": "1750",
    "startTime": "1697204573732",
    "state": "succeeded",
    "threats": [],
    "type": "quick"
  },
  {
    "endTime": "1697217162904",
    "filesScanned": "1750",
    "startTime": "1697217113457",
    "state": "succeeded",
    "threats": [],
    "type": "quick"
  }
]

Unix date コマンドを使用すると、時刻をより読みやすい形式で変換できます。 参考までに、Unix タイムスタンプ (ミリ秒) を年月日と hour:min:secs に変換する例をご覧ください。

次に例を示します。

date -d @$(echo "1697204573732/1000" | bc) "+%Y-%m-%dT%H:%M:%S"

2023-10-13T13:42:53

MDE スキャン結果の抽出

このセクションでは、MDE スキャン中に特定された脅威の一覧に関するレポートを抽出する手順について詳しく説明します。 mde-agent-information.json ファイルからスキャン結果レポートを抽出するには、次のコマンドを実行します。

cat <path to>/mde-agent-information.json| jq .threatInformation

次の例では、mde-agent-information.json ファイルから抽出されたスキャンによって識別された脅威のレポートを紹介します。

{
  "list": {
    "threats": {
      "scans": [
        {
          "type": "quick",
          "start_time": 1697204573732,
          "end_time": 1697204632487,
          "files_scanned": 1750,
          "threats": [],
          "state": "succeeded"
        },
        {
          "type": "quick",
          "start_time": 1697217113457,
          "end_time": 1697217162904,
          "files_scanned": 1750,
          "threats": [],
          "state": "succeeded"
        }
      ]
    }
  },
  "quarantineList": {
    "type": "quarantined",
    "threats": []
  }
}