Microsoft Defender for Cloudの規制コンプライアンス「Microsoft cloud security benchmark」には、多くの推奨事項があります。
特定の推奨事項のみ、違反した場合に検知して通知する仕組みを試したので書き残します。
対象の推奨事項
- 今回は以下の推奨事項に違反したとき通知するように設定します
- 仮想マシンで3389や22ポートをInternet向けに全開放したとき違反となる項目です
Logic Apps作成
-
Logic Appsを従量課金プランで作成します
-
作成後に「When a Microsoft Defender for Cloud recommendation is created or triggered」トリガーを作成します
-
次にアクションとして「office 365 outlook」の「メールの送信(V2)」を選択し、メール送信先情報など入力します
-
ここはSlack通知など色々カスタマイズ可能です
Microsoft Defender for Cloudワークフローの自動化
-
Azure PortalよりMicrosoft Defender for Cloudを選択し、[管理]→[ワークフローの自動化]の順に選択します
-
今回は[ご使用の仮想マシンに関連付けられたネットワークセキュリティグループでは、すべてのネットワークポートを制限する必要があります]を選択します(複数選択可能です)
-
Logic Appsのトリガー設定でDefender for Cloudのトリガーを設定していない場合、[トリガー不可]と表示されるため注意が必要です
テスト
- 一時的に異常な状態を作り出してテストしてみます
- 今回の例だとVM停止状態でも検知するので、「VM作成→停止→22ポートを全解放させたNSGをアタッチ」の順で異常状態を作り出します
- しばらく待って検知し、メールが飛べば成功です
- 更新の間隔は24時間なのでどのタイミングで検知されるかは分かりません(一応24時間といいつつ何度か更新されているような動きには見えました)
手動テスト
-
Logic Appsの動作を手動でテストすることもできます
-
事前に作成したLogic Appsが一覧表示されるので、選択して実行します
- この推奨事項が検知されたときのトリガーとしてLogic Appsが実行されるため、メール通知内容などテストすることが可能です
メール通知結果
注意事項
- この通知設定をしたあとに状態遷移したリソースが通知されます。設定前から異常だったリソースは通知されないので注意ください
以上です