エンティティ ページのタイムラインでアクティビティをカスタマイズする

重要

カスタム タイムライン アクティビティの概要

Microsoft Sentinelは、エンティティのタイムライン上で活動を標準に追跡・提示します。 カスタムアクティビティを作成してタイムラインに表示させることもできます。 カスタムアクティビティは、接続された任意のデータソースからエンティティデータのクエリに基づいています。 次の例は、この機能の使用方法を示しています。

  • 既存の既定のアクティビティ テンプレートを変更して、エンティティ タイムラインに新しいアクティビティを追加します。

  • カスタム ログから新しいアクティビティを追加します。 たとえば、物理的なアクセス制御ログから、特定の制限された領域 (サーバー ルームなど) のユーザーの入退出アクティビティをユーザーのタイムラインに追加できます。

アクティビティのカスタマイズ ページを開く

アクティビティのカスタマイズ ページを開くには、使用しているポータルに一致するタブを選択します。

  • Azure portalのMicrosoft Sentinelのユーザーは、下の [Azure portal] タブを選択します。
  • Microsoft Defender ポータルのユーザーは、[Defender ポータル] タブを選択します。

Azure ポータルで次の手順に従って、アクティビティのカスタマイズ ページを開きます。

  1. Microsoft Sentinelナビゲーション メニューで、[エンティティの動作] を選択します。

  2. [ エンティティの動作 ] ページで、画面の上部にある [エンティティ のカスタマイズ] ページ (プレビュー) を選択します。

    [エンティティの動作] ページ

[Sentinelアクティビティのカスタマイズ] ページで、[マイ アクティビティ] タブに作成したすべてのアクティビティの一覧が表示されます。[アクティビティ テンプレート] タブには、Microsoft セキュリティ研究者がすぐに提供するアクティビティのコレクションが表示されます。 これらは、エンティティ ページのタイムラインで既に追跡および表示されているアクティビティです。

  • ユーザー定義のアクティビティを作成していない限り、エンティティ ページには[アクティビティ テンプレート] タブの下に一覧表示されているすべてのアクティビティが表示されます。

  • アクティビティを作成またはカスタマイズすると、エンティティ ページにはそれらのアクティビティ のみが 表示され、[ マイ アクティビティ ] タブに表示されます。

  • エンティティページで既定で用意されているアクティビティを引き続き表示するには、追跡して表示したい各テンプレートに対してアクティビティを作成する必要があります。 「テンプレートからアクティビティを作成する」の手順に従います。

テンプレートからアクティビティを作成する

既存のすぐに使用できるテンプレートからカスタム アクティビティを作成するには、次の手順に従います。

  1. [ アクティビティ テンプレート ] タブを選択すると、既定で使用可能なさまざまなアクティビティが表示されます。 リストは、エンティティの種類とデータ ソースでフィルター処理できます。 一覧からアクティビティを選択すると、詳細ウィンドウに次の情報が表示されます。

    • アクティビティの説明

    • アクティビティを構成するイベントを提供するデータ ソース

    • 生データ内のエンティティを識別するために使用される識別子

    • このアクティビティを検出するクエリ

  2. 詳細ウィンドウの下部にある [ アクティビティの作成 ] を選択して、アクティビティ作成ウィザードを開始します。

    Azure portalのアクティビティ テンプレートリストのスクリーンショット。

  3. アクティビティ ウィザード - テンプレートから新しいアクティビティを作成すると、そのフィールドがテンプレートから既に設定された状態で開きます。 一般設定タブやアクティビティ設定タブで自由に変更を加えたり、プリプセル設定を変更しずに元のアクティビティを表示し続けることもできます。

  4. 問題がなければ、[ 確認と作成 ] タブを選択します。 [検証に合格しました ] メッセージが表示されたら、下部にある [ 作成 ] ボタンをクリックします。

アクティビティをゼロから作成する

