コンテンツにスキップ

Microsoft Defender for Endpoint インテグレーションガイド🔗

以下のガイドは、Microsoft Defender for Endpoint を Secureworks® Taegis™ XDR と連携する手順を説明します。

注意

  • Microsoft Defender for Endpoint を XDR と連携するには、適切な Microsoft ライセンスと有効な Azure サブスクリプションが必要です。詳細は Microsoft 365 ドキュメント Microsoft Defender for Endpoint の最小要件 を参照してください。
  • デバイステレメトリーイベント(プロセスや認証イベントなど)を受信するには、Microsoft Defender for Endpoint Plan 2、または Microsoft 365 E5 プラン、または Microsoft 365 A5 プランが必要です。Microsoft Defender for Business プランはアラートデータのみを提供します。詳細は Microsoft 365 ドキュメント Microsoft エンドポイントセキュリティプランの比較 を参照してください。
  • 各 Azure Active Directory テナントIDは、1つの XDR インテグレーションでのみ使用できます。既存の XDR インテグレーションがある Azure AD テナントで新たに XDR インテグレーションを構成しようとすると、失敗します。
  • Azure インテグレーションは US および EU リージョンでサポートされていますが、他のリージョンでは Microsoft によるサポートがない場合があります。他リージョンでのサービスサポートについては Microsoft に直接ご確認ください。
  • Azure Active Directory および Microsoft 365 インテグレーションはグローバル Azure クラウドで利用可能です。Azure Government、Azure China 21Vianet、Azure Germany などの他のナショナルクラウドは現在サポートされていません。

インテグレーションから提供されるデータ🔗

  提供されたデータ
Microsoft Defender for Endpoint API Call、Auth、検出、DNS、ファイル変更、Generic、管理、Netflow、Persistence、Process、Registry、Scriptblock、Thread Injection

注意

API Call、Registry、Thread Injection は Windows デバイスでのみ収集されます。

イベントレートの確認🔗

インテグレーションを進める前に、イベントレートを確認してください。Microsoft Defender ポータルの Advanced Hunting にアクセスし、以下のクエリを使用してイベントレートを計算します。

AlertInfo | where Timestamp > ago(7d) | join AlertEvidence on AlertId | summarize count() by bin(Timestamp, 1m)
| union (DeviceInfo | where Timestamp > ago(7d) | summarize count() by bin(Timestamp, 1m)
| union (DeviceNetworkInfo  | where Timestamp > ago(7d) | summarize count() by bin(Timestamp,1m)
| union (DeviceProcessEvents  | where Timestamp > ago(7d) | summarize count() by bin(Timestamp,  1m)
| union (DeviceNetworkEvents  | where Timestamp > ago(7d) | summarize count() by bin(Timestamp, 1m)
| union (DeviceFileEvents   | where Timestamp > ago(7d) | summarize count() by bin(Timestamp, 1m)
| union (DeviceRegistryEvents  | where Timestamp > ago(7d) | summarize count() by bin(Timestamp, 1m)
| union (DeviceLogonEvents  | where Timestamp > ago(7d) | summarize count() by bin(Timestamp, 1m)
| union (DeviceImageLoadEvents  | where Timestamp > ago(7d) | summarize count() by bin(Timestamp,  1m)
| union (DeviceEvents  | where Timestamp > ago(7d) | summarize count() by bin(Timestamp, 1m) )))))))))
| summarize EventsPerMinute= sum(count_) by Timestamp | summarize EventsPerMinute= percentile(EventsPerMinute, 99.9)
 

Microsoft Defender でのクエリ結果は以下のようになります。

イベントレート例

このクエリは、エンドポイントが生成する Events per Minute(1分あたりのイベント数)を出力します。

インテグレーション方法の決定🔗

Defender for Endpoint は、Azure Storage Account または Azure Event Hub のいずれかを介して XDR と連携できます。

Azure Storage Account🔗

重要

上記 で計算したイベントレートが 600,000 イベント/分 を超える場合は、Azure Storage Account インテグレーション方法を使用しないでください。

Storage Account は従量課金モデルです。Defender for Endpoint が Storage Account に書き込む実際のデータ量に基づいて Azure サブスクリプションに課金されます。スループットが減少した場合は使用したデータ分のみ課金され、スループットが増加した場合は自動的に処理がスケールします。

Azure Event Hub🔗

Event Hub はプロビジョニングモデルです。Microsoft Defender エージェントの想定数やイベント量に基づいてパーティションとスループットユニットを設定し、そのプロビジョニングされたスループットに対して課金されます。イベント量が減少してもプロビジョニングレートで課金され、スループットがプロビジョニング量を超えると XDR へのデータ転送が遅延し、Event Hub のスケールはより困難になります。

Microsoft Defender for Endpoint インテグレーションの構成🔗

  1. Taegis Menu から インテグレーション → クラウドAPI を選択します。Cloud API インテグレーションページが表示されます。
  2. Cloud API インテグレーションテーブルの右上にある インテグレーションの追加 を選択します。Cloud API インテグレーションダイアログが表示されます。
  3. 最適化タブから Microsoft Defender for Endpoint カードを選択します。Microsoft Defender ダイアログが表示されます。

    Microsoft Defender for Endpoint インテグレーションタイプ

  4. 要件に応じて適切なインテグレーション方法を選択します。

    注意

    プレビューモード にオプトインしている場合は、Storage Account 方法を選択し、Azure Government オプションを選択することで Azure Government テナント向けのインテグレーションを構成できます。

  5. 選択したインテグレーション方法に応じて、Event Hub テンプレートのダウンロード または Storage Account テンプレートのダウンロード をクリックし、Terraform テンプレートをダウンロードします。

  6. アーカイブを解凍し、terraform.tfvars ファイルを Notepad や vim などのテキストエディタで開きます。
  7. 適切に Storage Account または Event Hub の手順に従ってください。

Microsoft Defender for Endpoint Storage Account インテグレーションの構成🔗

  1. 現在の環境に合わせて以下の値を変更します。詳細は Microsoft Azure ドキュメント Azure Active Directory テナントIDの確認方法 を参照してください。

    • storage_account_name
    • azure_tenant_id
    • azure_subscription_id

    リソースグループ名はそのままにすることを推奨します。

    注意

    Azure Government テナント向けにインテグレーションを構成する場合は、前のセクション の手順4で Azure Government チェックボックスを選択し、以下の追加パラメータを更新してください。

    • azure_commercial
    • storage_account_name_queue

    注意

    Azure の要件により、storage_account_name および storage_account_name_queue には小文字の英字と数字のみを使用し、24文字以内である必要があります。名前はグローバルで一意でなければなりません。

  2. Azure の構成 へ進んでください。

Microsoft Defender for Endpoint Event Hub インテグレーションの構成🔗

  1. 現在の環境に合わせて以下の値を変更します。詳細は Microsoft Azure ドキュメント Azure Active Directory テナントIDの確認方法 を参照してください。

    • client_name
    • azure_tenant_id
    • azure_subscription_id

    注意

    Azure の要件により、client_name には英字、数字、ハイフンのみを使用できます。client_nameazure_region の合計文字数は 30 文字以内でなければなりません。空白は使用できません。

  2. 1,000 台を超えるエンドポイントを構成する場合は、手順3~4に進んでください。それ以外の場合は、修正した terraform.tfvars ファイルを保存し、Azure の構成 へ進んでください。

  3. 上記 で決定したイベントレート(Events per Minute)と、下記の スループットユニット計算 を用いて、必要なスループットユニット(TUs)とパーティション数 を計算します。

スループットユニット計算🔗

名前空間に必要な スループットユニット および パーティション数 を計算する式は以下の通りです。

(1分あたりのイベント数 / 60*3/1024)+1 = スループットユニット数 = パーティション数

必要に応じて、下記のスループットおよびパーティション計算機を使用してください。

計算機

イベント数を入力し、Enter キーを押して計算してください: 

必要な数:  0   スループットユニット および    0   パーティション

重要

