Compartir a través de

在 Microsoft Sentinel 中使用监视列表生成查询或检测规则

通过将监视列表视为可供联接和查找的表,针对监视列表中的数据来查询任何表中的数据。 创建监视列表时,定义 SearchKey。 搜索键是监视列表中你希望用作与其他数据的联接或用作常见搜索对象的列的名称。

为了获得最佳查询性能,请在查询中使用 SearchKey 作为用于联接的键。

使用监视列表生成查询

要在搜索查询中使用监视列表,请编写一个 Kusto 查询,该查询使用 _GetWatchlist('watchlist-name') 函数并使用 SearchKey 作为联接的键。

  1. 转到 Azure 门户,在“配置”下选择“监视列表”

  2. 选择要使用的监视列表。

  3. 选择“在日志中查看”。

    屏幕截图显示如何在查询中使用监视列表。

  4. 查看“结果”选项卡。监视列表中的项将被自动提取,以用于查询。

    下面的示例显示了“名称”和“IP 地址”字段的提取结果 。 SearchKey 显示为自己的列。

    屏幕截图显示包含监视列表字段的查询。

    查询 UI 和计划警报中将忽略查询的时间戳。

  5. 编写一个查询,该查询使用 _GetWatchlist('watchlist-name') 函数并使用 SearchKey 作为联接的键。

    例如,以下示例查询将 Heartbeat 表中的 RemoteIPCountry 列与为名为 mywatchlist 的监视列表定义的搜索关键字联接。

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

    下图显示了此示例查询在 Log Analytics 中的运行结果。

    屏幕截图显示将监视列表作为查找对象的查询。

使用监视列表创建分析规则

要在分析规则中使用监视列表,请在查询中使用 _GetWatchlist('watchlist-name') 函数创建规则。

  1. 在“配置”下,选择“分析” 。

  2. 选择“创建”和要创建的规则类型。

  3. 在“常规”选项卡上输入相应的信息。

  4. 在“设置规则逻辑”选项卡上的“规则查询”下,使用查询中的 _GetWatchlist('<watchlist>') 函数 。

    例如,假设你有一个名为 ipwatchlist 的监视列表,它是通过 CSV 文件创建的,其中包含以下值:

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

    该 CSV 文件如下图所示。 屏幕截图显示了 CSV 文件中用于监视列表的四项。

    若要为此示例使用 _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)
    )
    

    下图显示了在规则查询中使用的上一个查询。

    屏幕截图显示如何在分析规则中使用监视列表。

  5. 完成分析规则向导中的其余选项卡。

工作区中的监视列表每 12 天刷新一次,更新 TimeGenerated 字段。 有关详细信息,请参阅创建自定义分析规则以检测威胁

查看监视列表别名列表

你可能需要查看监视列表别名列表,以确定要在查询或分析规则中使用的监视列表。

  1. 转到 Azure 门户,在“常规”下选择“日志”。

  2. 在“新建查询”页上,运行以下查询:_GetWatchlistAlias

  3. 你可以在“结果”选项卡中查看别名列表。

    屏幕截图显示监视列表的列表。

本文档介绍了如何使用 Microsoft Sentinel 中的监视列表来扩充数据并改进调查。 若要详细了解 Microsoft Sentinel,请参阅以下文章: