你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

从头开始创建计划分析规则

你已经设置了连接器和其他方式来收集整个数字资产的活动数据。 现在,你需要深入了解所有数据以检测活动模式并发现不符合这些模式且可能代表安全威胁的活动。

Microsoft Sentinel 及其在内容中心提供的许多解决方案为最常用的分析规则类型提供了模板,强烈建议你使用这些模板,并针对你的特定场景对其进行自定义。 但是,你可能需要完全不同的内容,在这种情况下,可以使用分析规则向导从头开始创建规则。

本文介绍从头开始创建分析规则的过程,包括使用 Analytics 规则向导。 它附有屏幕截图和说明,用于访问 Azure 门户(适用于非 Microsoft Defender 订阅者的 Microsoft Sentinel 用户)和 Defender 门户(适用于 Microsoft Defender 统一安全操作平台的用户)中的向导。

重要

Microsoft Sentinel 现已在 Microsoft Defender 门户的 Microsoft 统一安全运营平台中正式发布。 有关详细信息,请参阅 Microsoft Defender 门户中的 Microsoft Sentinel

先决条件

  • 必须具有 Microsoft Sentinel Contributor 角色,或者任何其他角色或权限集,其中包括 Log Analytics 工作区及其资源组的写入权限。

  • 你至少应该熟悉数据科学和分析以及 Kusto 查询语言。

  • 你应该熟悉分析规则向导和所有可用的配置选项。 有关详细信息,请参阅 Microsoft Sentinel 中的计划分析规则

设计和生成查询

在执行任何其他操作之前,应先使用 Kusto 查询语言 (KQL) 设计并构建一个查询,规则将使用该查询来查询 Log Analytics 工作区中的一个或多个表。

  1. 确定要搜索的数据源或一组数据源,以检测异常或可疑活动。 查找从这些源引入数据的 Log Analytics 表的名称。 可以在该数据源的数据连接器页面上找到表名称。 使用此表名称(或基于它的函数)作为查询的基础。

  2. 决定希望此查询对表执行的分析类型。 此决定将确定应该在查询中使用哪些命令和函数。

  3. 决定想要从查询结果中获取的数据元素(字段、列)。 此决定将确定如何构造查询的输出。

  4. 在“日志”屏幕中构建并测试查询。 如果感到满意,请保存查询以在规则中使用。

有关生成 Kusto 查询的一些有用提示,请参阅分析规则查询的最佳做法

有关构建 Kusto 查询的更多帮助,请参阅 Microsoft Sentinel 中的 Kusto 查询语言Kusto 查询语言查询的最佳做法

创建分析规则

本部分介绍如何使用 Azure 或 Defender 门户创建规则。

开始创建计划查询规则

若要开始,请转到 Microsoft Sentinel 中的分析页,创建计划分析规则。

  1. 对于 Azure 门户中的 Microsoft Sentinel,在“配置”下选择“分析”。
    对于 Defender 门户中的 Microsoft Sentinel,请选择“Microsoft Sentinel”>“配置”>“分析”。

  2. 选择“+ 创建”,然后选择“计划查询规则”。

命名规则并定义常规信息

在 Azure 门户中,阶段以选项卡的形式直观表示。 在 Defender 门户中,它们直观表示为时间线上的里程碑。

  1. 输入规则的以下信息。

    字段 描述
    Name 规则的唯一名称。
    描述 规则的自由文本说明。
    严重性 如果规则的状态为“真正”,则匹配触发该规则的活动可能对目标环境的影响。

    信息:对系统没有影响,但信息可能表明威胁行动者计划的未来步骤。
    低:直接影响将是微乎其微的。 威胁行动者可能需要执行多个步骤,才能对环境产生影响。
    中:威胁行动者可能通过此活动对环境产生一些影响,但影响范围有限或需要其他活动。
    高:确定的活动为威胁行动者提供了广泛的访问权限来对环境执行操作,或者由对环境的影响触发。
    MITRE ATT&CK 选择适用于规则的那些威胁活动。 从下拉列表中显示的 MITRE ATT&CK 策略和技术中进行选择。 您可以进行多选。

    有关最大限度地扩大 MITRE ATT&CK 威胁形势覆盖范围的更多信息,请参阅了解 MITRE ATT&CK® 框架的安全覆盖范围
    Status 已启用:规则会在创建后立即运行,或在你选择的特定日期和时间进行运行(当前为预览版)
    已禁用:创建规则但未运行。 如果需要,请稍后从“活动规则”选项卡中启用它。
  2. 选择“下一步:设置规则逻辑”。


定义规则逻辑

