Azure Sentinel のプレイブックを使用して脅威への対応を自動化する

この記事では、Azure Sentinel プレイブックの概要と、それを使ってセキュリティ オーケストレーション、自動化、および対応 (SOAR: Security Orchestration, Automation and Response) 操作を実装し、時間とリソースを節約しながらより良い結果を実現する方法について説明します。

プレイブックとは

通常、SIEM または SOC チームには、セキュリティ アラートやインシデントが日常的に押し寄せています。その量のあまりの多さに、対応するスタッフは圧倒されています。 この結果、多くのアラートが無視され、多くのインシデントが調査されず、気付かずに行われる攻撃に対して組織は脆弱な状態のままになっていることが非常によくあります。

これらのアラートのほとんどではないにしても多くは、定義された特定の修復アクションで対処できる、繰り返し起こるパターンに従っています。

プレイブックは、Azure Sentinel からルーチンとして実行できるこれらの修復アクションのコレクションです。 プレイブックは、脅威への対応を自動化および調整するのに役立ちます。特定のアラートまたはインシデントが、分析ルールまたは自動化ルールによってそれぞれトリガーされたときに、これらに対応して手動で実行することも、自動的に実行するように設定することもできます。

たとえば、アカウントとマシンが侵害された場合、SOC チームにインシデントが通知されるまで、プレイブックでマシンをネットワークから分離し、アカウントをブロックすることができます。

プレイブックはサブスクリプション レベルで作成および適用されますが、プレイブック タブ (新しい オートメーション ブレードにある) には、選択したすべてのサブスクリプションで利用可能なすべてのプレイブックが表示されます。

Azure Logic Apps の基本概念

Azure Sentinel のプレイブックは、エンタープライズ全体のシステムでタスクとワークフローをスケジュール、自動化、および調整するのに役立つクラウド サービスである Azure Logic Apps で作成されたワークフローに基づいています。 つまり、プレイブックでは Logic Apps の組み込みテンプレートにあるすべての機能とカスタマイズ性を活用できます。

注意

Azure Logic Apps は別個のリソースのため、追加料金が適用される場合があります。 詳細については、Azure Logic Apps の価格ページを参照してください。

Azure Logic Apps は、コネクタを使用して他のシステムやサービスと通信します。 コネクタといくつかの重要な属性に関する簡単な説明を次に示します。

  • マネージド コネクタ: 特定の製品またはサービスに対する API 呼び出しに関連する一連のアクションとトリガー。 Azure Logic Apps では、Microsoft と Microsoft 以外の両方のサービスと通信するための多数のコネクタが提供されています。

  • カスタム コネクタ: 事前構築コネクタとして使用できないサービスと通信する必要がある場合があります。 カスタム コネクタは、ユーザーがコネクタを作成 (および共有) し、独自のトリガーとアクションを定義するのを許可することで、このニーズに対応しています。

  • Azure Sentinel コネクタ: Azure Sentinel と対話するプレイブックを作成するには、Azure Sentinel コネクタを使用します。

  • トリガー: プレイブックを開始するコネクタ コンポーネント。 これには、トリガーされたときにプレイブックで受信されることが想定されているスキーマが定義されています。 現在、Azure Sentinel コネクタには次の 2 つのトリガーがあります。

    • アラート トリガー: プレイブックでは、アラートを入力として受け取ります。

    • インシデント トリガー: プレイブックでは、含まれているすべてのアラートとエンティティと共に、インシデントを入力として受け取ります。

      重要

      • プレイブックの インシデント トリガー 機能は、現在、プレビュー 段階です。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用されるその他の法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。
  • アクション: アクションは、トリガー後に発生するすべてのステップです。 それらは並列に、または複合条件のマトリックスに、連続的に配列できます。

  • 動的フィールド: トリガーとアクションの出力スキーマによって決定され、実際の出力によって設定される一時フィールド。これは、その後のアクションで使用できます。

必要なアクセス許可

SecOps チームが Azure Sentinel でセキュリティ オーケストレーション、自動化、および対応 (SOAR) 操作を使用 (つまりプレイブックを作成して実行) できるようにするには、セキュリティ運用チームの特定のメンバーまたはチーム全体に Azure ロールを割り当てることができます。 次に、使用可能なさまざまなロールと、それらを割り当てる必要があるタスクについて説明します。

