Microsoft Sentinelでインシデント発生時のクローズとメール通知をLogic Apps使って自動化

2021-04-04Azure,Logic Apps,Sentinel

Microsoft Sentinelのプレイブック(Logic Appsのワークフロー)を利用した、処理自動化の設定手順です。
Logic Appsのワークフロー作成から、Microsoft Sentinelでのオートメーションルールの作成、インシデント発生時の動作確認までを行います。
処理の自動化では、インシデントのメール通知や、ステータスを更新しています。

※記事内では、Azure Logic App(ロジックアプリ)をLogic Appsと表記しています。
※Azure Portalの画面表記上ロジックアプリと記載があるものはロジックアプリと表記しています。
※記事内のMicrosoft Sentinelの重要度、重大度の表現は、Azure PortalやLogic Appsのワークフロー内で表示される内容に合わせています。そのため表現が混在しています。

スポンサーリンク

Microsoft Sentinelの処理を自動実行するLogic Apps ワークフローを作成

Logic Appsのリソースを作成

Logic Appsのリソースを作成します。
今回はマルチテナント(従量課金)のリソースを作成、利用しています。
Logic Appsの作成手順についてはこちらで紹介しています。

Microsoft Sentinel コネクタに含まれるトリガーとアクション

Logic Appsには、Microsoft Sentinelコネクタが用意されており、多くのトリガーやアクションが含まれています。

トリガー
アクション

組み込みのトリガーを使用することで、インシデントやアラートの発生を開始条件としてワークフローを実行できます。
また、組み込みのアクションを使用することで、インシデントの更新やエンティティに含まれる情報の取得などが可能です。

Microsoft Sentinel コネクタに含まれるトリガーとアクション
Microsoft Sentinel コネクタのトリガーです。 Microsoft Sentinelコネクタのトリガー(プレイブック(Logic Appsのワークフロー)を使ったMicrosoft Sentinelの処理自動化)
Microsoft Sentinel コネクタのアクションです。 Microsoft Sentinelコネクタのアクション(プレイブック(Logic Appsのワークフロー)を使ったMicrosoft Sentinelの処理自動化)
Microsoft Sentinelコネクタのアクション(プレイブック(Logic Appsのワークフロー)を使ったMicrosoft Sentinelの処理自動化)
Microsoft Sentinelコネクタのアクション(プレイブック(Logic Appsのワークフロー)を使ったMicrosoft Sentinelの処理自動化)
Microsoft Sentinelコネクタのアクション(プレイブック(Logic Appsのワークフロー)を使ったMicrosoft Sentinelの処理自動化)

Logic Appsのワークフローで実行するMicrosoft Sentinelの処理内容

Microsoft Sentinelで検知したインシデントの重要度に応じて、状態変更やメール送信するワークフローを作成します。
メール送信にはSendGridを利用しています。

    • 処理内容
      • インシデントの重大度が低の場合は、状態を終了に変更
      • インシデントの重大度が低以外の場合は、インシデントの内容をメール送信

※今回作成したワークフローは、手順確認用のサンプルです。
※インシデントの状態更新は、プレイブック(Logic Appsのワークフロー)を利用しなくても可能です。

Microsoft Sentinel コネクタを利用するためのロール割り当て

Logic Appsのワークフローで、Microsoft Sentinel コネクタを利用するためのロールを割り当てます。

必要なアクセス許可

Microsoft Sentinelの共同作成者を割り当てています。
Logic Appsのシステム割り当てマネージドIDに対して、ロールを割り当てています。

※Logic Appsのリソースで、システム割り当てマネージドIDを有効にしておく必要があります。

ロールの割り当て手順
Log Analytics ワークスペースのアクセス制御を選択します。
ロールの割り当ての追加を選択します。
Log Analyticsワークスペースでのロール割り当て追加(プレイブック(Logic Appsのワークフロー)を使ったMicrosoft Sentinelの処理自動化)
“Microsoft Sentinel 共同作成者"のロールを選択します。 Microsoft Sentinel 共同作成者のロールを選択(プレイブック(Logic Appsのワークフロー)を使ったMicrosoft Sentinelの処理自動化)

アクセスの割り当て先に、"マネージドID"を選択します。
メンバーを選択します。
作成したLogic Appsのリソースを選択します。

Logic Appsのシステム割り当てマネージドIDを指定(プレイブック(Logic Appsのワークフロー)を使ったMicrosoft Sentinelの処理自動化)
Logic Appsのシステム割り当てマネージドIDを指定(プレイブック(Logic Appsのワークフロー)を使ったMicrosoft Sentinelの処理自動化)
レビューと割り当てを選択します。 Log Analyticsワークスペースで、Logic Appsのシステム割り当てマネージドIDにMicrosoft Sentinel共同作成者のロールを割り当て(プレイブック(Logic Appsのワークフロー)を使ったMicrosoft Sentinelの処理自動化)

Microsoft Sentinelのインシデント発生で起動するトリガーを作成

Microsoft Sentinelでインシデントが発生した際に実行するトリガーを作成します。

トリガーを英語で作成しないと、Microsoft Sentinelのプレイブックとして指定できない場合があります。
そのような場合は、Azure Portalを英語表記にしてトリガーを作成します。

