可信应用程序
编辑可信应用程序
编辑通过 API 创建、检索、更新和删除端点可信应用程序。端点可信应用程序通过使用静态容器 ID (list_id
) endpoint_trusted_apps
的异常 API进行管理,该容器 ID 必须在添加可信应用程序之前创建。访问这些 API 需要用户具有管理端点的授权。
创建可信应用程序容器
编辑POST <kibana 主机>:<端口>/api/exception_lists
请求体
编辑一个包含下列字段的 JSON 对象。该请求必须具有以下内容:
list_id
值必须为endpoint_trusted_apps
。namespace_type
值必须为agnostic
。type
值必须为endpoint
。
名称 | 类型 | 描述 | 必需 |
---|---|---|---|
|
字符串 |
描述可信应用程序容器。 |
是 |
|
字符串 |
必须设置为 |
是 |
|
对象 |
关于列表容器的元数据的占位符。 |
否 |
|
字符串 |
可信应用程序容器的名称。 |
是 |
|
字符串 |
必须设置为 |
是 |
|
字符串[] |
字符串数组,包含用于帮助分类可信应用程序容器的单词和短语。 |
否 |
|
字符串 |
必须设置为 |
是 |
示例请求
编辑POST api/exception_lists { "description": "Elastic Defend Trusted Apps List", "name": "Elastic Defend Trusted Apps List", "list_id": "endpoint_trusted_apps", "type": "endpoint", "namespace_type": "agnostic" }
响应代码
编辑-
200
- 表示调用成功。
响应负载
编辑{ "_tags": [], "created_at": "2020-07-13T09:33:46.187Z", "created_by": "elastic", "description": "Elastic Defend Trusted Apps List", "name": "Elastic Defend Trusted Apps List", "list_id": "endpoint_trusted_apps", "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": "elastic" }
创建可信应用程序
编辑POST <kibana 主机>:<端口>/api/exception_lists/items
请求体
编辑一个包含下列字段的 JSON 对象。该请求必须具有以下内容:
list_id
值必须为endpoint_trusted_apps
。namespace_type
值必须为agnostic
。type
值必须为simple
。
名称 | 类型 | 描述 | 必需 |
---|---|---|---|
|
comment[] |
|
否,默认为空数组。 |
|
字符串 |
描述可信应用程序项。 |
是 |
|
entry[] |
包含可信应用程序查询条件的数组。有关详细信息,请参阅 |
是。 |
|
字符串 |
必须设置为 |
是 |
|
字符串 |
异常项的唯一标识符。 |
否,未提供时自动创建。 |
|
对象 |
关于异常项的元数据的占位符。 |
否 |
|
字符串 |
可信应用程序名称。 |
是 |
|
字符串 |
对于端点工件,必须设置为 |
是 |
|
os_type[] |
使用此字段指定操作系统。仅输入一个值。 |
是 |
|
字符串[] |
一个包含单词和短语的字符串数组,用于帮助分类异常项。标签还可以用于将可信应用程序定义为全局适用于所有策略,或者分配给一个或多个策略(按策略)。有关详细信息,请参阅范围分配。 |
否 |
|
字符串 |
必须设置为 |
是 |
示例请求
编辑POST api/exception_lists/items { "comments": [], "description": "some description about this entry", "entries": [ { "field": "process.executable.caseless", "value": "c:\\applications\\elastic\\foo.exe", "type": "match", "operator": "included" } ], "list_id": "endpoint_trusted_apps", "name": "Some name for this item", "namespace_type": "agnostic", "os_types": [ "windows" ], "tags": [ "policy:all" ], "type": "simple" }
响应代码
编辑-
200
- 表示调用成功。
响应负载
编辑{ "_version": "WzEzNjIsMV0=", "comments": [], "created_at": "2022-03-01T16:24:39.471Z", "created_by": "elastic", "description": "some description about this entry", "entries": [ { "field": "process.executable.caseless", "value": "c:\\applications\\elastic\\foo.exe", "type": "match", "operator": "included" } ], "id": "17ba1bf0-997c-11ec-b212-9f4ed8b5942f", "item_id": "29f480e6-6d34-4bc7-9038-f809f11cb679", "list_id": "endpoint_trusted_apps", "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": "elastic" }
更新可信应用程序
编辑PUT <kibana 主机>:<端口>/api/exception_lists/items
请求体
编辑一个包含下列字段的 JSON 对象。该请求必须具有以下内容:
list_id
值必须为endpoint_trusted_apps
。namespace_type
值必须为agnostic
。type
值必须为simple
。
名称 | 类型 | 描述 | 必需 |
---|---|---|---|
|
comment[] |
|
否,默认为空数组。 |
|
字符串 |
描述可信应用程序。 |
是 |
|
entry[] |
包含可信应用程序查询条件的数组。有关详细信息,请参阅 |
是。 |
|
字符串 |
该项的唯一标识符。 |
是,当不使用该项的 |
|
字符串 |
您正在更新的项的 |
是,当不使用该项的 |
|
对象 |
关于异常项的元数据的占位符。 |
否 |
|
字符串 |
可信应用程序名称。 |
是 |
|
字符串 |
必须设置为 |
是 |
|
os_type[] |
os_type 值的数组。 |
是 |
|
字符串[] |
一个包含单词和短语的字符串数组,用于帮助分类异常项。标签还可以用于将可信应用程序定义为全局适用于所有策略,或者分配给一个或多个策略(按策略)。有关详细信息,请参阅范围分配。 |
否 |
|
字符串 |
必须为 |
是 |
|
字符串 |
版本 ID,通常在检索该项时由 API 返回。使用它以确保更新是针对最新版本完成的。 |
否 |
示例请求
编辑更新 entries
PUT api/exception_lists/items { "_version": "WzEzNjIsMV0=", "name": "App ABC", "description": "This app is good", "entries": [ { "field": "process.hash.sha1", "value": "aedb279e378bed6c2db3c9dc9e12ba635e0b391c", "type": "match", "operator": "included" } ], "os_types": [ "windows" ], "tags": [ "policy:all" ], "id": "17ba1bf0-997c-11ec-b212-9f4ed8b5942f", "comments": [], "item_id": "29f480e6-6d34-4bc7-9038-f809f11cb679", "namespace_type": "agnostic", "type": "simple" }
响应代码
编辑-
200
- 表示调用成功。
响应负载
编辑{ "_version": "WzEzNjcsMV0=", "comments": [], "created_at": "2022-03-01T16:24:39.471Z", "created_by": "elastic", "description": "This app is good", "entries": [ { "field": "process.hash.sha1", "value": "aedb279e378bed6c2db3c9dc9e12ba635e0b391c", "type": "match", "operator": "included" } ], "id": "17ba1bf0-997c-11ec-b212-9f4ed8b5942f", "item_id": "29f480e6-6d34-4bc7-9038-f809f11cb679", "list_id": "endpoint_trusted_apps", "name": "App ABC", "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": "elastic" }
删除可信应用程序
编辑DELETE <kibana 主机>:<端口>/api/exception_lists/items
URL 查询参数
编辑URL 查询必须包含以下其中一项:
-
id
- 该项的id
,或者 -
item_id
- 该项的item_id
除了以上内容之外,还必须使用值 agnostic
指定 namespace_type
URL 查询参数。
示例请求
编辑删除 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": [], "created_at": "2022-03-01T16:24:39.471Z", "created_by": "elastic", "description": "This app is good", "entries": [ { "field": "process.hash.sha1", "type": "match", "value": "aedb279e378bed6c2db3c9dc9e12ba635e0b391c", "operator": "included" } ], "id": "17ba1bf0-997c-11ec-b212-9f4ed8b5942f", "item_id": "29f480e6-6d34-4bc7-9038-f809f11cb679", "list_id": "endpoint_trusted_apps", "name": "App ABC", "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": "elastic" }
检索单个可信应用程序
编辑GET <kibana 主机>:<端口>/api/exception_lists/items
URL 查询参数
编辑URL 查询必须包含以下其中一项:
-
id
- 该项的id
,或者 -
item_id
- 该项的item_id
除了以上内容之外,还必须使用值 agnostic
指定 namespace_type
URL 查询参数。
示例请求
编辑GET api/exception_lists/items?item_id=29f480e6-6d34-4bc7-9038-f809f11cb679&namespace_type=agnostic
响应代码
编辑-
200
- 表示调用成功。
响应负载
编辑{ "_version": "WzEzNjcsMV0=", "comments": [], "created_at": "2022-03-01T16:24:39.471Z", "created_by": "elastic", "description": "This app is good", "entries": [ { "field": "process.hash.sha1", "type": "match", "value": "aedb279e378bed6c2db3c9dc9e12ba635e0b391c", "operator": "included" } ], "id": "17ba1bf0-997c-11ec-b212-9f4ed8b5942f", "item_id": "29f480e6-6d34-4bc7-9038-f809f11cb679", "list_id": "endpoint_trusted_apps", "name": "App ABC", "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": "elastic" }
查找可信应用程序
编辑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_trusted_apps&namespace_type=agnostic
响应代码
编辑-
200
- 表示调用成功。
响应负载
编辑{ "data": [ { "_version": "WzEzNjcsMV0=", "comments": [], "created_at": "2022-03-01T16:24:39.471Z", "created_by": "elastic", "description": "This app is good", "entries": [ { "field": "process.hash.sha1", "type": "match", "value": "aedb279e378bed6c2db3c9dc9e12ba635e0b391c", "operator": "included" } ], "id": "17ba1bf0-997c-11ec-b212-9f4ed8b5942f", "item_id": "29f480e6-6d34-4bc7-9038-f809f11cb679", "list_id": "endpoint_trusted_apps", "name": "App ABC", "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": "elastic" } ], "page": 1, "per_page": 10, "total": 1 }
值类型
编辑以下描述了在使用创建或更新可信应用程序 API 时可以定义的类型
comment
对象架构
编辑注释是包含以下结构的 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
对象架构
编辑端点可信应用程序允许最多定义 3 个条件。不允许重复。可信应用程序支持以下条目:
进程哈希
编辑所有操作系统类型都支持进程哈希。哈希条目具有以下结构:
{ "field": "process.hash.sha1", "value": "aedb279e378bed6c2db3c9dc9e12ba635e0b391c", "type": "match", "operator": "included" }
-
field
:支持以下值:process.hash.md5
、process.hash.sha1
或process.hash.sha256
。 -
value
:与field
关联的哈希值。 -
type
:必须为match
。 -
operator
:必须为included
。
进程文件路径
编辑所有操作系统类型都支持进程文件路径。文件路径条目具有以下结构:
{ "field": "process.executable.caseless", "value": "c:/path/to/file.exe", "type": "match", "operator": "included" }
-
field
:必须为process.executable.caseless
。 -
value
:要匹配的文件路径。 -
type
:可以设置为match
(精确匹配)或wildcard
。当使用wildcard
时,可以在路径value
中使用*
。 -
operator
:必须为included
。
进程签名
编辑进程签名仅适用于 Windows 操作系统类型。签名条目具有以下结构:
{ "field": "process.Ext.code_signature", "type": "nested", "entries": [ { "field": "trusted", "value": "true", "type": "match", "operator": "included" }, { "field": "subject_name", "value": "elastic", "type": "match", "operator": "included" } ] }
-
field
:必须设置为process.Ext.code_signature
。 -
type
:必须设置为nested
。 -
entries
:包含 2 个entry
项的数组。 -
entries[0]
:包含{ "field": "trusted", "value": "true", "type": "match", "operator": "included" }
的条目。 -
entries[1]
:定义要匹配的签名的条目-
field
:必须设置为subject_name
。 -
value
:要匹配的签名名称。 -
type
:必须设置为match
。 -
operator
:必须设置为included
。
-
Windows 可信应用程序的示例
编辑[ { "field": "process.hash.sha1", "value": "aedb279e378bed6c2db3c9dc9e12ba635e0b391c", "type": "match", "operator": "included" }, { "field": "process.executable.caseless", "value": "c:/path/to/file.exe", "type": "match", "operator": "included" }, { "field": "process.Ext.code_signature", "entries": [ { "field": "trusted", "value": "true", "type": "match", "operator": "included" }, { "field": "subject_name", "value": "elastic", "type": "match", "operator": "included" } ], "type": "nested" } ]