コンテンツにスキップ

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

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

注意

  • Microsoft Defender XDR と {{ no such element: super_collections.SuperDict object['shortshortProdXDR'] }} のインテグレーションには、適切な Microsoft ライセンスと有効な Azure サブスクリプションが必要です。詳細は Microsoft Defender for Endpoint の最小要件 をご参照ください。
  • デバイスのテレメトリーイベント(プロセスや認証イベントなど)を受信するには、Microsoft Defender for Endpoint Plan 2 が必要です。このプランはスタンドアロンライセンス、または Microsoft 365 E5/A5/G5 などのプランに含まれています。なお、Microsoft Defender for Business プランではアラートデータのみが提供されます。詳細は Microsoft Defender for Endpoint サービスの説明 をご参照ください。
  • Microsoft Defender XDR のインテグレーションは、グローバル Azure クラウドおよび Azure Government で利用可能です。中国リージョン(21Vianet が運営)はサポートされていません。

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

  検出 Auth DNS ファイル収集 HTTP NIDS Netflow Process ファイル変更 API Call Registry Scriptblock Management Persistence Thread Injection 検出結果 テクニックの検出結果 Generic
Microsoft Defender       * * *    
* API Call、Registry、および Thread Injection は Windows デバイスのみで収集されます。

注意

Microsoft Defender Antivirus の検出イベントは antivirus スキーマに正規化されます。

その他の Microsoft Defender Antivirus イベント(スキャンライフサイクルや定義の更新など)は generic スキーマに正規化されます。

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

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

Azure Storage Account🔗

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

詳細な価格情報は Azure Blob Storage の価格 をご参照ください。

重要

Blob Storage の料金に加え、Storage Account から XDR へのデータ転送にはインターネットエグレス料金が発生します。詳細は Azure 帯域幅の価格 をご参照ください。

Azure Event Hub🔗

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

詳細な価格情報は Azure Event Hubs の価格 をご参照ください。

Microsoft Defender XDR インテグレーションの設定🔗

  1. Taegis Menu から インテグレーション > クラウドAPI を選択します。
  2. クラウドAPIインテグレーションページで、テーブル上部の インテグレーションの追加 をクリックします。
  3. 最適化タブで Microsoft Defender XDR カードをクリックします。Microsoft Defender XDR ダイアログが表示されます。

    Microsoft Defender XDR Integration Type

  4. 要件に応じて適切なインテグレーション方法を選択します。後の手順でこのダイアログに戻ります。

  5. 選択したインテグレーション方法に応じて、以下のいずれかの Terraform テンプレートをダウンロードします。

  6. アーカイブを解凍し、terraform.tfvars ファイルを Notepad や vim などのテキストエディタで開きます。

  7. 選択したインテグレーション方法に対応する下記のタブをクリックし、指示に従ってください。
  1. 以下の値をお客様の環境に合わせて変更してください。Microsoft Entra テナントIDや Azure サブスクリプションIDの確認方法については Azure ポータルでサブスクリプションIDとテナントIDを取得する をご参照ください。Azure ロケーション(リージョン)については Azure リージョン一覧 もご参照ください。

    • entra_tenant_id
    • azure_subscription_id
    • azure_location
    • blob_storage_account_name
    • queue_storage_account_name

    必要に応じて他の値も調整できますが、そのままでも問題ありません。

    注意

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

  2. Azure の設定 セクションに進んでください。

  1. 以下の値をお客様の環境に合わせて変更してください。Microsoft Entra テナントIDや Azure サブスクリプションIDの確認方法については Azure ポータルでサブスクリプションIDとテナントIDを取得する をご参照ください。Azure ロケーション(リージョン)については Azure リージョン一覧 もご参照ください。

    • entra_tenant_id
    • azure_subscription_id
    • azure_location
    • eventhub_namespace

    注意

    Azure の要件により、eventhub_namespace には英数字とハイフンのみを使用でき、6~50文字である必要があります。

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

  3. イベントレートを算出します。Microsoft Defender XDR ポータルの 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 で次のように表示されます。

    Event Rate Example

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

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

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

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

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

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

    計算機

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

    必要な   0   スループットユニット および    0   パーティション が必要です。

    重要

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

  5. 計算後、Event Hubs のティアを選択し、terraform.tfvars ファイルを編集してください。

    • 必要な TU 数が 1~32 の場合は、Standard Event Hubs ティアを使用します。
    フィールド デフォルト値 備考
    eventhub_tier Standard Standard Event Hubs ティアを使用します。
    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 Hubs ティアを使用します。
    フィールド デフォルト値 備考
    eventhub_tier Premium Premium Event Hubs ティアを使用します。
    eventhub_processing_units 1 上記 TU 計算 に基づき 1, 2, 4, 8, 16 のいずれかを選択します。1 PU は約 5~10 TU に相当します。
    eventhub_partition_count 4 上記 パーティション数 に基づき 1~100 を設定します。
    data_retention_length 1 XDR では 1 日のみ必要です。お客様の用途に応じて最大 90 日まで追加可能です。
    • 導入規模が 50,000 台を超える場合は、専用 Event Hubs クラスターの利用が必要となる場合があります。
    フィールド デフォルト値 備考
    eventhub_tier Dedicated Dedicated Event Hubs ティアを使用します。
    eventhub_partition_count 4 上記 パーティション数 に基づき 1~1024 を設定します。
    data_retention_length 1 XDR では 1 日のみ必要です。お客様の用途に応じて最大 90 日まで追加可能です。
  6. 修正した terraform.tfvars ファイルを保存し、Azure の設定 セクションに進んでください。

