はじめに
- はっきり言って、Microsoftのサービス名、サービス内容を把握できていないし、完全に理解する気力も基礎知識もない
- が、Azure Active Directoryというサービスに絞って、そこの監査ログとサインインログを集めてセキュリティ監視をはじめたい
- そのための取込に苦労した点をまとめて備忘録として残しました。
構成情報
- Splunkサイド
- 利用App:
- Microsoft Azure Add on for Splunk
- Ver 2.0.2
- 利用App:
- Azure Active Directoryサイド
- 利用サブスクリプション:
- Pay-As-You-Go subscription
- Azure AD Premium license P1
- 利用サブスクリプション:
手順概要
- Splunk Add-onのインストール
- Azure ADサイドの設定
- Splunk Add-onの設定
- 届いたログの検索チェック
手順詳細
1. Splunk Add-onのインストール
- SplunkにApp(Microsoft Azure Add on for Splunk)をインストール
- Appを開き、[ドキュメント] - [Setup Overview]を開く
- 取り込む仕組みとして2種類の方法があります。
- Basic Input
- Event Hub
- 今回はBasic Inputでの手順を紹介します。理由はBasic Inputで取り込んだほうがCIM(Authentication)にもマップされたsourcetype="azure:aad:signin"が用意されているので分析しやすい。
- 取り込む仕組みとして2種類の方法があります。
- ここでは「Reader(閲覧者)」のRoleをもったサブスクリプションが必要といっていますが、これは監査ログの場合です。sign-inログまで取る場合は合わせて**「Security Reader(セキュリティ閲覧者)」**が必須です。
- なぜ必須か?
-
- こちらにもSecurity Readerと書かれています
- なぜ必須か?
-
[ドキュメント] - [Setup an Azure AD Application Registration]を開く
-
ここから 2. Azure ADサイドの設定に進みます
2. Azure ADサイドの設定
-
Certificatesの作成(New Client Secret)
-
(まだ無ければ)Azure AD P1 or P2を有効化
- なぜ必要?以下をチェック
-
Azure AD audit log API overview
-
Azure AD側の設定は以上で、以下の情報を控えておいてSplunkのapp設定に進みます
-
Application (client) ID
- 作成したAppのOverviewメニューにて確認可能
-
Client Secret
- Certificate作成時にメモしたものを利用
-
Directory (tenant) ID
- 作成したAppのOverviewメニューにて確認可能
-
Application (client) ID
3. Splunk Add-onの設定
-
Microsoft Azure Add-on for SplunkのAppを開く
4. 届いたログの検索チェック
Auditログ
- ざっとサマるとこんなtable情報が出せる。いわゆるAzureADの操作レコードのようなもの。ユーザ登録とか更新したとか。
Sign-Inログ
- ざっとサマるとこんなtable情報が出せる。ログイン認証行為の成功、失敗が記録されていることがわかります
-
つまりinfoSec App for SplunkのAll AuthenticationsダッシュボードやEnterprise Securityですぐに集計が可能ということ
まとめ
-
Azure ADを使った認証アクティビティ(成功、失敗)を監視するならこのAdd-Onを使うべし
-
他のOffice365系のAppはAzure AuditログはあくまでOffice365サービスへの操作履歴を残す監査ログの位置づけです。
Azure AD Add-onのサインインログまで取得したデータ(sourcetype=azure:aad:signin)
Splunk Add-on for Microsoft Office 365の監査ログ(sourcetype=o365:management:activity)
"syokota"でログイン試行した際の結果を見比べていただくと分かると思いますが、sourcetype=o365:management:activityではログイン試行の“失敗イベント”まで取れていないことが、差として現れています。