アクティビティ ページの上部にある [ アクティビティの追加 ] をクリックして、アクティビティの作成ウィザードを開始します。

[アクティビティ ウィザード ] - [新しいアクティビティの作成] が開き、そのフィールドは空白になります。

一般的なアクティビティ設定を構成する

[ 全般 ] タブで、アクティビティの基本的なメタデータを指定します。

  1. アクティビティの名前を入力します (例: "ユーザーがグループに追加されました")。

  2. アクティビティの説明を入力します (例: "Windows イベント ID 4728 に基づくユーザー グループ メンバーシップの変更")。

  3. このクエリで追跡するエンティティ (ユーザーまたはホスト) の種類を選択します。

  4. クエリを絞り込んでパフォーマンスを最適化するために、追加のパラメーターでフィルター処理できます。 たとえば、 IsDomainJoined パラメーターを選択し、値を True に設定することで、Active Directory ユーザーをフィルター処理できます。

  5. アクティビティの初期状態を [有効] または [無効] に選択できます。

  6. [次へ: アクティビティの構成] を選択して、次のタブに進みます。

    スクリーンショット - 新しいアクティビティを作成する

アクティビティ クエリと表示設定を構成する

アクティビティ クエリの記述

[ アクティビティの構成 ] タブで、選択したエンティティのアクティビティを検出するために使用される KQL クエリを書き込むか貼り付け、タイムラインでの表現方法を決定します。

重要

クエリでは、組み込みのテーブルではなく 、高度なセキュリティ情報モデル (ASIM) パーサー を使用することをお勧めします。 これにより、クエリで 1 つのデータ ソースではなく、現在または将来の関連データ ソースがサポートされるようになります。

イベントの相関やカスタムアクティビティの検出のために、KQLクエリはエンティティタイプに依存する複数のパラメータを必要とします。 これらのパラメータはエンティティの識別子です。

クエリ結果とエンティティ間の1対1のマッピングには強力な識別子を使いましょう。 弱い識別子は不正確な結果をもたらす可能性があります。 エンティティと強力な識別子と弱い識別子について詳しくは、こちらをご覧ください

次の表に、エンティティの識別子に関する情報を示します。

アカウントエンティティとホストエンティティの強力な識別子

クエリには少なくとも 1 つの識別子が必要です。

エンティティ 識別子 説明
Account Account_Sid Active Directory のアカウントのオンプレミス SID
Account_AadUserId Microsoft Entra ID 内のユーザーの Microsoft Entra オブジェクト ID
Account_Name + Account_NTDomain (アカウント名 + ドメイン) SamAccountName に似ています (例: Contoso\Joe)
アカウント名 + アカウント_UPNSuffix UserPrincipalName に似ています (例: Joe@Contoso.com)
Host Host_HostName + Host_NTDomain 完全修飾ドメイン名 (FQDN) に似ています
ホスト名(Host_HostName) + ドメイン名(Host_DnsDomain) 完全修飾ドメイン名 (FQDN) に似ています
Host_NetBiosName + Host_NTDomain 完全修飾ドメイン名 (FQDN) に似ています
Host_NetBiosName + Host_DnsDomain 完全修飾ドメイン名 (FQDN) に似ています
Host_AzureID Microsoft Entra ID 内のホストの Microsoft Entra オブジェクト ID (Microsoft Entra ドメインに参加している場合)
Host_OMSAgentID 特定のホストにインストールされているエージェントの OMS エージェント ID (ホストごとに一意)

一般タブで選択した事業体タイプに基づいて、利用可能な識別子が表示されます。 クエリのカーソル位置に貼り付ける識別子を選択します。

注:

  • クエリには 最大 10 個のフィールドを含めることができるので、必要なフィールドを投影する必要があります。

  • エンティティのタイムラインに検出されたアクティビティを配置するには、投影フィールドに TimeGenerated フィールドが含まれている必要があります。

SecurityEvent
| where EventID == "4728"
| where (SubjectUserSid == '{{Account_Sid}}' ) or (SubjectUserName == '{{Account_Name}}' and SubjectDomainName == '{{Account_NTDomain}}' )
| project TimeGenerated, SubjectUserName, MemberName, MemberSid, GroupName=TargetUserName

スクリーンショット - アクティビティを検出するクエリを入力する

タイムラインでのアクティビティの表示

便宜上、アクティビティ出力に動的パラメーターを追加することで、タイムラインでのアクティビティの表示方法を決定できます。

Microsoft Sentinelには、使用するための組み込みパラメーターが用意されており、クエリで投影したフィールドに基づいて他のパラメーターを使用することもできます。

パラメーターには次の形式を使用します。 {{ParameterName}}

アクティビティ クエリが検証に合格し、クエリ ウィンドウの下に [クエリ結果の表示 ] リンクが表示されたら、[ 使用可能な値 ] セクションを展開して、動的アクティビティ タイトルの作成時に使用できるパラメーターを表示できます。

特定のパラメーターの横にある [コピー ] アイコンを選択して、そのパラメーターをクリップボードにコピーして、上の [アクティビティ タイトル ] フィールドに貼り付けることができます。

次のいずれかのパラメーターをクエリに追加します。

  • クエリに投影した任意のフィールド。

  • クエリに記載されているエンティティのエンティティ識別子。

  • StartTimeUTCを使用して、アクティビティの開始時刻を UTC 時間で追加します。

  • EndTimeUTCを使用して、アクティビティの終了時刻を UTC 時間で追加します。

  • Countを使用して、複数の KQL クエリ出力を 1 つの出力にまとめます。

    count パラメーターは、エディターに完全に表示されていない場合でも、バックグラウンドでクエリに次のコマンドを追加します。

    Summarize count() by <each parameter you’ve projected in the activity>
    

    次に、エンティティ ページで バケット サイズ フィルターを使用すると、バックグラウンドで実行されるクエリにも次のコマンドが追加されます。

    Summarize count() by <each parameter you’ve projected in the activity>, bin (TimeGenerated, Bucket in Hours)
    

以下の例は動的パラメータを用いたアクティビティタイトルを示しています:

スクリーンショット - アクティビティ タイトルで使用可能な値を確認する

クエリとアクティビティのタイトルに問題がなければ、[ 次へ: 確認] を選択します。

アクティビティ クエリのサンプルで使用される KQL 演算子と関数の詳細については、Kusto のドキュメントを参照してください。

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

その他のリソース:

設定を確認してアクティビティを作成する

[ 確認と作成 ] タブを使用して構成を検証し、アクティビティを完了します。

  1. カスタム アクティビティのすべての構成情報を確認します。

  2. [検証に合格しました] メッセージが表示されたら、[作成] をクリックしてアクティビティを作成します。 後で [ マイ アクティビティ ] タブで編集または変更できます。

アクティビティを管理する

[マイ アクティビティ] タブからカスタム アクティビティ を管理します。アクティビティの行の末尾にある省略記号 (...) をクリックして、次の操作を行います。

  • アクティビティを編集します。
  • アクティビティを複製して、少し異なる新しいアクティビティを作成します。
  • アクティビティを削除します。
  • アクティビティを無効にします (削除せずに)。

エンティティ ページでアクティビティを表示する

エンティティ ページを入力するたびに、そのエンティティに対して有効なすべてのアクティビティ クエリが実行され、エンティティ タイムラインで分単位の情報が提供されます。 タイムラインに、アクティビティがアラートやブックマークとあわせて表示されます。

タイムライン コンテンツ フィルターを使用すると、アクティビティ (またはアクティビティ、アラート、ブックマークの任意の組み合わせ) のみを表示できます。

[ アクティビティ ] フィルターを使用して、特定のアクティビティを表示または非表示にすることもできます。

次の手順

エンティティとカスタム タイムライン アクティビティの詳細については、次の記事を参照してください。