Microsoft Sentinelのトリガー作成手順
ロジックアプリデザイナーで、トリガーの追加を選択します。
Microsoft Sentinelコネクタで、"Microsoft Sentinelのインシデント"のトリガーを選択します。
【日本語表記の場合】Logic Apps ワークフローのトリガーにMicrosoft Sentinelのインシデントを選択(プレイブックを使ったMicrosoft Sentinelの処理自動化)
【英語表記の場合】Logic Apps ワークフローのトリガーにMicrosoft Sentinelのインシデントを選択(英語版)(プレイブックを使ったMicrosoft Sentinelの処理自動化)
API 接続作成の画面が表示されます。
“認証"は、"Managed identity"を選択します。
“Managed identity"は、"システム割り当てマネージドID"を選択します。
接続名を設定し、接続を作成します。
Microsoft Sentinelのインシデント トリガーの接続を作成(プレイブックを使ったMicrosoft Sentinelの処理自動化)
Microsoft Sentinelのインシデント トリガーの接続が完了(プレイブックを使ったMicrosoft Sentinelの処理自動化)

インシデントの重要度で条件分岐するアクションを追加

インシデントの重要度を判断するための条件分岐を追加します。
Microsoft Sentinelの重要度がLowの場合にTrue、それ以外の場合にFalseとなるように設定しています。

条件分岐のアクションを追加
Controlコネクタで、"Condition"のアクションを選択します。 ControlコネクタのCondition アクションを選択(プレイブックを使ったMicrosoft Sentinelの処理自動化)
条件設定です。
“インシデントの重要度"が"Low"の場合は、"True"となるように設定しています。
Condition アクションでインシデントの重要度による条件分岐を設定(プレイブックを使ったMicrosoft Sentinelの処理自動化)
Condition アクション設定後画面(プレイブックを使ったMicrosoft Sentinelの処理自動化)

インシデントの状態を更新するアクションを作成

Microsoft Sentinelコネクタには、インシデントを更新するアクションが用意されています。
インシデントの状態を更新し、終了に変更します。

インシデントの状態を更新
Microsoft Sentinelコネクタで、"インシデントを更新"のアクションを選択します。 Microsoft Sentinelコネクタのインシデントを更新アクションを選択(プレイブックを使ったMicrosoft Sentinelの処理自動化)

更新するインシデントの設定項目を設定します。
“状態"を"Closed"としています。
“Classification Reason"は、"BenignPositive – SuspiciousButExpected"を選択しています。

※"インシデントを更新"のアクションは、条件分岐でTrueの場合に追加しています。

インシデントを更新アクションの設定(プレイブックを使ったMicrosoft Sentinelの処理自動化)
インシデントを更新アクション設定後のLogic Appsワークフロー(プレイブックを使ったMicrosoft Sentinelの処理自動化)

インシデントをメール通知するアクションを作成

Microsoft Sentinelのインシデントを通知するためのアクションを作成します。
SendGridを利用してメールを送信します。

Logic Appsのワークフローから、SendGrid使ってメール送信する手順についてはこちらにまとめています。

SendGrid経由でMicrosoft Sentinelのインシデントを通知
SendGridのコネクタで、"メールの送信(V4)"のアクション選択します。 SendGridコネクタのメールの送信アクションを選択(プレイブックを使ったMicrosoft Sentinelの処理自動化)

SendGridへのAPI 接続を作成します。

SendGridコネクタの接続を作成(プレイブックを使ったMicrosoft Sentinelの処理自動化)
メール本文に表示したいMicrosoft Sentinel incidentのトリガーの項目を設定します。
通知したい内容に合わせて、メールの本文を設定します。
メールの送信アクションの設定(プレイブックを使ったMicrosoft Sentinelの処理自動化)

完成したワークフロー

完成したLogic Appsのワークフローです。
Microsoft Sentinelで検知したインシデントの重大度に応じて条件分岐しています。
インシデントの重大度が低の場合は、インシデントを更新のアクションで、状態を終了に変更しています。
インシデントの重大度が低以外の場合は、SendGridのメール送信アクションで、インシデントの内容をメールで送信しています。

今回作成したLogic Appsのワークフロー
完成したLogic Appsのワークフローです。 完成したLogic Apps ワークフロー(プレイブックを使ったMicrosoft Sentinelの処理自動化)

—広告—

Microsoft Sentinelのオートメーション設定からインシデント発生時の処理自動化の確認

Microsoft SentinelでLogic Appsのワークフローを実行するためのロール割り当て

Microsoft SentinelからLogic Appsのワークフローを実行するためのロールを割り当てます。

Microsoft Sentinel プレイブックを自動化して実行する

ロールの割り当て

オートメーションでアクセス許可の構成を選択します。
実行するLogic Appsのワークフローが含まれるリソースグループを選択します。
適用を選択します。

適用したリソースグループでロールの割り当てを確認します。
Azure Security Insightsに対して、Microsoft Sentinel Automation 共同作成者のロールが割り当てられています。

※プレイブックのアクセス許可設定は、構成の設定にもあります。