下一步是设置规则逻辑,包括添加创建的 Kusto 查询。

  1. 输入规则查询和警报增强配置。

    设置 说明
    规则查询 将设计、构建和测试的查询粘贴到“规则查询”窗口中。 在此窗口中所做的每项更改都会立即得到验证,因此,如果有任何错误,则会在窗口下方看到指示。
    映射实体 展开实体映射,并定义最多 10 种实体类型,这些实体类型由 Microsoft Sentinel 识别到查询结果中的字段。 此映射会将识别到的实体集成到警报架构中的“实体”字段中。

    有关映射实体的完整说明,请参阅将数据字段映射到 Microsoft Sentinel 中的实体
    在警报中呈现自定义详细信息 展开自定义详细信息,并定义要在警报中显示为自定义详细信息的查询结果中的任何字段。 这些字段也出现在造成的任何事件中。

    有关呈现自定义详细信息的完整说明,请参阅在 Microsoft Sentinel 中的警报中呈现自定义事件详细信息
    自定义警报详细信息 展开警报详细信息,根据每个单独警报中各个字段的内容自定义其他标准警报属性。 例如,自定义警报名称或描述以包含警报中包含的用户名或 IP 地址。

    有关自定义警报详细信息的完整说明,请参阅 Microsoft Sentinel 中的自定义警报详细信息
  2. 计划查询并确定查询范围。在“查询计划”部分设置以下参数:

    设置 说明/选项
    查询运行间隔 控制查询间隔:运行查询的频率。
    允许的范围:5 分钟 14 天。
    查找上次的数据 确定回溯期:查询涵盖的时间段。
    允许的范围:5 分钟 14 天。
    必须长于或等于查询间隔。
    开始运行 自动:该规则将在创建后立即开始首次运行,之后将按查询运行间隔运行。
    在特定时间(预览):设置规则首次运行的日期和时间,之后它将按照查询运行间隔运行。
    允许的范围:创建规则(或启用)时间后,10 分钟到 30 天
  3. 设置用于创建警报的阈值。

    使用“警报阈值”部分定义规则的敏感度级别。 例如,设置最小阈值 100:

    设置 说明
    在以下情况下生成警报:查询结果数 大于
    事件数 100

    如果不想设置阈值,请在数字字段中输入 0

  4. 设置事件分组设置。

    在“事件分组”下,选择以下两种方式之一来处理将事件分组到警报的操作:

    设置 行为
    将所有事件分组到一个警报中
    (默认值)
    只要查询返回的结果数超过上面指定的警报阈值,此规则每次运行时就生成一个警报。 此单个警报汇总了查询结果中返回的所有事件。
    为每个事件触发警报 此规则将针对查询返回的每一个事件生成一个独一无二的警报。 如果你希望单独显示各个事件,或者希望按特定参数(按用户、主机名或其他内容)将事件分组,此规则会很有用。 你可以在查询中定义这些参数。
  5. 生成警报后暂时禁止显示规则。

    若要在生成警报后禁止显示超出其下一个运行时的规则,请打开“在生成警报后停止运行查询”设置。 如果启用此设置,将“停止运行查询的时长”设置为查询应停止运行的时长,最多为 24 小时。

  6. 模拟查询和逻辑设置的结果。

    “结果模拟”区域中,选择“使用当前数据进行测试”,以查看规则结果在当前数据上运行时的外观。 Microsoft Sentinel 模拟使用定义的计划对当前数据运行规则 50 次,并显示结果图(日志事件)。 如果要修改查询,请再次选择“使用当前数据进行测试”,以更新此图表。 此图表展示了定义的时段内的结果数,该时段由“查询计划”部分中的设置确定。

  7. 选择“下一步: 事件设置”。

配置故障事件生成设置