大規模な導入では、より多くのパーティションと Event Hub ごとに多くの TU が必要です。エンドポイント数の増加が見込まれる場合は、パーティション数は作成後に変更できないため、最大必要数を入力してください。例えば、2つのスループットユニットを定義している場合は、4に設定してオンデマンドで2倍のキャパシティを確保します。パーティションは自動で増加しません。

  1. 計算後、Event Hub のティアを選択し、terraform.tfvars ファイルを編集します。

    • 必要な TU 数が 1~32 の場合は、Standard Event Hub ティアを使用します。
    フィールド デフォルト値 備考
    require_dedicated_cluster false 専用クラスターは使用しない
    eventhub_tier Standard Standard Event Hub ティアを使用
    eventhub_throughput_allocated 2 TU 計算 に基づき 1~32 を許可
    eventhub_throughput_inflate_cap 4 拡張のため、割り当てた TU より大きい値を設定
    eventhub_partition_count 4 パーティション数 に基づき 1~32 を許可
    data_retention_length 1 XDR には1日分のみ必要。独自用途で最大7日まで追加可能
    • 必要な TU 数が 32 を超え、かつエンドポイントが 50,000 台未満の場合は、Premium Event Hub ティアを使用します。
    フィールド デフォルト値 備考
    require_dedicated_cluster false 専用クラスターは使用しない
    eventhub_tier Premium Premium Event Hub ティアを使用
    eventhub_processing_units 8 TU 計算 に基づき 1, 2, 4, 8, 16 PU から選択。1 PU は約5~10 TUに相当
    eventhub_partition_count 100 パーティション数 に基づき 1~100 を許可
    data_retention_length 1 XDR には1日分のみ必要。独自用途で最大90日まで追加可能
    • 導入規模が 50,000 台を超える場合は、専用 Event Hub クラスターの使用が必要になる場合があります。
    フィールド デフォルト値 備考
    require_dedicated_cluster true 非常に大規模な導入(5万台以上)は専用クラスターが必要
    eventhub_partition_count 1024 パーティション数 に基づき 1~1024 を許可
    data_retention_length 1 XDR には1日分のみ必要。独自用途で最大90日まで追加可能
  2. 修正した terraform.tfvars ファイルを保存します。

Azure の構成🔗

  1. Azure Cloud Bash Shell を開き、編集済み terraform.tfvars ファイルを含むすべての Terraform ファイルを ファイルの管理 および アップロード ツールバーアクションボタンで Azure にアップロードします。

    Terraform アップロード

  2. Azure Cloud Bash shell から以下のコマンドを実行します。この処理には数分かかります。

    terraform init && terraform plan -out ScwxAppTest.tfplan && terraform apply ScwxAppTest.tfplan && terraform output
    

    注意

    terraform apply コマンドを実行するユーザーには グローバル管理者 Azure AD ロールが割り当てられている必要があります。

  3. コマンドの出力結果を安全に記録してください。以降の構成で必要となります。

Microsoft Defender の構成🔗

  1. 設定 → Microsoft 365 Defender → Streaming API に移動し、Microsoft Defender Data Export を構成します。

    注意

    この操作にはグローバル管理者またはセキュリティ管理者ロールが必要です。また、Data Export を作成するアカウントは Event Hub または Storage Account サブスクリプションへのアクセス権が必要です。

  2. + 追加 を選択し、以下のようにエクスポート設定を構成します。

    • 名前: SCWX-XDR-Integration-Export

    Azure Storage Account を使用する場合:

    • Azure Storage Account へイベントを転送: チェック
    • Storage Account Resource ID: Terraform の出力にある storage_account_resource_id の値をコピー&ペースト

    Namespace Resource ID の例:/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx/resourceGroups/xx-xxx-x-xx-xxxxxxxx/providers/Microsoft.Storage/storageAccounts/StorageAccountName

    Azure Event Hub を使用する場合:

    • Azure Event Hub へイベントを転送: チェック
    • Event Hub Resource Id: Terraform の出力にある event_hub_namespace_resource_id の値をコピー&ペースト

    Namespace Resource ID の例:/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx/resourceGroups/xx-xxx-x-xx-xxxxxxxx/providers/Microsoft.EventHub/namespaces/SCWX-XDR-Namespace-CustomerName

    • Event Hub Name: Terraform の出力にある event_hub_name の値をコピー&ペースト。例:SCWX-TDR-EventHub
  3. イベントタイプアラート および デバイス カテゴリにチェックを入れます。

  4. 送信(または 保存)を選択します。

XDR での Microsoft Defender for Endpoint 設定の完了🔗

前述の手順で得た terraform の出力を用いて、XDR でインテグレーションを完了します。

  1. Microsoft Defender ダイアログを開いたまま、インテグレーション方法(Event Hub または Storage Account)を選択し、次へ を選択します。

    Microsoft Defender for Endpoint インテグレーションタイプ

  2. Microsoft Defender for Endpoint インテグレーションの構成 で取得した Terraform の出力値を入力します。

  • Storage Account を選択した場合、以下のフォームが表示されます。

    Microsoft Defender for Endpoint Storage Account

  • Storage Account を選択し、Azure Government オプションをチェックした場合、以下のフォームが表示されます。

    Microsoft Defender for Endpoint Storage Account with Azure Government

  • Event Hub を選択した場合、以下のフォームが表示されます。

    Microsoft Defender for Endpoint Event Hub

  1. フォームの入力が完了したら 完了 を選択します。
  2. XDR の Cloud API ページでインテグレーションが正常に動作していることを確認できます。正常なインテグレーションは緑色の 連携可能 ステータスで表示されます。

    Cloud API インテグレーションステータス