Logic Apps 用の Azure ロール

  • ロジック アプリの共同作成者 を使用すると、ロジック アプリを管理し、プレイブックを実行できます。ただし、それらへのアクセスを変更することはできません (そのためには、所有者 ロールが必要です)。
  • ロジック アプリのオペレーター を使用すると、ロジック アプリの読み取り、有効化、無効化を行うことができます。ただし、編集および更新はできません。

Sentinel 用の Azure ロール

  • Azure Sentinel 共同作成者 ロールを使用すると、プレイブックを分析ルールにアタッチできます。
  • Azure Sentinel レスポンダー ロールを使用すると、プレイブックを手動で実行できます。
  • Azure Sentinel Automation 共同作成者 を使用すると、自動化ルールでプレイブックを実行できます。 他の目的では使用できません。

詳細情報

プレイブックの作成手順

プレイブックのユース ケース

Azure Logic Apps プラットフォームでは何百ものアクションとトリガーが提供されているため、ほとんどすべての自動化シナリオを作成できます。 Azure Sentinel では、次の SOC シナリオから開始することを推奨しています。

エンリッチメント

データを収集し、よりスマートな意思決定を行うためにインシデントにアタッチします。

次に例を示します。

Azure Sentinel インシデントが、IP アドレス エンティティを生成する分析ルールによってアラートから作成されました。

このインシデントによって、次の手順でプレイブックを実行する自動化ルールがトリガーされます。

  • 新しい Azure Sentinel インシデントが作成されたときに開始します。 インシデントで表されるエンティティが、インシデント トリガーの動的フィールドに格納されます。

  • 各 IP アドレスについて、外部の脅威インテリジェンス プロバイダー (Virus Total など) に対してクエリを実行し、さらに多くのデータを取得します。

  • 返されたデータと分析情報をインシデントのコメントとして追加します。

双方向の同期

プレイブックを使用して、Azure Sentinel インシデントを他のチケット システムと同期できます。

次に例を示します。

すべてのインシデント作成用の自動化ルールを作成し、ServiceNow でチケットを開くプレイブックをアタッチします。

オーケストレーション

SOC チャット プラットフォームを使用して、インシデント キューの制御を強化します。

次に例を示します。

Azure Sentinel インシデントが、ユーザー名と IP アドレス エンティティを生成する分析ルールによってアラートから作成されました。

このインシデントによって、次の手順でプレイブックを実行する自動化ルールがトリガーされます。

  • 新しい Azure Sentinel インシデントが作成されたときに開始します。

  • セキュリティ アナリストがインシデントを認識できるように、Microsoft Teams または Slack のセキュリティ オペレーション チャネルにメッセージを送信します。

  • シニア ネットワーク管理者とセキュリティ管理者に、アラートのすべての情報をメールで送信します。このメール メッセージには、ブロック するか 無視 するかをユーザーが選択できるボタンが含まれます。

  • 管理者からの応答を受信するまで待ってから、実行を続けます。

  • 管理者が ブロック を選択した場合は、アラートに含まれている IP アドレスをブロックするコマンドをファイアウォールに、そしてそのユーザーを無効にする別のものを Azure AD に送信します。

Response

人間への依存を最小限に抑えて、直ちに脅威に対応します。

2 つの例を挙げます。

例 1: Azure AD Identity Protection によって検出された、侵害されたユーザーを示す分析ルールに対応します。

  • 新しい Azure Sentinel インシデントが作成されたときに開始します。

  • 侵害された疑いがあるインシデント内の各ユーザー エンティティに対して、次を実行します。

    • Teams メッセージを該当するユーザーに送信して、ユーザーが不審な行動を取ったことに関する確認を要求します。

    • Azure AD Identity Protection を確認して、ユーザーが侵害された状態であることを確認します。 Azure AD Identity Protection では、ユーザーに 危険 のラベルを付け、既に構成されている強制ポリシーを適用します。たとえば、次回のサインイン時に MFA を使用するようにユーザーに要求します。

      注意

      プレイブックでは、ユーザーに対する強制アクションを開始することも、強制ポリシーの構成を開始することもありません。 必要に応じて、既に定義されているポリシーを適用するように Azure AD Identity Protection に指示するだけです。 すべての強制は、Azure AD Identity Protection に定義されている適切なポリシーに完全に依存します。

例 2: Microsoft Defender for Endpoint によって検出された、侵害されたマシンを示す分析ルールに対応します。

プレイブックの実行方法

プレイブックは、手動 でも 自動 でも実行できます。

手動で実行する場合、アラートを受け取ったときに、選択したアラートへの応答としてプレイブックをオンデマンドで実行することを選択できます。 この機能が現在サポートされているのはアラートに対してのみであり、インシデントは対象外です。

自動的に実行する場合、(アラートの場合は) 分析ルールに自動応答として、(インシデントの場合は) 自動化ルールにアクションとして設定します。 自動化ルールの詳細情報については、こちらをご覧ください。

自動応答を設定する

セキュリティ運用チームは、繰り返し発生するタイプのインシデントやアラートに対する所定の対応を完全に自動化することにより、作業負荷を大幅に削減できます。これにより、一般的でないインシデントやアラートに集中し、パターンの分析や脅威ハンティングなどを行うことができます。

自動応答を設定すると、分析ルールがトリガーされるたびに、アラートの作成に加えて、ルールによって作成されたアラートを入力として受け取るプレイブックが実行されます。

アラートによってインシデントが作成された場合は、インシデントによって自動化ルールがトリガーされます。それにより、アラートによって作成されたインシデントを入力として受け取るプレイブックが実行されます。

アラート作成の自動応答

アラートの作成によってトリガーされ、アラートを入力として受け取るプレイブックの場合 (その最初の手順は、「Azure Sentinel アラートがトリガーされたとき」です)、プレイブックを分析ルールにアタッチします。

  1. 自動応答を定義するアラートを生成する分析ルールを編集します。

  2. [自動応答] タブの [アラートの自動化] で、アラートが作成されたときにこの分析ルールによってトリガーされる 1 つ以上のプレイブックを選択します。

インシデント作成の自動応答

インシデントの作成によってトリガーされ、インシデントを入力として受け取るプレイブックの場合 (その最初の手順は、「Azure Sentinel インシデントがトリガーされたとき」です)、自動化ルールを作成し、そこに [プレイブックの実行] アクションを定義します。 これは、2 つの方法で実行できます。

  • 自動応答を定義するインシデントを生成する分析ルールを編集します。 [自動応答] タブの [インシデントの自動化] で、自動化ルールを作成します。 これにより、この分析ルール専用の自動応答が作成されます。

  • [自動化] ブレードの [自動化ルール] タブから、新しい自動化ルールを作成し、適切な条件と必要なアクションを指定します。 この自動化ルールは、指定された条件を満たすすべての分析ルールに適用されます。

    注意

    Azure Sentinel 自動化ルールには、プレイブックを実行するためのアクセス許可が必要です。

    自動化ルールからプレイブックを実行するために、Azure Sentinel では、それを行うために特別に承認されたサービス アカウントが使用されます。 (ユーザー アカウントではなく) このアカウントを使用すると、サービスのセキュリティ レベルが向上し、自動化ルール API で CI/CD のユース ケースをサポートできるようになります。

    このアカウントには、プレイブックが存在するリソース グループに対する明示的なアクセス許可を (Azure Sentinel Automation 共同作成者ロール の形で) 付与する必要があります。 その時点で、すべての自動化ルールでそのリソース グループ内のすべてのプレイブックを実行できるようになります。

    プレイブックの実行 アクションを自動化ルールに追加すると、プレイブックを選択するためのドロップダウン リストが表示されます。 Azure Sentinel がアクセス許可を持たないプレイブックは、使用不可として (「淡色表示」で) 表示されます。 [Manage playbook permissions](プレイブックのアクセス許可の管理) リンクを選択すると、その場で Azure Sentinel にアクセス許可を付与できます。

    マルチテナント (Lighthouse) のシナリオでは、プレイブックを呼び出す自動化ルールが別のテナントにある場合でも、プレイブックが存在するテナントに対するアクセス許可を定義する必要があります。 そのためには、プレイブックのリソース グループに対して 所有者 アクセス許可を持っている必要があります。

    マネージド セキュリティ サービス プロバイダー (MSSP) が直面する固有のシナリオがあります。このシナリオでは、サービス プロバイダーは自身のテナントにサインインしているときに、Azure Lighthouse を使用して顧客のワークスペースに自動化ルールを作成します。 この自動化ルールにより、顧客のテナントに属するプレイブックが呼び出されます。 この場合、Azure Sentinel には、"両方のテナント " に対するアクセス許可を付与する必要があります。顧客テナントでは、通常のマルチテナントのシナリオと同様に、 [プレイブックのアクセス許可の管理] パネルでそれらを付与します。 サービス プロバイダー テナント内で関連するアクセス許可を付与するには、プレイブックが存在するリソース グループに対して、Azure Sentinel Automation 共同作成者 ロールを使用して、Azure Security Insights アプリへのアクセス権を付与する Azure Lighthouse の委任を追加する必要があります。 この委任を追加する方法を確認してください

