🌳

Splunk Add-on for Microsoft Security

2025/01/06に公開

はじめに

Microsoft では SIEM 製品として Sentinel を提供しており、Microsoft 製品を利用している場合、数回のクリックでログの連携を開始できる仕組みが整っています。一方で、Splunk も主要な SIEM 製品の 1 つとされており、Microsoft 製品との連携を求める声が多い印象です。
Sentinel での連携と異なり、Splunk と連携する際には App や Add-on のセットアップ時にいくつか事前準備が必要になります。そこで今回は、Splunk Add-on for Microsoft Security の設定手順について確認していきます。

設定確認

今回は Defender XDR のインシデントとログを取得します。インシデントは Microsoft Graph API 経由、ログは Event Hub 経由です。これらの API を実行するために Entra ID アプリケーションを利用します。Entra ID アプリケーションの API アクセス許可はこちらに記載されています。
https://splunk.github.io/splunk-add-on-for-microsoft-365-defender/Configurepermissions/

今回はインシデントの読み取りと Event Hub からのログの取得を行いますので、以下 2 つが該当です。

末尾に注意書きがありますが、今回は Graph API を使用しますので、SecurityIncident.Read.All を付与します。

設定手順

Entra ID アプリの登録

Entra ID アプリケーションを登録します。

Entra ID から [アプリの登録] > [新規登録] をクリックします。


適当な名前を入力し [登録] をクリックします。


作成したアプリのページが開くので、[証明書とシークレット] > [新しいクライアント シークレット] をクリックします。


説明 (名称) と有効期限を設定し、[追加] をクリックします。


シークレット (パスワードに相当) が表示されるので [値] をコピーして保存します。
※ 再表示はできないため要注意


[概要]ページに戻り、アプリケーション (クライアント) ID と ディレクトリ (テナント) ID をコピーし保存します。

API アクセス許可の追加

次に Graph API からインシデント情報を取得するために作成したアプリケーションにアクセス許可を付与します。

[API のアクセス許可] > [アクセス許可の追加] をクリックします。


[Microsoft Graph] をクリックします。


[アプリケーションの許可] をクリックし、Insident で検索、SecurityIncident.Read.All にチェックを入れ、[アクセス許可の追加] をクリックします。


[<テナント名> に管理者の同意を与えます] をクリックし、確認で [はい] をクリックします。


Event Hub へのアクセス許可の追加

Event Hub からログを取得するため、Azure ロールを作成したアプリケーションに付与します。

Event Hub があるサブスクリプションを開き、[アクセス制御(IAM)] > [追加] > [ロールの割り当ての追加] をクリックします。


Event Hub で検索し、[Azure Event Hubs のデータ受信者] を選択し、[次へ] をクリックします。


[+メンバーを選択する] をクリックし、さきほど作成したアプリケーションを選択します。


[レビューと割り当て] をクリックします。

Defender XDR ログを Event Hub へ連携

Defender XDR のログを Event Hub へ連携するための設定を行います。

Defender XDR ポータルから [設定] > [Microsoft Defender XDR] をクリックします。


[ストリーミング API] から [追加] をクリックします。


Event Hub のリソース ID などを入力し、保存します。

リソース ID は Event Hub 名前空間のリソース ID を設定します。Event-Hub name は Event Hub のインスタンス名を入力します。未作成の場合は指定した名称で新規インスタンスがされ、未指定の場合には選択したカテゴリごとに Event Hub インスタンスが作成されます。
https://learn.microsoft.com/ja-jp/defender-endpoint/api/raw-data-export-event-hub

設定に問題なければ、以下のように Event Hub のメトリックの Incoming Message で確認可能です。

Splunk Add-on for Microsoft Security の設定

最後に Splunk 側を設定します。

Apps の [Configuration] タブ > [Account] タブから [Add] をクリックします。


Account Name は任意の名前を記入し、Client ID 以降は Entra ID アプリ作成時にコピーした内容を入力します。


[Inputs] タブに切り替えて、[Create New Input] をクリック、[Microsoft 365 Defender Incidents] をクリックします。


適当な名前を指定し、さきほど作成した Azure App Account を選択、Environment で [Commercial & GCC - Graph API] を選択、Interval を指定し [Add] をクリックします。


もう一度 [Create New Input] をクリック、[Microsoft Defender Event Hub] をクリックします。


適当な名前を指定し、さきほど作成した Azure App Account を選択します。他は以下のように設定します。

設定名 設定内容
Event Hub Namespace (FQDN) <リソース名>.servicebus.windows.net 形式で指定
Event Hub Name Defender XDR ポータルで設定した Event Hub 名を指定
Consumer Group 指定していなければそのまま $Default を指定

動作確認

Graph API で取得したインシデント情報は sourcetype="ms365:defender:incident" で検索します。


Graph API で取得したアラート情報は sourcetype="ms365:defender:incident:alerts" で検索します。


Event Hub 経由で取得したログは sourcetype="ms:defender:eventhub" で検索します。

まとめ

今回は、Defender XDR のインシデントとログを Splunk に取得するために、Entra ID アプリケーションの登録、API アクセス許可の追加、Event Hub の設定を説明しました。また、Splunk 側でのアカウント作成やデータ取得の設定方法についても解説しています。Splunk を用いて Microsoft 製品と連携を行う際のガイドとして、ぜひご活用ください。

参考

Splunk Add-on ページ: https://splunkbase.splunk.com/app/6207
設定ガイド: https://splunk.github.io/splunk-add-on-for-microsoft-365-defender/Configure/
Entra ID アプリケーションの作成とロールの付与: https://lantern.splunk.com/Data_Descriptors/Microsoft/Getting_started_with_Microsoft_Azure_Event_Hub_data

Microsoft (有志)

Discussion