Event Hub のスケーリング🔗

Incoming Bytes および Outgoing Bytes メトリクスで Event Hub のパフォーマンスを監視できます。

Incoming Bytes メトリクスが (Number_of_TUs * 1 MB/s) に、または Outgoing Bytes メトリクスが (Number_of_TUs * 2 MB/s) に達した場合、Event Hub のスループットが上限に達しているため、TU 数を増やす必要があります。

ただし、Event Hub のスループットが TU ベースの上限よりも低い「天井」に達し、Secureworks® Taegis™ XDR サポートから Event Hub のプロビジョニング不足と指摘された場合は、Event Hub を置き換える必要があります。

Event Hub のスケーリングに関する追加情報 を参照してください。

Premium または Dedicated Event Hub のスケーリング🔗

以下を動的に変更できます:

  • Premium Event Hub の Processing Unit (PU)
  • Dedicated Event Hub クラスターの Capacity Unit (CU)(サポートリクエストが必要)
  • Event Hub のパーティション数

Standard Event Hub のスケーリング🔗

Event Hub のスループットを増やす最初のステップは、スループットユニット数の更新です。Azure Portal の Event Hub Namespace ページのスケールタブでスループットユニットを管理できます。同じスケール設定で Auto-Inflate 値を設定し、Event Hub が使用状況に応じて自動的にスループットユニット数をスケールアップできるようにすることも可能です。

XDR が Event Hub からメッセージ生成速度に追いつけない場合は、Event Hub 自体を置き換える必要があります。

Event Hub を置き換えるには:

  1. 新しい Event Hub を作成します(古い Event Hub はまだ削除しないでください)。

    1. 上記ドキュメント を参照し、必要なスループット、パーティション数、Event Hub ティア(Standard、Premium、Dedicated)を計算します。
    2. Terraform アーカイブを新しいディレクトリに解凍します。Terraform パラメータの更新手順に従ってください。
    3. terraform.tfvars ファイルを Notepad や vim などのテキストエディタで開きます。新しい Event Hub 名前空間を生成するには、terraform.tfvars の client_name を少し変更し、replacement_eventhubtrue に設定します。
    4. Terraform を計画・適用して Event Hub を作成します。
  2. Microsoft Defender ポータルで Streaming API 設定を変更します。

    1. 新しい設定を追加し、Event Hub Namespace Resource ID と新しい Event Hub 名を指定します。
    2. 古い設定を削除します。
  3. Azure Portal で、古い Event Hub の Outgoing Bytes および Outgoing Message メトリクスがゼロになったことを確認します。これには時間がかかる場合があります。古い Event Hub の残データを破棄しても問題なければ、この手順は省略できます。

  4. Secureworks® Taegis™ XDR で、Microsoft Defender for Endpoint インテグレーションに新しい Event Hub のパラメータを入力します。
  5. Azure Portal で古い Event Hub を削除します。

Microsoft Defender for Endpoint インテグレーションの削除🔗

Microsoft Defender for Endpoint インテグレーションを削除するには:

  1. XDR でインテグレーションを削除します。
  2. Microsoft Defender で Streaming API 設定(設定 → Microsoft 365 Defender → Streaming API)を削除します。
  3. 以下の Azure リソース(Terraform で作成したもの)を削除します:

    • terraform.tfvars で指定した名前の Storage Account('scwx-datp-integration-rg' リソースグループ内)
    • SCWX-TDR-Namespace で始まる Event Hub Namespace(該当する場合)

参考資料🔗

テストイベント🔗

Windows🔗

新たにオンボードしたデバイスで以下の PowerShell スクリプトを実行し、Defender for Endpoint サービスに正しく報告されているかを確認します。コマンドプロンプトウィンドウは実行後自動的に閉じます。成功すると、約10分後にオンボード済みデバイスのポータルに新しい検知が表示されます。

  • フォルダーを作成:'C:\test-WDATP-test'
  • デバイスで管理者権限のコマンドプロンプトを開き、スクリプトを実行:

    powershell.exe -NoExit -ExecutionPolicy Bypass -WindowStyle Hidden $ErrorActionPreference = "SilentlyContinue";(New-Object System.Net.WebClient).DownloadFile('http://127.0.0.1/1.exe', 'C:\\test-WDATP-test\\invoice.exe');Start-Process 'C:\\test-WDATP-test\\invoice.exe'
    

MacOS/Linux🔗

curl -o ~/Downloads/eicar.com.txt https://www.eicar.org/download/eicar.com.txt