Microsoft Sentinel を用いて、インシデントをメール通知させる（O365コネクタ）

# 1. はじめに
Microsoft Sentinel を用いて、インシデント検知時にメール通知を行う自動設定を試したのでメモ。

# 2. 構成図
本構成のシステム構成図を紹介します。
目的は Microsoft Sentinel を運用監視する際に、高インシデントが発生したタイミングで外部にEメール通知を行うことを想定しています。
Microsoft Defender for Cloud は Microsoft Sentinel に対する脅威アラート生成として、今回はサンプルアラート機能を用いて検証を行っています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653790/86529001-2840-5fe2-d1a0-913eae63077c.png)

Azure 環境では、電子メールの外部通知の仕組みとして SendGrid を使うか、AAD に接続されている Office 365 を使うかの2パターンが有ります。本ケースは、Microsoft Sentinel のテンプレートとして用意されている Office 365 を用いた方法で試してみます。

# 3. 設定方法
-  Microsoft Sentinel より、オートメーション機能から「プレイブックテンプレート」を選択し、電子メール送信用のテンプレートを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653790/b80720f9-89c1-e4f8-8c7a-d59cc69a9e16.png)

- Microsoft Sentinel では、電子メール送信テンプレートとして二つのパッケージが用意されています。
    - どちらも HTML ベースの電子メールテンプレートなので、お好みでカスタマイズし易いものを選択しましょう。
    - 双方のテンプレートとも、Logic Apps を用いて、O365 コネクタを通じてメールが発砲されます。

|カスタムテンプレート名|基本的な電子メールの送信|書式設定されたインシデントレポートを含む電子メールの送信|
| ----------- | ------- | ------- |
| Logic App 名 |Send-basic-email|Send-email-with-formatted-incident-report|
| 書式 | HTML | HTML |
| メール例 |![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653790/e8fd0f4a-75c7-0e62-cf4c-21d5ce08b022.png)|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653790/46f06182-1a6f-834e-1a05-48913bcc42bf.png)|

-  ロジックアプリにて、「**Send-basic-email**」、「**Send-email-with-formatted-incident-report**」のいずれが作成されたことを確認します。
    -  テンプレート導入直後は、Office 365 への認証が成立していないため、デザイナー画面を開いてコネクタの接続設定を行います。
    -  ここで接続するAzure Active Directory 認証のユーザーIDが送信元のメールアドレスになります。
    -  無事接続ができると、最終ステップが展開出来て、通知できるメール設定の内容を確認することができます。
        -  「**Send-basic-email**」では、HTML 形式のメールを用いて、前段のステップで正規化されたデータを用いた通知が行われていることが分かります。
        -   ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653790/616382f1-b46b-2992-ff08-e1959288c469.png)

    -  「**Send-email-with-formatted-incident-report**」では、前段のステップで "Compose Email response" ステップにて、HTML E-mail の BODY 部分を作成していることが分かります。
        -  和訳したり、サイズやリンク先を変更する場合は、本内容を更新しましょう
    -  ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653790/b930e23e-234d-0067-234b-e0a724ba1e8c.png)
-    Microsoft Sentinel に戻り、「オートメーション ルール」の作成を行います。
    -  プレイブックの実行で権限がない場合は、Sentinel の実行権限が無い表示が出ますが、その際に直下に表示される「編集」設定を実施することで、Sentinel の実行権限を直接付与して進めることも出来ます。
    -  ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653790/229e0b92-de7a-0423-c541-e1a6520b21f0.png)
    -  ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653790/7e4fab6a-a86f-c5da-4b0f-7ed5bab4b600.png)

# 4. 試してみる ～ 動作確認
今回は Microsoft Sentinel のアラート通知のため、Microsoft Defender for Cloud のサンプルアラート機能を用いました。
Microsoft Defender for Cloud では、IaaS/PaaS 環境に対する保護として Microsoft Defender シリーズの構成、導入を行える機能（CWPP - Cloud Workload Protection Platform）があり、サンプルアラートを生成する機能があります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653790/02ca9c2c-10e3-e174-e77c-79ee878e07b6.png)

- 本機能を用いてサンプルアラートを生成すると、Microsoft Defender for Cloud からは、「セキュリティ警告」にサンプルのイベントが生成されます。
    - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653790/6ab5c8dc-cb65-f288-6891-89f2ab6672ef.png)
- Microsoft Sentinel 側でコネクターを有効にしておくと、Microsoft Sentinel 側でも脅威イベントのイベントをインシデントとして検知することが出来ます。
    - Sentinel を活用することで、IPアドレスやホスト名といった脅威アクターを識別し、エンティティとして他のインシデントと関連付けて調査することが出来るようになります。
    - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653790/9d45fc05-bd41-ab96-ae12-3377d50e791a.png)
- Microsoft Defender のアラートが電子メールで通知されているかどうか、確認します。
    - Logic App 側で動作が成功し、Office 365 コネクタ経由でメール送信が行われると、Logic App 側の履歴で "成功" が確認され、メールが飛んできます。
    - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653790/ef6554b0-5ae1-1ecd-8120-40dd98c276e7.png)
    - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653790/46f06182-1a6f-834e-1a05-48913bcc42bf.png)

# 6. 注意事項など
検証した環境では、個々のイベント（今回の1インシデント）に対して、およそ数秒の処理時間がかかることが確認できました。
インシデントの通知が大量に発生する環境では、イベントの遅延やリソース課金などの影響も考えられるため、今回のような通知に対する閾値を考慮した運用通知設計を考えて頂くのが良いのではないかと思います。

# 7. まとめ
以上、Microsoft Sentinel のセキュリティインシデントを Microsoft Teamsに通知する設定例でした。
どなたかの参考になれば幸いです。

＊本稿は、個人の見解に基づいた内容であり、所属する会社の公式見解ではありません。また、いかなる保証を与えるものでもありません。正式な情報は、各製品の販売元にご確認ください。