你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
到目前为止,最常见的分析规则类型是“定期”规则,它基于 Kusto 查询,这些查询配置为定期运行,并检查定义的“回溯”周期中的原始数据。 查询可以对其目标数据执行复杂的统计操作,并显示事件组中的基线和离群值。 如果查询捕获的结果数超过了规则中配置的阈值,规则将生成警报。
本文旨在帮助你了解计划分析规则是如何构建的,还会向你介绍所有配置选项及其含义。 本文分享的信息在以下两种场景下非常有用:
从模板创建分析规则: 使用模板中定义的查询逻辑和计划和回溯设置,或对其进行自定义以创建新规则。
从头开始创建分析规则: 从头开始构建自己的查询和规则。 若要有效执行此操作,你应该全面掌握数据科学和 Kusto 查询语言的基础知识。
重要
Microsoft Sentinel 在 Microsoft Defender 门户中正式发布,包括没有 Microsoft Defender XDR 或 E5 许可证的客户。 有关详细信息,请参阅 Microsoft Defender 门户中的 Microsoft Sentinel。
Analytics 规则模板
计划规则模板中的查询由安全和数据科学专家编写,无论是来自Microsoft,还是来自提供模板的解决方案供应商。
使用分析规则模板的方法如下:从模板列表中选择一个模板名称,然后基于此模板创建规则。
每个模板都具有所需数据源的列表。 打开模板时,会自动检查数据源的可用性。 可用性是指数据源已连接,并且正在通过它定期引入数据。 如果有任何必需的数据源不可用,则不会允许你创建规则,并且还有可能看到提醒你此情况的错误消息。
从模板创建规则时,会根据所选模板打开规则创建向导。 所有详细信息都将自动填充,你可以自定义逻辑和其他规则设置,以更好地满足你的特定需求。 可以重复此过程以基于模板创建更多规则。 当规则创建向导接近结束时,将会验证你的自定义并创建规则。 新规则显示在“分析”页上的“活动规则”选项卡中。 同样,在规则模板选项卡上,您创建该规则所用的模板现在带有In use
标签显示。
分析规则模板的作者会持续进行维护,修复 bug 或优化查询。 如果模板收到更新,任何基于此模板创建的规则都会显示 Update
标签,即表示可以修改这些规则以包含对此模板做出的任何更改。 还可以将在规则中进行的任何更改还原到其基于模板的原始版本。 有关详细信息,请参阅 Microsoft Sentinel 中计划分析规则的管理模板版本。
熟悉本文中的配置选项后,请参阅 从模板创建计划分析规则。
本文剩余部分介绍自定义规则配置的所有选项。
分析规则配置
本节介绍在开始配置规则之前,你需要考虑到的注意事项。
分析规则名称和详细信息
分析规则向导的第一页中包含规则的基本信息。
名字: 规则在规则列表和任何基于规则的筛选器中显示时的名称。 名称必须在工作区中是唯一的。
描述: 规则用途的自由文本说明。
ID: 规则作为 Azure 资源的 GUID,用于 API 请求和响应等。 此 GUID 仅在创建规则时分配,因此仅在 编辑现有规则时显示。 由于是只读字段,因此显示为灰显,且无法更改。 无论是从模板还是从头开始创建新规则时,该 GUID 尚不存在。
严重性: 对此规则生成的警报进行评级。 活动的严重性是对活动发生时可能带来的负面影响的计算。
严重性 | 说明 |
---|---|
信息性 | 对系统没有影响,但信息可能表明威胁行动者计划了未来步骤。 |
低 | 直接影响将是微乎其微的。 威胁行动者可能需要执行多个步骤,才能对环境产生影响。 |
中等 | 威胁行动者可能通过此活动对环境产生一些影响,但影响范围有限或需要其他活动。 |
高 | 确定的活动为威胁行动者提供了广泛的访问权限来对环境执行操作,或者由对环境的影响触发。 |
严重性级别默认值不能保证当前或环境影响级别。 自定义警报详细信息 ,以使用查询输出中任何相关字段的值自定义给定警报实例的严重性、策略和其他属性。
Microsoft Sentinel 分析规则模板的严重性定义仅与分析规则创建的警报相关。 对于从其他服务引入的警报,严重性由源安全服务定义。
MITRE ATT&CK:此规则捕获的活动所代表的攻击策略和技术手段的规范。 这些基于 MITRE ATT&CK® 框架的策略和技术。
此处在规则中定义的 MITRE ATT&CK 策略和技术适用于此规则生成的任何警报。 此外,还适用于从这些警报创建的任何事件。
有关最大化 MITRE ATT&CK 威胁布局覆盖范围的详细信息,请参阅 MITRE ATT&CK® 框架了解安全覆盖范围。
状态:创建规则时,默认情况下规则的“状态”将为“已启用”,这表示当你完成创建后,它将立即运行。 如果不希望立即运行,有以下两种选项:
- 如果选择“已禁用”,则将创建规则而不运行它。 如果希望规则运行,请在“活动规则”选项卡中找到它,并从此处启用。
- 计划规则在特定日期和时间首次运行。 此方法当前以预览版提供。 请参阅本文后面的 查询计划 。
规则查询
规则的本质是:你决定此规则创建的警报中包含哪些信息,以及这些信息的组织方式。 此配置会对产生怎样的事件,以及调查、修复和解决这些事件的难易程度产生后续影响。 警报中的信息应做到越丰富越好,且务必做到轻松即可获取。
查看或输入分析原始日志数据的 Kusto 查询。 若要从头开始创建规则,最好先计划和设计查询,然后再打开此向导。 可以在 “日志 ”页中生成和测试查询。
在规则查询窗口中输入的所有内容会立即进行验证,让你马上知道自己是否犯错。
建议使用 高级安全信息模型(ASIM)分析器 作为查询源,而不是使用本机表。 这将确保查询支持任何当前或未来的相关数据源或数据源系列,而不是依赖于单个数据源。
查询长度应介于 1 到 10,000 个字符之间,并且不得包含“
search *
”或“union *
”。 可以使用 用户定义的函数 来克服查询长度限制,因为单个函数可以替换数十行代码。不支持在 Log Analytics 查询窗口中使用 ADX 函数创建 Azure 数据资源管理器查询。
在查询中使用
bag_unpack
函数时,如果将 列投影 为使用“project field1
”的字段,并且该列不存在,查询将失败。 为防止这种情况发生,您必须按如下方式 投影该列:project field1 = column_ifexists("field1","")
有关详细信息,请参阅:
警报增强
如果希望警报显示发现的情况,以便在事件中立即可见,并相应进行跟踪和调查,请使用警报增强配置以显示警报中所有的重要信息。
此次警报增强新增一项实用功能:以轻松可见、可用方式显示发现的情况。
可以配置以下三种警报增强:
- 实体映射
- 自定义详细信息
- 警报详细信息(也称为动态内容)
实体映射
实体是指任何攻击事件中任意一方的人员。 识别警报中的所有实体对于检测和调查威胁而言至关重要。 为确保 Microsoft Sentinel 识别出原始数据中的实体,必须将 Microsoft Sentinel 识别的实体类型映射到查询结果中的字段中。 此映射将标识的实体集成到警报架构中的“实体”字段中。
若要详细了解实体映射并获取完整说明,请参阅 将数据字段映射到 Microsoft Sentinel 中的实体。
自定义详细信息
默认情况下,事件中只会显示警报实体和元数据,而不会详细钻取到查询结果中的原始事件。 若要在警报和事件中立即显示查询结果中的其他字段,请将其定义为 自定义详细信息。 Microsoft Sentinel 将这些自定义详细信息集成到ExtendedProperties字段中,从而使这些详细信息在您的警报中以及从这些警报创建的任何事件中优先显示。
若要了解有关显示自定义详细信息以及获取完整说明的详细信息,请参阅 Microsoft Sentinel 中的警报中的 Surface 自定义事件详细信息。
警报详细信息
此设置允许根据每个单独警报中各个字段的内容自定义其他标准警报属性。 这些自定义项集成到警报中的 ExtendedProperties 字段中。 例如,可以自定义警报名称或描述以包含警报中包含的用户名或 IP 地址。
若要详细了解如何自定义警报详细信息并获取完整说明,请参阅 Microsoft Sentinel 中的“自定义警报详细信息”。
注意
在 Microsoft Defender 门户上,Microsoft Defender XDR 关联引擎全权负责事件的命名。因此,当从这些警报创建事件时,你自定义的任何警报名称会被替代。
查询计划
以下参数确定计划规则将会在怎样的频率运行,以及每次运行时会检查哪个时间段。
设置 | 行为 |
---|---|
定期运行查询 | 控制 查询间隔:查询的运行频率。 |
查找上次的数据 | 确定 回溯期:查询涵盖的时间段。 |
这两个参数的允许范围为 5 分钟 到 14 天。
查询间隔必须小于或等于回溯期。 如果较短,查询时间段将重叠,这可能会导致结果重复。 不过,规则验证不允许设置比回溯期更长的间隔,因为这会导致覆盖范围出现空白。
“ 开始运行 ”设置现在以预览版提供,允许创建状态 为“已启用”的规则,但要延迟其第一次执行,直到预先确定的日期和时间。 如果希望根据何时从源中引入数据或 SOC 分析师何时开始白天的工作再确定规则的执行时间的话,则此设置非常有用。
设置 | 行为 |
---|---|
自然而然 | 规则将在创建后首次立即运行,此后将按照运行查询每次设置的时间间隔运行。 |
特定时间 (预览版) | 设置规则首次运行的日期和时间,之后它将在每个设置的 “运行”查询 中设置的时间间隔内运行。 |
开始运行时间必须在创建规则(或启用)时间后 10 分钟到 30 天之间。
“ 开始运行 ”设置下的文本行(左侧有信息图标)总结了当前查询计划和回溯设置。
注意
引入延迟
为了考虑在源中生成事件与将事件引入 Microsoft Sentinel 之间可能出现的延迟,并确保实现完全覆盖且数据不会重复,Microsoft Sentinel 从计划的时间起延迟五分钟运行计划的分析规则 。
有关详细信息,请参阅 处理计划分析规则中的引入延迟。
警报阈值
虽然许多类型的安全事件都是正常事件甚至是小概率事件,却是一种迹象,表示存在大量威胁。 不同规模的大数字表示不同类型的威胁。 例如,在 1 分钟的时间内登录尝试失败 2、3 次即表示用户不记得密码,可如果是 1 分钟内失败 5 次则表示是人为攻击,1000 次则可能是自动攻击。
根据规则尝试检测的活动类型,你可以设置一个事件数量最低阈值,达到此阈值才能触发警报。 此阈值单独应用于规则每一次运行,而不是统一应用。
此外,还可将此阈值设置为结果的最大数量或确切数量。
事件分组
可通过两种方法将 事件 分组到 警报中:
将所有事件分组到单个警报中: 这是默认值。 只要查询返回的结果多于上一节中所述的指定 警报阈值 ,规则每次运行时都会生成一个警报。 此单个警报汇总了查询结果中返回的所有事件。
为每个事件触发警报: 该规则为查询返回的每个事件(结果)生成唯一警报。 如果你希望单独显示各个事件,或者希望按特定参数(按用户、主机名或其他内容)将事件分组,这种模式会很有用。 你可以在查询中定义这些参数。 |
分析规则最多可以生成 150 个警报。 如果 事件分组 设置为 为每个事件触发警报,并且规则的查询返回 超过 150 个事件,则前 149 个事件将生成唯一警报(对于 149 个警报),第 150 个警报将汇总整个返回的事件集。 换句话说,如果 事件分组 设置为将所有 事件分组为单个警报,则第 150 个警报将生成的内容。
为每个事件触发警报的设置可能会导致查询结果看起来缺失或与预期不同的问题。 有关此方案的详细信息,请参阅 Microsoft Sentinel 中的分析规则疑难解答 |问题:查询结果中未显示任何事件。
禁止
如果希望此规则在生成警报后停止工作一段时间,请将“生成警报后停止运行查询”设置设置为“开”。 然后,必须将 “停止运行”查询 设置为查询应停止运行的时间,最长为 24 小时。
结果模拟
分析规则向导允许你通过在当前数据集上运行规则,以测试其有效性。 运行测试时,结果模拟窗口将显示一张图表,展示查询在过去 50 次运行中生成的结果,这具体取决于当前定义的计划。 如果修改查询,则可再次运行测试更新此图表。 此图表展示了定义的时段内的结果数,该时段由查询计划定义。
上面的屏幕截图中的查询的结果模拟如下所示。 左侧是默认视图,右侧是将鼠标指针悬停在图表上的某个时间点上时所显示的内容。
如果你发现查询将触发的警报过多或过于频繁,可以对计划和阈值设置进行试验,然后再次运行模拟。
事件设置
选择 Microsoft Sentinel 是否将警报转换为可操作事件。
默认情况下启用事件创建。 Microsoft Sentinel 创建一个单独的事件,该事件与规则生成的每个警报分开。
如果你不需要让此规则生成任何故障事件(例如,在此规则只用于收集信息以供以后进行分析的情况下),则将此设置设为“已禁用”。
重要
如果将 Microsoft Sentinel 载入 Defender 门户,则由 Microsoft Defender 负责创建事件。 但是,如果希望 Defender XDR 为此警报创建事件,则必须保留此设置 已启用。 Microsoft Defender XDR 采用这里定义的说明。
不要与 Microsoft Defender 服务中生成的警报创建事件的分析规则的 Microsoft 安全类型混淆。 将 Microsoft Sentinel 载入 Defender 门户后,会自动禁用这些规则。
如果想要通过一组警报创建单个故障事件,而不是为每一个警报生成一个故障事件,请参阅下一节内容。
警报分组
选择警报在事件中的分组方式。 默认情况下,Microsoft Sentinel 为每个生成的警报创建事件。 可以选择将多个警报组合成单个事件。
只有在生成所有警报后才会创建事件。 所有警报将在事件创建后立即添加到事件中。
最多可将 150 个警报分组到一个故障事件。 如果将警报分组到一个故障事件的规则生成了 150 个以上的警报,该规则将使用与初始故障事件详细信息同样的内容生成一个新故障事件,并将超出数目的警报分组到这个新的故障事件。
若要将警报组合在一起,请将警报分组设置设置为 “已启用”。
对警报进行分组时,可以考虑以下几种选项:
期限:默认情况下,在事件中,第一个警报后最多 5 小时内创建的警报将被添加到同一事件中。 5 小时后创建新事件。 可将此期限调整为 5 分钟到 7 天之间的任意值。
分组条件: 选择如何确定组中包括哪些警报。 下表列出了可能的选择:
选项 说明 如果所有实体都匹配,则将警报分组为单个事件 如果警报为前面定义的每个 映射实体 共享相同的值,则警报将分组在一起。 建议使用此设置。 将此规则触发的所有警报分组到单个事件中 将此规则生成的所有警报都组合在一起,即使这些警报没有相同的值也是如此。 如果所选实体和详细信息匹配,则将警报分组到单个事件中 如果警报对所有 映射实体、 警报详细信息和为此设置选择的 自定义详细信息 共享相同的值,则警报将分组在一起。 从选择此选项时出现的下拉列表中选择实体和详细信息。
例如,如果你想要基于源或目标 IP 地址创建单独的事件,或者想要对匹配特定实体和严重性的警报进行分组,则可能需要使用此设置。
注意:选择此选项时,必须至少为规则选择一个实体或详细信息。 否则,规则验证将失败,并且不会创建规则。重新打开事件:如果事件已解决并关闭,然后生成另一个应属于该事件的警报,请将此设置设置为 “已启用 ”(如果希望重新打开已关闭的事件),如果希望新警报创建新事件,则保留为 “已禁用 ”。
如果将 Microsoft Sentinel 载入 Defender 门户,则重新打开已关闭的事件的选项显示为“不可用”。
自动响应
Microsoft Sentinel 允许在执行以下操作时设置自动响应:
- 当此分析规则生成警报时。
- 从此分析规则生成的警报创建事件时。
- 当更新了包含由此分析规则生成的警报的事件时。
若要了解有关可创建和自动化的各种响应的详细信息,请参阅使用 自动化规则在 Microsoft Sentinel 中自动执行威胁响应。
在 “自动化规则 ”标题下,向导显示已在整个工作区上定义的自动化规则列表,这些规则的条件适用于此分析规则。 可以编辑这些现有规则中的任何一个,也可以创建仅适用于此分析 规则的新自动化规则 。
通过从这些自动化规则调用 playbook 来自动执行更复杂的任务并调用来自远程系统的响应以修正威胁。 可以针对事件和单个警报调用 playbook。
有关创建剧本和自动化规则的详细信息和说明,请参阅自动执行威胁响应。
有关何时使用 事件创建的触发器、事件更新的触发器或 警报创建的触发器的详细信息,请参阅 在 Microsoft Sentinel 工作簿中使用触发器和操作。
在 “警报自动化”(经典) 标题下,您可能会看到配置为使用旧方法自动运行的剧本列表,该方法将于 2026 年 3 月弃用。 无法向此列表添加任何内容。 这里列出的任何 playbook 都应基于警报创建的触发器创建自动化规则,以调用这些 playbook。 完成此操作后,选择此处列出的 playbook 行尾的省略号,然后选择“删除”。 有关完整说明,请参阅将 Microsoft Sentinel 警报触发器 playbook 迁移到自动化规则。
后续步骤
在整个环境下使用 Microsoft Sentinel 分析规则检测来自 Microsoft Sentinel 的威胁时,请务必启用与连接的数据源关联的所有规则,以确保环境的全方位安全性。
若要自动启用规则,请通过 API 和 PowerShell 将规则推送到 Microsoft Sentinel,尽管这样做需要额外努力。 使用 API 或 PowerShell 时,必须先将规则导出到 JSON,然后才能启用规则。 在 Microsoft Sentinel 的多个实例(每个实例的设置都相同)中启用规则时,API 或 PowerShell 可能会有所帮助。
有关详细信息,请参阅: