次の方法で共有


Microsoft Sentinel でのウォッチリスト

Microsoft Sentinel のウォッチリストは、セキュリティ アナリストがイベント データを効率的に関連付け、エンリッチするのに役立ちます。 価値の高い資産や退職した従業員のリストなど、参照データを柔軟に管理できます。 ウォッチリストを検出ルール、脅威ハンティング、対応ワークフローに統合して、アラートの疲労を軽減し、脅威に迅速に対応します。 この記事では、Microsoft Sentinel でウォッチリストを使用する方法、主要なシナリオと制限事項の概要、およびセキュリティ操作を強化するためのウォッチリストの作成とクエリに関するガイダンスを提供します。

ウォッチリストは、検索、検出規則、脅威ハンティング、応答プレイブックで使用します。 ウォッチリストは、名前と値のペアとして Watchlist テーブルの Microsoft Sentinel ワークスペースに格納されます。 これらは、最適なクエリ パフォーマンスと低待機時間のためにキャッシュされます。

重要

ウォッチリスト テンプレートの機能と Azure Storage 内のファイルからウォッチリストを作成する機能は、現在プレビュー段階です。 Azure プレビューの追加使用条件には、ベータ版、プレビュー版、またはまだ一般提供されていない Azure 機能に適用される追加の法律条項が含まれています。

ウォッチリストを使用する場合

次のシナリオではウォッチリストを使用します。

  • CSV ファイルから IP アドレス、ファイル ハッシュ、およびその他のデータをインポートすることで、脅威を調査し、インシデントに迅速に対応します。 データをインポートしたら、アラートルール、脅威ハンティング、ワークブック、ノートブック、およびクエリにおける結合やフィルターに、ウォッチリストの名前と値のペアを使用します。

  • ウォッチリストとしてビジネス データをインポートします。 たとえば、特権システム アクセスを持つユーザー リストや、退職した従業員のリストをインポートします。 次に、ウォッチリストを使用して許可リストとブロックリストを作成し、それらのユーザーがネットワークにサインインすることを検出または禁止します。

  • アラートの疲れを軽減します。 許可リストを作成して、通常はアラートをトリガーするタスクを実行する承認された IP アドレスのユーザーなど、ユーザーのグループからのアラートを抑制します。 問題のないイベントがアラートにならないようにします。

  • イベント データを強化します。 ウォッチリストを使用して、外部データ ソースからイベント データに名前と値の組み合わせを追加します。

ウォッチリストの制限事項

ウォッチリストを作成する前に、次の制限事項を確認することをお勧めします。

制限事項 詳細
ウォッチリスト名とエイリアスの長さ ウォッチリストの名前とエイリアスは、3 ~ 64 文字にする必要があります。 最初と最後の文字は英数字である必要があります。スペース、ハイフン、アンダースコアは途中に使用可能です。
使用目的 ウォッチリストは参照データにのみ使用します。 ウォッチリストは、大規模なデータ ボリューム用に設計されていません。
アクティブなウォッチリストアイテムの最大数 ワークスペース内のすべてのウォッチリストに対して最大 1,000 万個のアクティブなウォッチリスト アイテムを持つことができます。 削除されたアイテムはカウントされません。 ボリュームが大きい場合は、 カスタム ログを使用します
データ保有期間 Log Analytics ウォッチリスト テーブル内のデータは 28 日間保持されます。
更新間隔 ウォッチリストは 12 日ごとに更新され、 TimeGenerated フィールドが更新されます。
ワークスペース間管理 Azure Lighthouse を使用したワークスペース間でのウォッチリストの管理はサポートされていません。
ローカル ファイルのアップロード サイズ ローカル ファイルのアップロードは、最大 3.8 MB のファイルに制限されます。
Azure Storage ファイルのアップロード サイズ (プレビュー) Azure Storage のアップロードは、最大 500 MB のファイルに制限されます。
列とテーブルの制限 ウォッチリストは、 列と名前の KQL エンティティの名前付け制限 に従う必要があります。

Microsoft Sentinel ウォッチリストの作成方法

Microsoft Sentinel でウォッチリストを作成するには、次のいずれかの方法を使用します。

  • ローカル フォルダーまたは Azure Storage アカウントからファイルをアップロードする。

  • Microsoft Sentinel からウォッチリスト テンプレートをダウンロードし、データを追加して、ウォッチリストの作成時にファイルをアップロードします。

大きなファイル (最大 500 MB) からウォッチリストを作成するには、Azure Storage アカウントにファイルをアップロードします。 Microsoft Sentinel がウォッチリスト データを取得できるように、Shared Access Signature (SAS) URL を作成します。 SAS URL には、リソース URI とリソースの SAS トークン (ストレージ アカウント内の CSV ファイルなど) の両方が含まれます。 Microsoft Sentinel のワークスペースにウォッチリストを追加します。

詳細については、以下を参照してください。

検索ルールと検出ルールのクエリのウォッチリスト

ウォッチリスト データを他の Microsoft Sentinel データと関連付けるためには、joinlookup などの Kusto テーブル演算子と Watchlist テーブルを使用します。 Microsoft Sentinel は、ウォッチリストを参照してクエリを実行するために、ワークスペースに次の関数を作成します。

  • _GetWatchlistAlias - すべてのウォッチリストのエイリアスを返します
  • _GetWatchlist - 指定したウォッチリストの名前と値のペアのクエリを実行します

ウォッチリストを作成するときは、SearchKey を定義します。 検索キーは、他のデータとの結合または頻繁に検索されるオブジェクトとして使用するウォッチリスト内の列の名前です。 たとえば、国/地域の名前とそれぞれの 2 文字の国番号を含むサーバー ウォッチリストがあるとします。 検索や結合に国番号を頻繁に使用することが予想されます。 そこで、国番号の列を検索キーとして使用します。

Heartbeat
| lookup kind=leftouter _GetWatchlist('mywatchlist') 
  on $left.RemoteIPCountry == $right.SearchKey

その他のクエリ例を見てみましょう。

分析ルールでウォッチリストを使用するとします。 ipwatchlistIPAddressの列を含むLocationというウォッチリストを作成します。 IPAddressSearchKey として設定します。

IPAddress,Location
10.0.100.11,Home
172.16.107.23,Work
10.0.150.39,Home
172.20.32.117,Work

ウォッチリストに IP アドレスからのイベントのみを含めるには、 watchlist が変数またはインラインとして使用されるクエリを使用できます。

このクエリ例では、ウォッチリストを変数として使用します。

  //Watchlist as a variable
  let watchlist = (_GetWatchlist('ipwatchlist') | project IPAddress);
  Heartbeat
  | where ComputerIP in (watchlist)

この例のクエリでは、ウォッチリストをクエリ内で直接使用し、定義された検索キーを適用します。

  //Watchlist inline with the query
  //Use SearchKey for the best performance
  Heartbeat
  | where ComputerIP in ( 
      (_GetWatchlist('ipwatchlist')
      | project SearchKey)
  )

詳細については、 Microsoft Sentinel のウォッチリストを使用してクエリと検出ルールを作成 する方法と、Kusto ドキュメントの次の記事を参照してください。

KQL の詳細については、「Kusto 照会言語 (KQL) の概要」を参照してください。

その他のリソース:

詳細については、以下を参照してください。