在“事件设置”选项卡中,选择 Microsoft Sentinel 是否将警报转化为可操作的事件,以及是否以及如何将警报分组到事件中。

  1. 启用事件创建。

    在“故障事件设置”部分中,默认情况下,将“通过此分析规则触发的警报创建故障事件”设置为“已启用”,这意味着 Microsoft Sentinel 将通过该规则触发的每一个警报单独创建一个故障事件 。

    • 如果你不需要让此规则生成任何故障事件(例如,在此规则只用于收集信息以供以后进行分析的情况下),则将此设置设为“已禁用”。

      重要

      如果将 Microsoft Sentinel 加入到 Microsoft Defender 门户中的统一安全运营平台,请将此设置留为“启用”。

    • 如果想要通过一组警报创建单个故障事件,而不是为每一个警报生成一个故障事件,请参阅下一节内容。

  2. 设置事件分组设置。

    如果需要通过一组(最多 150 个)相似警报或重复警报(请参阅注释)生成一个故障事件,则在“警报分组”部分中则将“将此分析规则触发的相关警报分组到故障事件”设置为“已启用”,并设置以下参数。

    1. 将组范围限制为所选时段内创建的警报:设置将哪个时段内的相似警报或重复警报组合在一起。 此时段之外的警报将单独生成一个或一组故障事件。

    2. 将此分析规则触发的警报分组到一个故障事件的依据:选择组合警报的方式:

      选项 说明
      如果所有实体都匹配,则将警报分组为单个事件 如果警报映射的每个实体(定义参见上面的设置规则逻辑选项卡)值都相同,则将警报组合在一起。 建议使用此设置。
      将此规则触发的所有警报分组到单个事件中 将此规则生成的所有警报都组合在一起,即使这些警报没有相同的值也是如此。
      如果所选实体和详细信息匹配,则将警报分组到单个事件中 如果警报的值与各自下拉列表中选择的所有映射实体、警报详细信息和自定义详细信息完全相同,则将警报组合在一起。
    3. 重新打开已关闭的匹配故障事件:如果某个故障事件已解决并已关闭,而稍后系统生成了应属于该故障事件的另一个警报,在这种情况下,如果要重新打开这个已关闭的故障事件,则将此设置设为“已启用”,如果要该警报创建一个新的故障事件,则将此设置保留为“已禁用”。

    注意

    最多可将 150 个警报分组到一个故障事件。

    • 只有在生成所有警报后才会创建事件。 所有警报将在事件创建后立即添加到事件中。

    • 如果将警报分组到一个故障事件的规则生成了 150 个以上的警报,该规则将使用与初始故障事件详细信息同样的内容生成一个新故障事件,并将超出数目的警报分组到这个新的故障事件。

  3. 选择“下一步: 自动响应”。

查看或添加自动响应

  1. 在“自动响应”选项卡中,查看列表中显示的自动化规则。 如果要添加现有规则尚未涵盖的任何响应,有两种选择:

    • 如果希望添加的响应应用于许多或所有规则,请编辑现有规则。
    • 选择“添加新项”创建新的自动化规则,该规则仅适用于此分析规则。

    若要详细了解自动化规则的用途,请参阅使用自动化规则在 Microsoft Sentinel 中自动响应威胁

    • 在屏幕底部的“警报自动化(经典)”下,你将看到已配置为在使用旧方法生成警报时自动运行的任何 playbook。
      • 自 2023 年 6 月起,你无法再向此列表添加 playbook。 此处已列出的 playbook 将继续运行,直到此方法在 2026 年 3 月被弃用。

      • 如果你仍有此处列出的任何 playbook,则应改为基于“警报创建的触发器”创建自动化规则,并从该自动化规则调用 playbook。 完成此操作后,选择此处列出的 playbook 行尾的省略号,然后选择“删除”。 有关完整说明,请参阅将 Microsoft Sentinel 警报触发器 playbook 迁移到自动化规则

  1. 选择“下一步: 查看和创建”,以查看新分析规则的所有设置。

验证配置并创建规则

  1. 在出现“已通过验证”消息时,选择“创建”。

  2. 如果出现错误,请在发生错误的向导的选项卡上找到并选择红色 X。

  3. 更正错误,然后返回到“审阅并创建”选项卡,以再次运行验证。

查看规则及其输出

查看规则定义

可在主“分析”屏幕上的“可用规则”选项卡下的表格中找到新创建的自定义规则(类型为“已计划”)。 你可以从此列表启用、禁用或删除每个规则。

查看规则的结果

若要查看在 Azure 门户中创建的分析规则的结果,请转到“事件”页面,可以在此处对事件进行会审、调查事件,并修正威胁

Azure 门户中事件页的屏幕截图。

优化规则

注意

可通过 Microsoft Graph 安全性访问 Microsoft Sentinel 中生成的警报。 有关详细信息,请参阅 Microsoft Graph 安全性警报文档

将规则导出到 ARM 模板

如果要将你的规则打包作为代码进行管理和部署,你可以轻松地将规则导出到 Azure 资源管理器 (ARM) 模板。 你还可以从模板文件导入规则,以便在用户界面中进行查看和编辑。

后续步骤

使用分析规则检测来自 Microsoft Sentinel 的威胁时,请务必启用与连接的数据源关联的所有规则,以确保环境的全方位安全性。

若要自动启用规则,可以通过 APIPowerShell 将规则推送到 Microsoft Sentinel,但这样做需要付出额外的工作。 使用 API 或 PowerShell 时,必须先将规则导出到 JSON,然后才能启用规则。 在 Microsoft Sentinel 的多个实例(每个实例的设置都相同)中启用规则时,API 或 PowerShell 可能会有所帮助。

有关详细信息,请参阅:

此外,学习此示例:通过自定义连接器监视 Zoom 时使用自定义分析规则。