Splunk Add-on for Microsoft Security
はじめに
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 アクセス許可はこちらに記載されています。
今回はインシデントの読み取りと 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 インスタンスが作成されます。
設定に問題なければ、以下のように 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
Discussion