Microsoft Defender for Endpoint ランタイム保護サービスの概要
Microsoft Defender for Endpoint (MDE) ランタイム保護サービスには、Nexus クラスターのランタイム保護を構成および管理するためのツールが用意されています。
Azure CLI を使用すると、適用レベル のランタイム保護と、すべてのノードで MDE スキャン をトリガーする機能を構成できます。 このドキュメントでは、これらのタスクの実行手順について説明します。
Note
MDE ランタイム保護サービスは、包括的なエンドポイント検出と対応 (EDR) 機能を提供する Microsoft Defender for Endpoint とも統合されます。 Microsoft Defender for Endpoint を統合することで、異常を発見し、脆弱性を検出できます。
開始する前に
- 適切な CLI 拡張機能の最新バージョンをインストールします。
変数の設定
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>
に使用できる値: Disabled
、RealTime
、OnDemand
、Passive
。
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 Level
をDisabled
とは異なる値に設定します。
各ノードから 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": []
}
}