事件筛选器
编辑事件筛选器编辑
通过 API 创建、检索、更新和删除端点 事件筛选器。事件筛选器通过 异常 API 进行管理,使用静态容器 ID(list_id
)endpoint_event_filters
,此 ID 必须在添加事件筛选器之前创建。为了访问这些 API,用户必须有管理端点的权限。
创建事件筛选器容器编辑
POST <kibana 主机>:<端口>/api/exception_lists
请求正文编辑
包含以下所列字段的 JSON 对象。请求必须具有以下规则
list_id
值必须是endpoint_event_filters
。namespace_type
值必须是agnostic
。type
值必须是endpoint_events
。
名称 | 类型 | 描述 | 必需 |
---|---|---|---|
|
字符串 |
描述事件筛选器容器。 |
是 |
|
字符串 |
必须设置为 |
是 |
|
对象 |
列表容器元数据的占位符。 |
否 |
|
字符串 |
事件筛选器容器的名称。 |
是 |
|
字符串 |
必须设置为 |
是 |
|
String[] |
包含词语和短语的字符串数组,有助于对事件筛选器容器进行分类。 |
否 |
|
字符串 |
必须设置为 |
是 |
示例请求编辑
POST api/exception_lists { "description": "Elastic Defend Event Filters List", "name": "Elastic Defend Event Filters List", "list_id": "endpoint_event_filters", "type": "endpoint_events", "namespace_type": "agnostic" }
响应代码编辑
-
200
- 表示成功调用。
响应有效负载编辑
{ "_tags": [], "created_at": "2020-07-13T09:33:46.187Z", "created_by": "user", "description": "Elastic Defend Event Filters List", "name": "Elastic Defend Event Filters List", "list_id": "endpoint_event_filters", "type": "endpoint", "namespace_type": "agnostic", "id": "f320c070-c4eb-11ea-80bb-11861bae2798", "tags": [], "tie_breaker_id": "2c08d5a5-2ecc-4d5a-acfb-0a367f25b3f3", "updated_at": "2020-07-13T09:33:46.359Z", "updated_by": "user" }
创建事件过滤器编辑
POST <kibana 主机>:<port>/api/exception_lists/items
请求正文编辑
包含以下所列字段的 JSON 对象。请求必须具有以下规则
list_id
值必须是endpoint_event_filters
。namespace_type
值必须是agnostic
。type
值必须是simple
。
名称 | 类型 | 描述 | 必需 |
---|---|---|---|
|
注释[] |
包含 |
否,默认为空数组。 |
|
字符串 |
描述事件过滤器项。 |
是 |
|
条目[] |
包含事件过滤器查询条件的数组。有关更多详细信息,请参见 |
是。 |
|
字符串 |
必须设置为 |
是 |
|
字符串 |
异常项的唯一标识符。 |
否,在未提供时自动创建。 |
|
对象 |
异常项的元数据占位符。 |
否 |
|
字符串 |
事件过滤器的名称。 |
是 |
|
字符串 |
对于端点工件,必须设置为 |
是 |
|
操作系统类型[] |
使用此字段指定 操作系统。仅输入一个值。 |
是 |
|
String[] |
一个字符串数组,其中包含用于帮助对异常项进行分类的单词和短语。标记还可用于将事件过滤器定义为全局适用于所有策略或分配给一个或多个策略(每个策略)。有关更多详细信息,请参见 范围分配。 |
否 |
|
字符串 |
必须设置为 |
是 |
示例请求编辑
POST api/exception_lists/items { "comments": [ { "comment": "a new comment about this entry" } ], "description": "some description about this entry", "entries": [ { "field": "process.executable", "operator": "included", "type": "match", "value": "c:\\applications\\elastic\\foo.exe" } ], "list_id": "endpoint_event_filters", "name": "Some name for this item", "namespace_type": "agnostic", "os_types": [ "windows" ], "tags": [ "policy:all" ], "type": "simple" }
响应代码编辑
-
200
- 表示成功调用。
响应有效负载编辑
{ "_version": "WzEzNjIsMV0=", "comments": [ { "comment": "a comment", "created_at": "2022-03-01T16:24:39.471Z", "created_by": "user", "id": "c585d25c-6cb1-43a4-bcfc-919a270c99c1" } ], "created_at": "2022-03-01T16:24:39.471Z", "created_by": "user", "description": "some description about this entry", "entries": [ { "field": "process.executable", "operator": "included", "type": "match", "value": "c:\\applications\\elastic\\foo.exe" } ], "id": "17ba1bf0-997c-11ec-b212-9f4ed8b5942f", "item_id": "29f480e6-6d34-4bc7-9038-f809f11cb679", "list_id": "endpoint_event_filters", "name": "Some name for this item", "namespace_type": "agnostic", "os_types": [ "windows" ], "tags": [ "policy:all" ], "tie_breaker_id": "c6bedf22-2292-4d4a-8eb8-e29a50b5b519", "type": "simple", "updated_at": "2022-03-01T16:24:39.475Z", "updated_by": "user" }
更新事件过滤器编辑
PUT <kibana 主机>:<port>/api/exception_lists/items
请求正文编辑
包含以下所列字段的 JSON 对象。请求必须具有以下规则
list_id
值必须是endpoint_event_filters
。namespace_type
值必须是agnostic
。type
值必须是simple
。
名称 | 类型 | 描述 | 必需 |
---|---|---|---|
|
注释[] |
包含 |
否,默认为空数组。 |
|
字符串 |
描述事件过滤器。 |
是 |
|
条目[] |
包含事件过滤器查询条件的数组。有关更多详细信息,请参见 |
是。 |
|
字符串 |
项目的唯一标识符。 |
是,当项目的 |
|
字符串 |
你正在更新的项目的 |
是,当项目的 |
|
对象 |
异常项的元数据占位符。 |
否 |
|
字符串 |
事件过滤器的名称。 |
是 |
|
字符串 |
必须设置为 |
是 |
|
操作系统类型[] |
数组 os_type 值。 |
是 |
|
String[] |
一个字符串数组,其中包含用于帮助对异常项进行分类的单词和短语。标记还可用于将事件过滤器定义为全局适用于所有策略或分配给一个或多个策略(每个策略)。有关更多详细信息,请参见 范围分配。 |
否 |
|
字符串 |
必须是 |
是 |
|
字符串 |
版本标识符,通常在检索项目时由 API 返回。使用它确保针对最新版本完成更新。 |
否 |
示例请求编辑
更新 entries
PUT api/exception_lists/items { "_version": "WzEzNjIsMV0=", "name": "Some name for this item updated", "description": "some description about this entry updated", "entries": [ { "field": "process.executable", "operator": "included", "type": "match", "value": "c:\\applications\\elastic\\fooV2.exe" } ], "os_types": [ "windows" ], "tags": [ "policy:all" ], "id": "17ba1bf0-997c-11ec-b212-9f4ed8b5942f", "comments": [ { "comment": "a comment", "created_at": "2022-03-01T16:24:39.471Z", "created_by": "user", "id": "c585d25c-6cb1-43a4-bcfc-919a270c99c1" }, { "comment": "new comment" } ], "item_id": "29f480e6-6d34-4bc7-9038-f809f11cb679", "namespace_type": "agnostic", "type": "simple" }
响应代码编辑
-
200
- 表示成功调用。
响应负载编辑
{ "_version": "WzEzNjcsMV0=", "comments": [ { "comment": "a comment", "created_at": "2022-03-01T16:24:39.471Z", "created_by": "user", "id": "c585d25c-6cb1-43a4-bcfc-919a270c99c1" }, { "comment": "new comment", "created_at": "2022-03-02T11:22:19.471Z", "created_by": "user", "id": "cd85d25c-6cb1-83a4-bcfc-915a270c19c1" } ] "created_at": "2022-03-01T16:24:39.471Z", "created_by": "user", "description": "some description about this entry updated", "entries": [ { "field": "process.executable", "operator": "included", "type": "match", "value": "c:\\applications\\elastic\\fooV2.exe" } ], "id": "17ba1bf0-997c-11ec-b212-9f4ed8b5942f", "item_id": "29f480e6-6d34-4bc7-9038-f809f11cb679", "list_id": "endpoint_event_filters", "name": "Some name for this item updated", "namespace_type": "agnostic", "os_types": [ "windows" ], "tags": [ "policy:all" ], "tie_breaker_id": "c6bedf22-2292-4d4a-8eb8-e29a50b5b519", "type": "simple", "updated_at": "2022-03-01T17:21:07.273Z", "updated_by": "user" }
删除事件过滤器编辑
DELETE <kibana 主机>:<端口>/api/exception_lists/items
URL 参数编辑
URL 查询必须包含以下项之一
-
id
- 项目的id
,或 -
item_id
- 项目的item_id
除此之外, namespace_type
URL 查询参数也是必需的,其值为 agnostic
。
示例请求编辑
删除 item_id
为 29f480e6-6d34-4bc7-9038-f809f11cb679
的事件过滤器
DELETE api/exception_lists/items?item_id=29f480e6-6d34-4bc7-9038-f809f11cb679&namespace_type=agnostic
响应代码编辑
-
200
- 表示成功调用。
响应负载编辑
已删除的项目
{ "_version": "WzEzNjcsMV0=", "comments": [ { "comment": "a comment", "created_at": "2022-03-01T16:24:39.471Z", "created_by": "user", "id": "c585d25c-6cb1-43a4-bcfc-919a270c99c1" }, { "comment": "new comment", "created_at": "2022-03-02T11:22:19.471Z", "created_by": "user", "id": "cd85d25c-6cb1-83a4-bcfc-915a270c19c1" } ] "created_at": "2022-03-01T16:24:39.471Z", "created_by": "user", "description": "some description about this entry updated", "entries": [ { "field": "process.executable", "operator": "included", "type": "match", "value": "c:\\applications\\elastic\\fooV2.exe" } ], "id": "17ba1bf0-997c-11ec-b212-9f4ed8b5942f", "item_id": "29f480e6-6d34-4bc7-9038-f809f11cb679", "list_id": "endpoint_event_filters", "name": "Some name for this item updated", "namespace_type": "agnostic", "os_types": [ "windows" ], "tags": [ "policy:all" ], "tie_breaker_id": "c6bedf22-2292-4d4a-8eb8-e29a50b5b519", "type": "simple", "updated_at": "2022-03-01T17:21:07.273Z", "updated_by": "user" }
检索单个事件过滤器编辑
GET <kibana 主机>:<端口>/api/exception_lists/items
URL 查询参数编辑
URL 查询必须包含以下项之一
-
id
- 项目的id
,或 -
item_id
- 项目的item_id
除此之外, namespace_type
URL 查询参数也是必需的,其值为 agnostic
。
请求示例编辑
GET api/exception_lists/items?item_id=29f480e6-6d34-4bc7-9038-f809f11cb679&namespace_type=agnostic
响应代码编辑
-
200
- 表示成功调用。
响应负载编辑
{ "_version": "WzEzNjcsMV0=", "comments": [ { "comment": "a comment", "created_at": "2022-03-01T16:24:39.471Z", "created_by": "user", "id": "c585d25c-6cb1-43a4-bcfc-919a270c99c1" }, { "comment": "new comment", "created_at": "2022-03-02T11:22:19.471Z", "created_by": "user", "id": "cd85d25c-6cb1-83a4-bcfc-915a270c19c1" } ] "created_at": "2022-03-01T16:24:39.471Z", "created_by": "user", "description": "some description about this entry updated", "entries": [ { "field": "process.executable", "operator": "included", "type": "match", "value": "c:\\applications\\elastic\\fooV2.exe" } ], "id": "17ba1bf0-997c-11ec-b212-9f4ed8b5942f", "item_id": "29f480e6-6d34-4bc7-9038-f809f11cb679", "list_id": "endpoint_event_filters", "name": "Some name for this item updated", "namespace_type": "agnostic", "os_types": [ "windows" ], "tags": [ "policy:all" ], "tie_breaker_id": "c6bedf22-2292-4d4a-8eb8-e29a50b5b519", "type": "simple", "updated_at": "2022-03-01T17:21:07.273Z", "updated_by": "user" }
查找事件过滤器编辑
GET <kibana 主机>:<端口>/api/exception_lists/items/_find
URL 查询参数编辑
名称 | 类型 | 描述 | 必需 |
---|---|---|---|
|
字符串 |
必须设置为 |
是 |
|
字符串 |
必须设置为 |
是 |
|
整数 |
返回的页号。 |
否 |
|
整数 |
每页返回的项目数。 |
否 |
|
字符串 |
确定用于对结果进行排序的字段。 |
否 |
|
字符串 |
确定排序顺序,可以是 |
否 |
|
字符串 |
一个 Kibana 查询语言 (KQL) 字符串,用于对结果进行过滤。 |
否 |
请求示例编辑
GET api/exception_lists/items/_find?page=1&per_page=10&sort_field=name&sort_order=asc&list_id=endpoint_event_filters&namespace_type=agnostic
响应代码编辑
-
200
- 表示成功调用。
响应负载编辑
{ "data": [ { "_version": "WzEzNjcsMV0=", "comments": [ { "comment": "a comment", "created_at": "2022-03-01T16:24:39.471Z", "created_by": "user", "id": "c585d25c-6cb1-43a4-bcfc-919a270c99c1" }, { "comment": "new comment", "created_at": "2022-03-02T11:22:19.471Z", "created_by": "user", "id": "cd85d25c-6cb1-83a4-bcfc-915a270c19c1" } ] "created_at": "2022-03-01T16:24:39.471Z", "created_by": "user", "description": "some description about this entry updated", "entries": [ { "field": "process.executable", "operator": "included", "type": "match", "value": "c:\\applications\\elastic\\fooV2.exe" } ], "id": "17ba1bf0-997c-11ec-b212-9f4ed8b5942f", "item_id": "29f480e6-6d34-4bc7-9038-f809f11cb679", "list_id": "endpoint_event_filters", "name": "Some name for this item updated", "namespace_type": "agnostic", "os_types": [ "windows" ], "tags": [ "policy:all" ], "tie_breaker_id": "c6bedf22-2292-4d4a-8eb8-e29a50b5b519", "type": "simple", "updated_at": "2022-03-01T17:21:07.273Z", "updated_by": "user" } ], "page": 1, "per_page": 10, "total": 1 }
值类型编辑
以下说明使用 创建 或 更新 事件过滤器 API 时可以定义的类型
评论
对象模式编辑
注释是包含以下结构的 JSON 对象
{ "comment": "some comment here" }
当与更新 API 结合使用时,可以使用其关联的 id
来更新现有注释,而任何不含 id
属性的注释都将作为新注释添加
{ "comment": "some comment here - updated", "id": "1078cf59-5893-4143-acf7-40a40af16bee" }
范围分配编辑
事件过滤器可以跨所有端点策略全局分配,也可以分配给特定策略。你可以通过定义一个或多个以 policy:
为前缀的标签来分配事件过滤器。请注意,事件过滤器可以是全局的,也可以是针对每个策略的,但不能 同时 是全局和针对每个策略的。可以使用以下标签来控制分配范围
-
policy:all
:针对所有策略的事件过滤器是全局的。如果使用,则不允许使用任何其他policy:
标签。 -
policy:<endpoint-policy-id>
:事件过滤器分配给策略。可以使用多个per policy
标签将事件过滤器与多个策略相关联。
entry
对象架构编辑
事件过滤器允许定义无限数量的条件。每个事件过滤器条目包含一个 entry
对象,该对象具有带有值的 type
、value
、field
和 operator
键。条目对象中支持以下运算符
运算符 is
编辑
与给定的单个值完全匹配。
{ "field": "process.executable.caseless", "value": "c:/path/to/file.exe", "type": "match", "operator": "included" }
运算符 is not
编辑
与给定的单个值不完全匹配。
{ "field": "process.executable.caseless", "value": "c:/path/to/file.exe", "type": "match", "operator": "excluded" }
运算符 is one of
编辑
与给定值列表中的任何一个值完全匹配。
{ "field": "process.executable.caseless", "value": ["c:/path/to/file.exe", "c:/path/to/file2.exe"], "type": "match_any", "operator": "included" }
运算符 is not one of
编辑
与给定值列表中的任何一个值都不完全匹配。
{ "field": "process.executable.caseless", "value": ["c:/path/to/file.exe", "c:/path/to/file2.exe"], "type": "match_any", "operator": "excluded" }
嵌套条件编辑
对于 nested
条目,顶级仅具有 type
、field
以及包含 entry
对象列表的 entries
数组
{ "entries": [ { "field": "exists", "operator": "included", "type": "match", "value": "true" } ], "field": "process.Ext.code_signature", "type": "nested" }