Microsoft Sentinelにプレイブックを実行するアクセス許可を構成する(プレイブックを使ったMicrosoft Sentinelの処理自動化)
Microsoft Sentinelにプレイブックを実行するアクセス許可を構成する(プレイブックを使ったMicrosoft Sentinelの処理自動化)
Microsoft Sentinelでプレイブックへのアクセス構成後のロール割り当て状況(プレイブックを使ったMicrosoft Sentinelの処理自動化)

オートメーション ルールを作成

Microsoft Sentinelでインシデントが発生した際に処理を実行する場合は、オートメーション ルールを設定します。

Microsoft Sentinel オートメーション ルールを作成および使用して対応を管理する

オートメーション ルールでは、自動化処理を実行するための条件とアクションを定義します。
Triggerで起動条件、Conditionsで実行条件、Actionsで実行する処理内容を指定します。

Microsoft Sentinel の自動化ルールに高度な条件を追加する

実行条件では、インシデントやエンティティのプロパティに基づいて合致する条件を設定できます。
Logic Appsのワークフローを呼び出す場合は、ActionsでRun Playbookを選択します。

今回の例では、Analytic rule nameが"Creation of expensive computes in Azure"と一致するインシデントが起票された場合に、logic-sentinel-01のLogic Appsのワークフローを実行するように設定しています。
分析ルールは、こちらの記事で作成したものを利用しています。

オートメーション ルールの作成手順
構成にあるオートメーションを選択します。
作成でオートメーション ルールを選択します。
Triggerは、"When incident is created"を選択します。
Analytic rule namの条件として、"Creation of expensive computes in Azure"を選択します。
Actionsには、作成したLogic Appsのワークフローを選択します。
Microsoft Sentinelでオートメーションルールを設定(プレイブックを使ったMicrosoft Sentinelの処理自動化)
オートメーションルールのTrigger選択肢(プレイブックを使ったMicrosoft Sentinelの処理自動化)
オートメーションルールのCondition選択肢(プレイブックを使ったMicrosoft Sentinelの処理自動化)
オートメーションルールのActions選択肢(プレイブックを使ったMicrosoft Sentinelの処理自動化)
オートメーションルールが作成されます。
分析ルールにも、オートメーションルールが設定されています。
オートメーションルールの一覧表示例(プレイブックを使ったMicrosoft Sentinelの処理自動化)
分析ルールのオートメーションルール設定状況(プレイブックを使ったMicrosoft Sentinelの処理自動化)

プレイブックを実行してインシデントの内容をメール通知

インシデントからプレイブックを手動で実行し、自動処理が実行されることを確認できます。
重大度が中の場合は、インシデントの内容がメールで通知されます。

※今回はテスト用に、手動でインシデントの重大度を低から中に変更しています。

インシデントを発生させて確認
インシデントでプレイブックの実行を選択します。 Microsoft Sentinelのインシデントでプレイブックを実行(プレイブックを使ったMicrosoft Sentinelの処理自動化)
実行するLogic Appsのワークフローが表示されます。
実行を選択します。
Microsoft Sentinelのインシデントでプレイブックを実行(プレイブックを使ったMicrosoft Sentinelの処理自動化)
インシデントの内容をメールで受信できることが確認できます。
Logic Appsのワークフローも正常に終了していることが確認できます。
Microsoft Sentinelのプレイブック実行後のインシデント内容通知メール(プレイブックを使ったMicrosoft Sentinelの処理自動化)
Microsoft Sentinelのプレイブック起動後のLogic Appsワークフロー実行結果(プレイブックを使ったMicrosoft Sentinelの処理自動化)

プレイブックを実行してインシデントの状態を更新

インシデントからプレイブックを手動で実行し、自動処理が実行されることを確認できます。
重大度が低の場合は、インシデントの状態を終了に更新します。

インシデントを発生させて確認
インシデントでプレイブックの実行を選択します。 Microsoft Sentinelのインシデントでプレイブックを実行(プレイブックを使ったMicrosoft Sentinelの処理自動化)
実行するLogic Appsのワークフローが表示されます。
実行を選択します。
Microsoft Sentinelのインシデントでプレイブックを実行(プレイブックを使ったMicrosoft Sentinelの処理自動化)
インシデントの状態が終了に更新されていることが確認できます。
Logic Appsのワークフローも正常に終了していることが確認できます。
Microsoft Sentinelのプレイブック実行後のインシデント更新状況(プレイブックを使ったMicrosoft Sentinelの処理自動化)
Microsoft Sentinelのプレイブック起動後のLogic Appsワークフロー実行結果(プレイブックを使ったMicrosoft Sentinelの処理自動化)

—広告—

最後に

Microsoft Sentinelでインシデントが発生した場合に、Logic Appsのワークフローを使って処理を自動化する手順を確認しました。
今回は、基本的な手順の確認でしたが、検知から処理まで自動化できるのはとても便利かと思いました。

引き続き、いろいろなことを試してみたいと思います。

Microsoft Sentinelの設定手順はこちらで紹介しています。
Microsoft Sentinelの有効化から、分析ルールの作成、インシデントの発生までを確認しています。

 

スポンサーリンク