更新规则
编辑更新规则编辑
当与 API 密钥 身份验证一起使用时,用户的密钥将被分配给受影响的规则。如果用户的密钥被删除或用户变为非活动状态,则规则将停止运行。
如果用于授权的 API 密钥与创建或最近更新规则的密钥具有不同的权限,则规则行为可能会发生变化。
更新现有的检测规则。
可以使用 PUT
或 PATCH
方法更新规则,其中
-
PUT
替换原始规则并删除未指定的字段。 -
PATCH
更新指定的字段。
请求 URL编辑
PUT <kibana 主机>:<端口>/api/detection_engine/rules
PATCH <kibana 主机>:<端口>/api/detection_engine/rules
请求体编辑
一个包含以下内容的 JSON 对象:
- 要更新的规则的
id
或rule_id
字段。 - 要修改的字段。
如果调用 PUT
来更新规则,则所有未指定的字段都将被删除。无法修改 id
或 rule_id
值。
对于 PATCH
调用,可以修改任何字段,而对于 PUT
调用,某些字段是必需的。
对 PUT
调用必需的字段编辑
名称 | 类型 | 描述 |
---|---|---|
description |
字符串 |
规则的描述。 |
name |
字符串 |
规则的名称。 |
risk_score |
整数 |
警报严重程度的数值表示,从 0 到 100,其中
|
severity |
字符串 |
规则生成的警报的严重程度级别,必须是以下之一:
|
type |
字符串 |
规则基于的数据类型
|
对阈值规则 PUT
调用必需的字段编辑
名称 | 类型 | 描述 |
---|---|---|
threshold |
对象 |
定义生成警报时的字段和阈值,其中
|
对已保存的查询规则 PUT
调用必需的字段编辑
名称 | 类型 | 描述 |
---|---|---|
saved_id |
字符串 |
规则用来创建警报的 Kibana 已保存搜索。 |
对 EQL 规则 PUT
调用必需的字段编辑
名称 | 类型 | 描述 |
---|---|---|
language |
字符串 |
必须是 |
对 ES|QL 规则 PUT
调用必需的字段编辑
名称 | 类型 | 描述 |
---|---|---|
language |
字符串 |
必须是 |
对机器学习规则 PUT
调用必需的字段编辑
名称 | 类型 | 描述 |
---|---|---|
anomaly_threshold |
整数 |
规则创建警报的异常评分阈值。有效值为 |
machine_learning_job_id |
字符串 |
规则监视异常评分的机器学习作业 ID。 |
对威胁匹配规则 PUT
调用必需的字段编辑
名称 | 类型 | 描述 |
---|---|---|
threat_index |
字符串数组 |
用于检查哪些字段值会生成警报的 Elasticsearch 索引。 |
threat_query |
字符串 |
用于确定 Elasticsearch 索引中哪些字段用于生成警报的查询。 |
threat_mapping |
对象数组 |
定义源事件字段与 Elasticsearch 威胁索引中的值之间的映射的
可以使用布尔 |
对新词规则 PUT
调用必需的字段编辑
名称 | 类型 | 描述 |
---|---|---|
new_terms_fields |
字符串数组 |
要监视新值的字段。必须包含 1-3 个字段名称。 |
history_window_start |
字符串 |
检查术语是否以前出现过的起始日期。支持相对日期,例如, |
所有规则类型的可选字段编辑
名称 | 类型 | 描述 |
---|---|---|
actions |
定义生成警报时采取的自动操作(通知)的数组。 |
|
author |
字符串数组 |
规则的作者。 |
building_block_type |
字符串 |
确定规则是否充当构建块。默认情况下,构建块警报不会显示在 UI 中。这些规则用作生成警报的其他规则的基础。其值必须是 |
enabled |
布尔值 |
确定规则是否启用。默认为 |
false_positives |
字符串数组 |
用于描述规则可能发出误报警报的常见原因的字符串数组。默认为空数组。 |
from |
字符串 |
规则每次执行时分析数据的起始时间,使用 日期数学范围。例如, |
interval |
字符串 |
规则执行频率,使用 日期数学范围。例如, |
license |
字符串 |
规则的许可证。 |
max_signals |
整数 |
规则在单次执行期间可以创建的警报的最大数量。默认为 |
meta |
对象 |
用于保存关于规则的元数据的占位符。 注意:当您保存对规则设置的更改时,此字段将被覆盖。 |
note |
字符串 |
有助于调查规则生成的警报的注释。 |
references |
字符串数组 |
包含关于规则的相关信息或参考的数组。默认为空数组。 |
setup |
字符串 |
使用有关规则先决条件(例如必需的集成、配置步骤以及规则正常工作所需的任何其他内容)的说明填充规则的设置指南。 |
tags |
字符串数组 |
包含有助于对规则进行分类、筛选和搜索的词语和短语的字符串数组。默认为空数组。 |
threat |
包含关于规则监视的威胁类型的攻击信息的 Object,参见 ECS 威胁字段。默认为空数组。 |
|
throttle |
字符串 |
确定操作的执行频率 规则级别的 在 Elastic Security 8.8 及更高版本中,您可以使用 (
当 |
版本 |
整数 |
规则的版本号。如果未提供,则规则的版本号将加 1。
|
威胁匹配规则的可选字段编辑
名称 | 类型 | 描述 |
---|---|---|
威胁过滤器 |
对象数组 |
查询和过滤器上下文 用于从包含威胁值的 Elasticsearch 索引中过滤文档的数组。 |
威胁指标路径 |
字符串 |
与摄取处理器类似,用户可以使用此字段定义威胁指标在指标文档中的位置。默认为 |
查询、威胁匹配、阈值和新词条规则的可选字段编辑
名称 | 类型 | 描述 |
---|---|---|
language |
字符串 |
确定查询语言,必须是 |
EQL、查询、阈值、指标匹配、新词条规则和 ES|QL 规则的可选字段编辑
名称 | 类型 | 描述 |
---|---|---|
过滤器 |
对象数组 |
用于定义何时从事件创建警报的条件的 查询和过滤器上下文 数组。默认为空数组。 此字段不支持 ES|QL 规则。 |
索引 |
字符串数组 |
规则在其上运行的索引。默认为 Kibana 高级设置页面 (Kibana → 堆栈管理 → 高级设置 → 此字段不支持 ES|QL 规则。 |
风险评分映射 |
对象数组 |
使用源事件中的值覆盖生成的警报的
|
规则名称覆盖 |
字符串 |
设置源事件中用于填充警报的 |
严重性映射 |
对象数组 |
使用源事件中的值覆盖生成的警报的
|
时间戳覆盖 |
字符串 |
设置用于查询索引的时间字段。如果未指定,则规则会查询 |
例外列表 |
对象数组 |
例外容器 的数组,它定义了即使满足规则的其他条件,也会阻止规则生成警报的例外。该对象具有以下字段
|
EQL 规则的可选字段编辑
名称 | 类型 | 描述 |
---|---|---|
事件类别字段 |
字符串 |
包含事件分类,例如 |
决胜局字段 |
字符串 |
如果事件具有相同的时间戳,则设置用于对事件进行排序(按升序,字典顺序)的辅助字段。 |
时间戳字段 |
字符串 |
包含用于对一系列事件进行排序的事件时间戳。这与 |
actions
架构编辑
调用 PUT
修改 actions
对象时需要这些字段
名称 | 类型 | 描述 |
---|---|---|
action_type_id |
字符串 |
用于发送通知的操作类型,可以是
|
组 |
字符串 |
可选地按用例对操作进行分组。对于警报通知,请使用 |
ID |
字符串 |
连接器 ID。 |
参数 |
对象 |
包含允许的连接器字段的对象,根据连接器类型而异
|
可选 action
字段编辑
名称 | 类型 | 描述 |
---|---|---|
频率 |
字符串 |
包含操作频率的对象
|
警报过滤器 |
对象 |
包含操作条件过滤器的对象
|
threat
架构编辑
调用 PUT
修改 threat
对象时需要这些字段
名称 | 类型 | 描述 |
---|---|---|
框架 |
字符串 |
相关的攻击框架。 |
战术 |
对象 |
包含有关攻击类型的信息的对象
|
技术 |
对象 |
包含有关攻击技术的信息的对象
|
仅使用 MITRE ATT&CKTM 框架描述的威胁才会显示在 UI 中 (规则 → 检测规则 (SIEM) → 规则名称)。
查询、指标匹配、阈值、事件关联(仅非序列查询)和新词条规则的可选警报抑制字段编辑
警报抑制功能目前处于技术预览阶段,适用于阈值、指标匹配、事件关联和新术语规则。此功能可能会在未来版本中发生更改或删除。Elastic 将努力修复任何问题,但技术预览中的功能不受官方 GA 功能的支持 SLA 约束。
查询、指标匹配、事件关联(仅限非序列查询)和新术语规则编辑
名称 | 类型 | 描述 |
---|---|---|
alert_suppression |
对象 |
定义警报抑制配置。可用字段
|
示例请求编辑
更新 threat
对象
PATCH api/detection_engine/rules { "rule_id": "process_started_by_ms_office_program_possible_payload", "threat": [ { "framework": "MITRE ATT&CK", "tactic": { "id": "TA0001", "reference": "https://attack.mitre.org/tactics/TA0001", "name": "Initial Access" }, "technique": [ { "id": "T1193", "name": "Spearphishing Attachment", "reference": "https://attack.mitre.org/techniques/T1193" } ] } ] }
响应代码编辑
-
200
- 表示成功调用。
响应有效负载编辑
规则更新后的 JSON 对象,包括规则更新的时间和增量版本号。
示例响应
{ "created_at": "2020-01-05T09:56:11.805Z", "updated_at": "2020-01-05T09:59:59.129Z", "created_by": "elastic", "description": "Process started by MS Office program - possible payload", "enabled": false, "false_positives": [], "filters": [ { "query": { "match": { "event.action": { "query": "Process Create (rule: ProcessCreate)", "type": "phrase" } } } } ], "from": "now-6m", "id": "4f228868-9928-47e4-9785-9a1a9b520c7f", "interval": "5m", "rule_id": "process_started_by_ms_office_program_possible_payload", "language": "kuery", "max_signals": 100, "risk_score": 50, "name": "MS Office child process", "query": "process.parent.name:EXCEL.EXE or process.parent.name:MSPUB.EXE or process.parent.name:OUTLOOK.EXE or process.parent.name:POWERPNT.EXE or process.parent.name:VISIO.EXE or process.parent.name:WINWORD.EXE", "references": [], "severity": "low", "updated_by": "elastic", "tags": [ "child process", "ms office" ], "related_integrations": [], "required_fields": [], "setup": "", "type": "query", "threat": [ { "framework": "MITRE ATT&CK", "tactic": { "id": "TA0001", "reference": "https://attack.mitre.org/tactics/TA0001", "name": "Initial Access" }, "technique": [ { "id": "T1193", "name": "Spearphishing Attachment", "reference": "https://attack.mitre.org/techniques/T1193" } ] } ], "execution_summary": { "last_execution": { "date": "2022-03-23T16:06:12.787Z", "status": "partial failure", "status_order": 20, "message": "This rule attempted to query data from Elasticsearch indices listed in the \"Index pattern\" section of the rule definition, but no matching index was found.", "metrics": { "total_search_duration_ms": 135, "total_indexing_duration_ms": 15, "execution_gap_duration_s": 0, } } }, "version": 2 }