1. はじめに
お客様からのご要望で、Microsoft Defender for Cloud の推奨事項(Recommendations)を通知したいといったニーズが多かったので、Microsoft Sentinel の分析ルールを用いて特定の推奨事項だけをインシデント/アラートするパッケージを作ってみました。
2. パッケージについて
パッケージは Github で公開しています。
ReadMe も入れていますので、手っ取り早く導入してみたい!という方はこちらをご参照下さい。
3. 構成図
構成図としては次のような接続構成になります。
- Microsoft Defender for Cloud 側からは、連続エクスポート(Continuous Export)を設定して、Microsoft Sentinel の Log Analytics ワークスペースにログを送ります。
- Microsoft Sentinel 側では、分析ルールを用いて連続エクスポートのテーブル情報から
Unhealthy
と判定した推奨事項非準拠のイベントを検知して、インシデントを作成します。
なお、お客様のご要望もあり、以下のようなカスタマイズも加えてみました。
-
「特定の」推奨事項のみ、アラート化する
- Sentinel のウォッチリスト機能を利用して、特定の推奨事項名にマッチしたものだけをアラートに出すようにしています。
- 全ての非準拠をインシデント作成するとノイズが大量に発生するため、Microsoft Defender for Cloud を運用している中で、特定の推奨事項だけを抽出した方が良い、とのお客様の声がありました。
-
サブスクリプションの名前をインシデントに表示させる
- Microsoft Defender for Cloud から出力する連続エクスポートでは、サブスクリプションの ID が含まれていますが、ID 情報だけを見てもどこのサブスクリプションなのか分からない、との声がありました。
- こちらもウォッチリスト機能を用いて、Sentinel 側で登録したサブスクリプションの名前を通知するようにカスタマイズで設定しています。
4. アラート画面例
Microsoft Sentinel のインシデント画面例です。
インシデントアラートの通知は、推奨事項の名前 + サブスクリプションの名前が表示されるようにしました。
インシデントの詳細画面では、説明の箇所にクエリーで引っ張ってきた日時、サブスクリプションID、リソースIDなどを表示しています。Entity 情報はリソースIDをマッピングすることで、対象リソースを可視化できるようにしてみました。
5. 導入方法
導入方法は、Microsoft Sentinel 分析ルールのインポート機能で導入できるようにしています。
ARM テンプレートを Github に公開していますので、対象の JSON ファイルをインポートしてください。
6. [カスタマイズ] ウォッチリストの作成
ウォッチリストで推奨事項やサブスクリプション名を表示させたい場合、別途 Microsoft Sentinel 側でウォッチリストの作成が必要になります。
こちらのパッケージでは 2 つのウォッチリストを用いています。詳細は GitHub の Readme をご参照下さい。
Watchlist name | 説明 |
---|---|
ASC_Reco | 検知する推奨事項を絞り込むためのウォッチリスト |
testwatchlist | サブスクリプションの ID を任意の名前に変換させるためのウォッチリスト |
|
2つのウォッチリストを作成し、GitHub に記載した CSV ファイルをアップロードして自由にカスタマイズしていただければと思います。
以下は推奨事項のCSVファイルの例です。
7. まとめ
幾つかのお客様で、標準では提供されていない・・・とのお声があり、サンプルとして作ってみました。本記事がどなたかの参考になれば幸いです。
*本稿は、個人の見解に基づいた内容であり、所属する会社の公式見解ではありません。また、いかなる保証を与えるものでもありません。正式な情報は、各製品の販売元にご確認ください。