自動化ルールで Azure Sentinel でのインシデント処理を自動化する

この記事では、Azure Sentinel 自動化ルールの概要と、それらを使用してセキュリティ オーケストレーション、自動化、および対応 (SOAR) の操作を実装する方法について説明します。これにより、SOC の有効性が向上し、時間とリソースを節約できます。

重要

  • オートメーション ルール 機能は現在 プレビュー 段階です。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用されるその他の法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。

自動化ルールとは

オートメーション ルールとは、Azure Sentinel における新しい概念です。 この機能により、ユーザーはインシデント処理の自動化を一元的に管理できます。 自動化ルールを使用すると、(以前のようにアラートにだけでなく) インシデントにもプレイブックを割り当てられるほか、一度に複数の分析ルールに対する応答を自動化したり、プレイブックを必要とせずにインシデントのタグ付け、割り当て、クローズを自動的に行ったり、実行されるアクションの順序を制御したりできます。 自動化ルールにより、Azure Sentinel での自動化の使用が効率化され、インシデント オーケストレーション プロセスの複雑なワークフローを簡略化できます。

Components

自動化ルールは、次のいくつかのコンポーネントで構成されています。

トリガー

自動化ルールは、インシデントの作成によってトリガーされます。

確認する – Azure Sentinel で組み込みの分析ルールを使用して脅威を検出するのチュートリアルで説明されているように、インシデントは、複数の種類の分析ルールによってアラートから作成されます。

条件

複雑な条件のセットを定義して、アクション (以下を参照) を実行するタイミングを制御できます。 これらの条件は、通常、インシデントとそのエンティティの属性の状態または値に基づいており、AND/OR/NOT/CONTAINS 演算子を含めることができます。

アクション

条件 (上記参照) が満たされたときに実行するようにアクションを定義できます。 ルールには多くのアクションを定義できます。また、実行する順序を選択することもできます (下記参照)。 次のアクションは、プレイブックの高度な機能を必要とせずに、自動化ルールを使用して定義できます。

  • インシデントの状態を変更して、ワークフローを最新の状態に保ちます。

    • 終了理由を指定して、コメントを追加して "closed" に変更する場合。 これにより、パフォーマンスと有効性を追跡し、誤検知を減らすための微調整を行うことができます。
  • インシデントの重要度を変更する – インシデントに関連するエンティティのプレゼンス、不在、値、または属性に基づいて、再評価や優先順位の変更を行うことができます。

  • 所有者へインシデントを割り当てる – これにより、インシデントの種類を最も適した担当者に伝えたり、最も時間のある担当者に送信したりすることができます。

  • インシデントにタグを追加する – これは、インシデントをサブジェクト、攻撃者、またはその他の共通点別に分類する場合に便利です。

また、外部システムを含むものも含めて、より複雑な対応アクションを実行するために、プ レイブックを実行するアクションを定義できます。 自動化ルールで使用できるのは、インシデント トリガーによってアクティブ化されたプレイブック のみ です。 複数のプレイブック、プレイブックとその他のアクションの組み合わせ、および実行順序を含めるようなアクションを定義することができます。

有効期限

自動化ルールの有効期限を定義できます。 その日以降、ルールは無効になります。 これは、侵入テストなど、計画された時間限定のアクティビティによって発生する "ノイズ" インシデントの処理 (つまり、終了) に役立ちます。

注文

自動化ルールを実行する順序を定義できます。 その後の自動化規則は、前の自動化規則によって処理された後の状態に従って、インシデントの状態を評価します。

たとえば、"最初の自動化ルール" によってインシデントの重要度が "中" から "低" に変更され、"第 2 の自動化ルール" が "中" または "高" の重大度のインシデントでのみ実行されるように定義されている場合、そのインシデントでは実行されません。

一般的なユース ケースとシナリオ

インシデントによってトリガーされる自動化

これまでは、プレイブックを使用して自動化された対応をトリガーできるのはアラートのみでした。 自動化ルールを使用すると、インシデントの作成時に、インシデントによってトリガーされる新しいプレイブック (特別なアクセス許可が必要) を含む自動応答チェーンをインシデントでトリガーできるようになりました。

Microsoft プロバイダーのプレイブックをトリガーする

自動化ルールは、アラートから作成されたインシデントにこれらのルールを適用することによって、Microsoft セキュリティ アラートの処理を自動化する方法を提供します。 自動化ルールでは、プレイブックを呼び出すことができ (特別なアクセス許可が必要)、アラートやエンティティなどのすべての詳細情報を含むインシデントをそれらに渡すことができます。 一般に、Azure Sentinel のベスト プラクティスでは、セキュリティ操作の焦点としてインシデント キューを使用します。

Microsoft セキュリティ アラートには、次のものが含まれます。

  • Microsoft Cloud App Security (MCAS)
  • Azure AD Identity Protection
  • Azure Defender (ASC)
  • Defender for IoT (旧称 ASC for IoT)
  • Microsoft Defender for Office 365 (旧称 Office 365 ATP)
  • Microsoft Defender for Endpoint (旧称 MDATP)
  • Microsoft Defender for Identity (旧称 Azure ATP)