Azure の設定🔗

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

    Terraform Upload

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

    terraform init
    terraform plan -out taegis-defender.tfplan -var-file="terraform.tfvars"
    terraform apply taegis-defender.tfplan
    

    注意

    terraform apply コマンドを実行するユーザーには、以下の権限が必要です。

    1. Microsoft Entra ID で App Registration および Service Principal を作成する権限。これらの権限は Application Administrator などの組み込み Microsoft Entra ロールに含まれています。
    2. Azure RBAC でロール割り当てを作成する権限。この権限は OwnerUser Access Administrator などの特権 Azure RBAC ロールに含まれています。
  3. コマンドの出力結果を記録してください。以降の設定で必要となります。

Microsoft Defender の設定🔗

  1. System → Settings → Microsoft Defender XDR → Streaming API に移動し、Microsoft Defender Data Export を設定します。

    注意

    この操作には Global Administrator または Security Administrator ロールが必要です。また、Data Export を作成するアカウントは Event Hub または Storage Account サブスクリプションへのアクセス権が必要です。

  2. + 追加 を選択し、以下の通りエクスポート設定を行います。選択したインテグレーション方法に対応する下記のタブをクリックしてください。

    • 名前: Sophos-XDR-Integration-Export
    • イベントを Azure Storage に転送: チェック
    • Storage account Resource ID: Terraform の出力結果にある blob_storage_resource_id の値をコピー&ペースト

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

    • 名前: Sophos-XDR-Integration-Export
    • イベントを Event Hub に転送: チェック
    • Event Hub Resource Id: Terraform の出力結果にある eventhub_namespace_resource_id の値をコピー&ペースト

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

    • Event Hub name: Terraform の出力結果にある eventhub_name の値をコピー&ペースト(例: taegis-defender-eventhub
  3. イベントタイプAlerts & Behaviors 配下の AlertInfo および AlertEvidence、および Devices カテゴリ全体を選択します。

    Defender Event Type Selection

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

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

前述の手順で得られた Terraform の出力値を使い、XDR でインテグレーションを完了します。

  1. Microsoft Defender XDR ダイアログが表示されており、インテグレーション方法(Event Hub または Storage Account)を選択済みであることを確認し、次へ をクリックします。

    Microsoft Defender XDR Integration Type

  2. Microsoft Defender XDR インテグレーションの設定 セクションで取得した Terraform の出力値を入力します。選択したインテグレーション方法に対応する下記のタブをクリックしてください。

    以下のようにフォームを入力してください。

    • インテグレーション名 を入力(任意の文字列で可)
    • Terraform の entra_tenant_idMicrosoft Entra ID フィールドに入力
    • Terraform の queue_storage_urlQueue Storage URL フィールドに入力
    • Terraform の blob_storage_urlBlob Storage URL フィールドに入力
    • 認証タイプMicrosoft Entra ID を選択し、Application Client ID フィールドに entra_client_id を入力

    Microsoft Defender XDR Storage Account

    以下のようにフォームを入力してください。

    • インテグレーション名 を入力(任意の文字列で可)
    • Terraform の entra_tenant_idMicrosoft Entra ID フィールドに入力
    • Terraform の eventhub_namespace_hostnameEvent Hub Namespace Hostname フィールドに入力
    • Terraform の eventhub_nameEvent Hub Name フィールドに入力
    • 認証タイプMicrosoft Entra ID を選択し、Application Client ID フィールドに entra_client_id を入力

    Microsoft Defender XDR Event Hub

  3. フォーム入力が完了したら 完了 をクリックします。

Microsoft Entra ID でのフェデレーテッドクレデンシャルの設定🔗

セットアップの最終ステップは、Microsoft Entra ID でインテグレーション用のフェデレーテッドクレデンシャルを設定することです。これにより、クライアントシークレットや証明書を保存せずに認証が可能となります。このクレデンシャルは、Microsoft Entra ID でインテグレーションを表す App Registration を構成します。外部 ID プロバイダー(例: Amazon Cognito)からインテグレーションのワークロードIDに発行される OIDC トークンの信頼を確立します。

フェデレーテッドクレデンシャルの詳細は、Microsoft Entra ドキュメントの ワークロードIDフェデレーションの概念 をご参照ください。

  1. Taegis Menu の インテグレーション > クラウドAPI に移動し、新しいインテグレーション名のリンクをクリックします。フェデレーテッドクレデンシャルが未設定のため、インテグレーションが失敗を報告している場合があります。
  2. 詳細 タブをクリックし、以下のインテグレーションパラメータを記録します。

    • ClientId: Microsoft Entra ID でインテグレーションを表す App Registration の ID
    • FederatedIdentityIssuer: XDR が使用する Amazon Cognito IdP の URL
    • FederatedIdentityAudience: XDR がインテグレーションに関連付けるワークロードIDを登録するために使用する Amazon Cognito Identity Pool の ID
    • FederatedIdentitySubject: インテグレーションに関連付けられたワークロードID

    Microsoft Defender XDR Integration Parameters

  3. Azure ポータル で、前の手順で取得した ClientId パラメータを上部の検索ボックスにコピー&ペーストします。App Registration とインテグレーションに関連付けられた Service Principal の 2 つの Microsoft Entra ID 検索結果が表示されます。アプリケーション エントリを選択します。

    Microsoft Defender XDR Application Search

  4. App Registration ページで 管理 を選択し、証明書とシークレット をクリックします。

  5. + 資格情報の追加 を選択し、以下の通りフェデレーテッドクレデンシャルを設定します。

    • Federated credential scenario ドロップダウンで Other issuer を選択
    • Issuer フィールドに FederatedIdentityIssuer パラメータを入力
    • Type フィールドで Explicit subject identifier を選択
    • Value フィールドに FederatedIdentitySubject パラメータを入力
    • Name にフェデレーテッドクレデンシャルの名前を入力(任意の文字列で可)
    • Audience フィールドで 編集 をクリックし、既存の値を FederatedIdentityAudience パラメータに置き換え
    • フォーム下部の 追加 を選択

    Microsoft Defender XDR Federated Credential

フェデレーテッドクレデンシャルの設定後、数分でインテグレーションが動作を開始します。

インテグレーションの運用管理🔗

Event Hub のスケーリング🔗

Azure ポータルIncoming BytesOutgoing BytesThrottled Requests メトリクスにアラートを設定することで、Event Hub Namespace のパフォーマンスを監視できます。

以下のいずれかが発生した場合、Event Hub Namespace のスループットが上限に達しているため、TU 数を増やす必要があります。

  • Incoming Bytes メトリクスが (Number_of_TUs * 1 MB/s) に到達
  • Outgoing Bytes メトリクスが (Number_of_TUs * 2 MB/s) に到達
  • Throttled Requests メトリクスが 0 以外

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

詳細は Microsoft Azure ドキュメントの Event Hubs のスケーリング をご参照ください。

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

以下の項目を動的に変更できます。

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

Standard Event Hub のスケーリング🔗

Event Hub のスループットを増やす最初のステップは、スループットユニット数の更新です。Azure ポータルの Event Hubs Namespace ページの 設定 → スケール タブでスループットユニットを管理できます。同じスケール設定ページで 自動インフレート 値を設定し、使用状況に応じて Event Hub が自動的にスループットユニット数を増やせるようにできます。

それでも {{ no such element: super_collections.SuperDict object['shortshortProdXDR'] }} が Event Hub から十分な速度でデータを読み取れない場合は、Event Hub 自体の置き換えが必要です。

Event Hub の置き換え🔗

  1. 新しい Event Hub を作成します(古い Event Hub はまだ削除しないでください)。手順は以下の通りです。

    1. 上記のドキュメント を参照し、必要なスループット、パーティション数、Event Hub ティア(Standard、Premium、Dedicated)を計算します。
    2. Terraform アーカイブを新しいディレクトリに解凍し、Terraform パラメータの更新手順に従います。
    3. terraform.tfvars ファイルをテキストエディタで開き、新しい Event Hub 名前空間を作成するために eventhub_namespace を少し変更して入力します。同じリソースグループに新しい Event Hub を配置する場合は、existing_resource_group_name にリソースグループ名を入力します。
    4. Terraform を計画・適用して Event Hub を作成します。
  2. Microsoft Defender ポータルで Streaming API 設定を変更します。手順は以下の通りです。

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

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

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

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

  1. XDR でインテグレーションを削除します。
  2. Microsoft Defender で Streaming API 設定を削除します(System → Settings → Microsoft Defender XDR → Streaming API)。
  3. インテグレーション用に Azure リソースを作成した際の Terraform テンプレートと状態ファイルのディレクトリが残っている場合は、terraform destroy を実行してリソースを削除します。削除前に計画内容を慎重に確認してください。Terraform ディレクトリがない場合は、Storage Account または Event Hub リソースを手動で削除してください。

テストイベント🔗

以下のテストイベントを使用してインテグレーションを検証できます。

Windows🔗

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

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

    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🔗

以下を実行して EICAR テストファイル(無害な標準ファイルで、マルウェア検知のシミュレーションに使用)をダウンロードし、Microsoft Defender が脅威を検知し、インテグレーション検証用のアラートが生成されることを確認します。

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

参考資料🔗