ウォッチリスト データを、joinやlookupなどの Kusto 表形式演算子とMicrosoft Sentinelデータと関連付けます。 ウォッチリストを作成するときは、 SearchKey を定義します。 検索キーは、ウォッチリスト内の列の名前で、他のデータとの結合または頻繁な検索オブジェクトとして使用すると想定されます。
最適なクエリ パフォーマンスを得るには、クエリ内の結合のキーとして SearchKey を使用します。
重要
2027 年 3 月 31 日以降、Microsoft SentinelはAzure portalでサポートされなくなり、Microsoft Defender ポータルでのみ使用できるようになります。 Azure portalでMicrosoft Sentinelを使用しているすべてのお客様は、Defender ポータルにリダイレクトされ、Defender ポータルでのみMicrosoft Sentinelを使用します。
Azure portalでMicrosoft Sentinelを引き続き使用している場合は、スムーズな移行を確保し、Microsoft Defenderによって提供される統合セキュリティ操作エクスペリエンスを最大限に活用するために、Defender ポータルへの移行の計画を開始することをお勧めします。
ウォッチリストを使用してクエリを構築する
検索クエリでウォッチリストを使用するには、_GetWatchlist('watchlist-name') 関数を使用し、結合のキーとして SearchKey を使用する Kusto クエリを記述します。
Defender ポータルでMicrosoft Sentinelする場合は、[Microsoft Sentinel>Configuration>Watchlist] を選択します。 Azure portalの [Microsoft Sentinel] で、[構成] で [ウォッチリスト] を選択します。
使用するウォッチリストを選択します。
[ ログで表示] を選択します。
[ 結果 ] タブを確認します。ウォッチリスト内の項目は、クエリに対して自動的に抽出されます。
次の例は 、[名前] フィールドと [ IP アドレス ] フィールドの抽出結果を示しています。 SearchKey は、独自の列として表示されます。
クエリのタイムスタンプは、クエリ UI とスケジュールされたアラートの両方で無視されます。
_GetWatchlist('watchlist-name') 関数を使用し、結合のキーとして SearchKey を使用するクエリを記述します。
たとえば、次のクエリ例では、
HeartbeatテーブルのRemoteIPCountry列を、mywatchlistという名前のウォッチリストに対して定義された検索キーと結合します。Heartbeat | lookup kind=leftouter _GetWatchlist('mywatchlist') on $left.RemoteIPCountry == $right.SearchKey次の図は、Log Analytics でのこのクエリ例の結果を示しています。
ウォッチリストを使用して分析ルールを作成する
分析ルールでウォッチリストを使用するには、クエリの _GetWatchlist('watchlist-name') 関数を使用してルールを作成します。
[ 構成] で[分析] を選択 します。
[ 作成 ] を選択し、作成するルールの種類を選択します。
[ 全般 ] タブで、適切な情報を入力します。
[ ルール ロジックの設定 ] タブの [ ルール クエリ ] で、クエリで
_GetWatchlist('<watchlist>')関数を使用します。たとえば、次の値を持つ CSV ファイルから作成した
ipwatchlistという名前のウォッチリストがあるとします。IPAddress,Location10.0.100.11,Home172.16.107.23,Work10.0.150.39,Home172.20.32.117,WorkCSV ファイルは次の図のようになります。
この例で
_GetWatchlist関数を使用するには、クエリを_GetWatchlist('ipwatchlist')します。
この例では、ウォッチリストに IP アドレスからのイベントのみを含めます。
//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) )次の図は、ルール クエリで最後に使用されたクエリを示しています。
分析ルール ウィザードの残りのタブを完了します。
ウォッチリストはワークスペースで 12 日ごとに更新され、 TimeGenerated フィールドが更新されます。 詳細については、「脅威を 検出するためのカスタム分析ルールを作成する」を参照してください。
ウォッチリストエイリアスの一覧を表示する
クエリまたは分析ルールで使用するウォッチリストを識別するために、ウォッチリストエイリアスの一覧を表示する必要がある場合があります。
Azure portalの [Microsoft Sentinel] で、[全般] で [ログ] を選択します。
Defender ポータルで、調査 & 応答>Hunting>Advanced ハンティングを選択します。[ 新しいクエリ] ページで 、次のクエリを実行します:
_GetWatchlistAlias。[結果] タブでエイリアスの一覧を 確認 します。
前の例で使用した次の項目の詳細については、Kusto のドキュメントを参照してください。
KQL の詳細については、「Kusto 照会言語 (KQL) の概要」を参照してください。
その他のリソース:
関連コンテンツ
このドキュメントでは、Microsoft Sentinelでウォッチリストを使用してデータを強化し、調査を改善する方法について説明しました。 Microsoft Sentinelの詳細については、次の記事を参照してください。
- ウォッチリストを作成する
- データと潜在的な脅威を可視化する方法について説明します。
- Microsoft Sentinelで脅威の検出を開始します。
- ブックを使用して データを監視します。