自動化ルールを作成するための完全な手順に関する記事を参照してください。

アラートに対して手動でプレイブックを実行する

手動によるトリガーは、Azure Sentinel ポータルの次のブレードから利用できます。

  • [インシデント] ビューで、特定のインシデントを選択し、その [アラート] タブを開き、アラートを選択します。

  • [調査] で、特定のアラートを選択します。

  1. 選択したアラートの [プレイブックの表示] をクリックします。 「Azure Sentinel アラートがトリガーされたとき」から始まる、アクセス許可を持っているすべてのプレイブックの一覧が表示されます。

  2. 特定のプレイブックの行で [実行] をクリックしてトリガーします。

  3. [実行] タブを選択すると、このアラートに対してプレイブックが実行されたすべての回の一覧が表示されます。 完了したばかりの実行がこの一覧に表示されるまでには数秒かかることがあります。

  4. 特定の実行をクリックすると、Logic Apps で完全な実行ログが開きます。

インシデントに対して手動でプレイブックを実行する

まだサポートされていません。

プレイブックを管理する

[プレイブック] タブには、現在 Azure に表示されているサブスクリプションによってフィルター処理された、アクセス権を持つすべてのプレイブックの一覧が表示されます。 サブスクリプション フィルターは、グローバル ページ ヘッダーの [ディレクトリ + サブスクリプション] メニューから使用できます。

プレイブック名をクリックすると、Logic Apps 内のプレイブックのメイン ページが表示されます。 [状態] 列は、有効になっているか無効になっているかを示しています。

[トリガーの種類] は、このプレイブックを開始する Logic Apps トリガーを表します。

トリガーの種類 プレイブック内のコンポーネントの種類を示す
Azure Sentinel のインシデントまたはアラート プレイブックは、Sentinel トリガー (アラート、インシデント) のいずれかによって開始されます
Azure Sentinel アクションの使用 プレイブックは Sentinel 以外のトリガーで開始されますが、Azure Sentinel アクションが使用されます
その他 プレイブックには、Sentinel コンポーネントは含まれていません
初期化されていない プレイブックは作成されていますが、コンポーネント (トリガーまたはアクション) は含まれていません。

プレイブックの [ロジック アプリ] ページでは、実行されたすべての回のログ、および結果 (成功または失敗、その他の詳細) など、プレイブックに関する詳細情報を確認できます。 適切なアクセス許可がある場合は、Logic Apps デザイナーを入力し、プレイブックを直接編集することもできます。

API 接続

API 接続は、Logic Apps を他のサービスに接続するために使用されます。 Logic Apps コネクタに対する新しい認証が行われるたびに、API 接続 の種類の新しいリソースが作成され、サービスへのアクセスを構成しているときに提供された情報が含まれます。

すべての API 接続を表示するには、Azure portal のヘッダー検索ボックスに「API 接続」と入力します。 次の列に注意してください。

  • 表示名 - 接続を作成するたびに指定する "わかりやすい" 名前。
  • 状態 - 接続の状態 (エラー、接続済み) を示します。
  • リソース グループ - API 接続は、プレイブック (Logic Apps) リソースのリソース グループに作成されます。

API 接続を表示するもう 1 つの方法は、 [すべてのリソース] ブレードにアクセスし、 [API 接続] の種類でフィルター処理することです。 この方法を使用すると、一度に複数の接続の選択、タグ付け、削除を実行できます。

既存の接続の承認を変更するには、接続リソースを入力し、 [API 接続の編集] を選択します。

次の推奨されるプレイブック、および他の同様のプレイブックを、Azure Sentinel GitHub リポジトリで入手できます。

次のステップ