1 つのルールで順序付けられた複数のプレイブック/アクション

1 つの自動化ルールで、アクションとプレイブックの実行順序をほぼ完全に制御できるようになりました。 また、自動化ルールの実行順序も制御します。 これにより、プレイブックを大幅に簡素化し、1 つのタスクまたは小規模で簡単な一連のタスクに減らすことができます。また、これらの小さなプレイブックは、さまざまな自動化ルールで異なる組み合わせで組み合わせることができます。

一度に 1 つのプレイブックを複数の分析ルールに割り当てる

外部のチケット発行システムでサポート チケットを作成するなど、すべての分析ルールで自動化するタスクがある場合は、すべての分析ルール (将来のルールを含む) に 1 つのプレイブックを 1 回の操作で適用できます。 これにより、簡単であるものの反復的なメンテナンスとハウスキーピング タスクの手間が省けます。

インシデントの自動割り当て

適切な所有者にインシデントを自動的に割り当てることができます。 SOC に特定のプラットフォームを専門とするアナリストがいる場合、そのプラットフォームに関連するすべてのインシデントを自動的にそのアナリストに割り当てることができます。

インシデントの抑制

ルールを使用して、プレイブックを使用せずに、誤検知または害のないインシデントを自動的に解決できます。 たとえば、侵入テストを実行するとき、スケジュールされたメンテナンスやアップグレードを実行するとき、または自動化手順をテストするときに、SOC が無視する多くの誤検知インシデントを作成することができます。 時間限定の自動化ルールは、作成時にこれらのインシデントを自動的に閉じ、生成の原因の記述子でタグ付けします。

時間限定の自動化

自動化ルールに有効期限を追加できます。 時間限定の自動化を保証するインシデント抑制以外のケースもあります。 特定の期間の特定のユーザー (たとえば、インターンやコンサルタント) に特定の種類のインシデントを割り当てることができます。 時間枠が事前にわかっている場合は、適切なタイミングでルールを無効にすることができます。その場合、そのことを覚えておく必要はありません。

インシデントに自動的にタグを付ける

フリーテキスト タグをインシデントに自動的に追加して、選択した条件に従ってグループ化または分類することができます。

自動化ルールの実行

自動化ルールは、決定した順序に従って順番に実行されます。 各自動化ルールは、前の規則の実行が完了した後に実行されます。 自動化ルール内では、すべてのアクションが、定義されている順序で順番に実行されます。

自動化ルール内のプレイブック アクションは、次の基準に従って、ある状況下では異なって処理されることがあります。

プレイブックの実行時間 自動化ルールが次のアクションに進むタイミング
1 秒未満 プレイブックが完了した直後
2 分未満 プレイブックの実行開始から最長 2 分後。
ただし、プレイブックが完了してから 10 秒以内
2 分以上 プレイブックの実行開始から 2 分後。
それが完了したかどうかは無関係

プレイブックを実行するための自動化ルールへのアクセス許可

Azure Sentinel 自動化ルールでプレイブックを実行すると、このアクションに対して特別に承認された特別な Azure Sentinel サービス アカウントが使用されます。 (ユーザー アカウントではなく) このアカウントを使用すると、サービスのセキュリティ レベルが向上します。

自動化ルールでプレイブックを実行するには、このアカウントに、プレイブックが存在するリソース グループに対する明示的なアクセス許可が付与されている必要があります。 その時点で、すべての自動化ルールでそのリソース グループ内のすべてのプレイブックを実行できるようになります。

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

マルチテナント アーキテクチャにおけるアクセス許可

自動化ルールでは、クロスワークスペースおよびマルチテナント デプロイが完全にサポートされています (マルチテナントの場合は、Azure Lighthouse を使用します)。

そのため、Azure Sentinel デプロイでマルチテナント アーキテクチャを使用している場合、1 つのテナントに自動化ルールを実行して、別のテナントに存在するプレイブックを実行できます。ただし、プレイブックを実行するための Sentinel は、自動化ルールが定義されているテナントではなく、プレイブックが存在するテナントで定義される必要があります。

顧客テナント内でサービス プロバイダー テナントによって Azure Sentinel ワークスペースが管理される、マネージド セキュリティ サービス プロバイダー (MSSP) の特殊なケースでは、注意が必要なシナリオが 2 つあります。

  • 顧客テナント内に作成された自動化ルールが、サービス プロバイダー テナント内に配置されているプレイブックを実行するように構成されている。

    このアプローチは、通常、プレイブック内の知的所有権を保護するために使用されます。 このシナリオは、特に何もしなくても機能します。 自動化ルール内でプレイブック アクションを定義しているとき、( [プレイブックのアクセス許可の管理] ウィンドウを使用して) プレイブックが配置されている関連リソース グループに対して Azure Sentinel アクセス許可を付与する段階になると、サービス プロバイダー テナントに属するリソース グループが表示されるので、ここから選択できます。 プロセス全体については、こちらをご覧ください

  • (サービス プロバイダー テナントへのサインイン中に) 顧客ワークスペース内に作成された自動化ルールが、顧客テナント内に配置されているプレイブックを実行するように構成されている

    この構成は、知的所有権を保護する必要がない場合に使用されます。 このシナリオを機能させるには、プレイブックを実行するためのアクセス許可が、両方のテナント 内の Azure Sentinel に付与されている必要があります。 顧客テナント内では、上記のシナリオと同様、_ [プレイブックのアクセス許可の管理] * ウィンドウ内でそれらを付与します。 サービス プロバイダー テナント内で関連するアクセス許可を付与するには、プレイブックが存在するリソース グループに対して、Azure Sentinel Automation 共同作成者 ロールを使用して、Azure Security Insights アプリへのアクセス権を付与する追加の Azure Lighthouse 委任を追加する必要があります。

    シナリオは次のようになります。

    マルチテナント自動化ルールのアーキテクチャ

    この設定方法については、こちらの手順を参照してください。

自動化ルールの作成と管理

特定のニーズやユース ケースに応じて、Azure Sentinel エクスペリエンスのさまざまなポイントから自動化ルールを作成および管理できます。

  • 自動化ブレード

    自動化ルールは、 [Automation rules](自動化ルール) タブの新しい [自動化] ブレード ( [プレイブック] ブレードに置き換わる) で一元的に管理することができます。(また、 [プレイブック] タブで、このブレード内のプレイブックを管理することもできるようになりました。) ここから、新しい自動化ルールの作成や、既存のものの編集を行うことができます。 また、自動化ルールをドラッグして、実行の順序を変更し、それらを有効または無効にすることもできます。

    [自動化] ブレードでは、定義されているすべてのルールとその状態 (有効/無効)、および適用されている分析ルールがワークスペースに表示されます。

    多くの分析ルールに適用される自動化ルールが必要な場合は、 [自動化] ブレードで直接作成します。 上部のメニューから [作成][新しいルールの追加] をクリックし、 [新しい自動化ルールの作成] パネルを開きます。 ここから、ルールを柔軟に構成できます。(将来のものを含む) 任意の分析ルールに適用して、最も広範な条件とアクションを定義することができます。

  • 分析ルール ウィザード

    分析ルール ウィザードの [自動応答] タブでは、ウィザードで作成または編集される特定の分析ルールに適用される自動化ルールを表示、管理、作成できます。

    [分析] ブレードの上部のメニューから [作成] 、そしてルールの種類 ( [スケジュールされたクエリ ルール] または [Microsoft インシデント作成ルール] ) のいずれかをクリックすると、または既存の分析ルールを選択して [編集] をクリックすると、ルール ウィザードが開きます。 [自動応答] タブを選択すると、 [インシデントの自動化] というセクションが表示されます。このセクションには、このルールに現在適用されている自動化ルールが表示されます。 既存の自動化ルールを選択して編集するか、 [新規追加] をクリックして新しいルールを作成できます。

    ここから自動化ルールを作成すると、 [新しい自動化ルールの作成] パネルに [分析ルール] の条件が [使用不可] として表示されます。このルールは、ウィザードで編集中の分析ルールにのみ適用されるように既に設定されているためです。 その他のすべての構成オプションは、引き続き使用できます。

  • インシデント ブレード

    単一の定期的なインシデントに対応するために、 [インシデント] ブレードから自動化ルールを作成することもできます。 これは、"ノイズの多い" インシデントを自動的に閉じるための抑制ルールを作成する場合に便利です。 キューからインシデントを選択し、上部のメニューから [自動化ルールの作成] をクリックします。

    [新しい自動化ルールの作成] パネルには、すべてのフィールドにインシデントの値が設定されていることがわかります。 このルールには、インシデントと同じ名前を付けて、インシデントを生成した分析ルールに適用し、インシデントで使用可能なすべてのエンティティをルールの条件として使用します。 また、既定では抑制 (終了) アクションが提案され、ルールの有効期限が提案されます。 必要に応じて、条件とアクションを追加または削除したり、有効期限を変更したりできます。

自動化ルール アクティビティを監査する

特定のインシデントに何が起こったか、および特定の自動化ルールが実行されたかどうかを把握したい場合があります。 [ログ] ブレードの [SecurityIncident] テーブルには、インシデント記録の完全な記録があります。 次のクエリを使用して、すべての自動化ルール アクティビティを表示します。

SecurityIncident
| where ModifiedBy contains "Automation"

次のステップ

このドキュメントでは、自動化ルールを使用して Azure Sentinel インシデント キューを管理し、いくつかの基本的なインシデント処理自動化を実装する方法について説明しました。