事件过滤器

编辑

通过 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
名称 类型 描述 必填

description

字符串

描述事件过滤器容器。

list_id

字符串

必须设置为 endpoint_event_filters

meta

对象

列表容器元数据的占位符。

name

字符串

事件过滤器容器的名称。

namespace_type

字符串

必须设置为 agnostic

tags

字符串[]

包含单词和短语的字符串数组,用于帮助对事件过滤器容器进行分类。

type

字符串

必须设置为 endpoint_events

示例请求

编辑
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 主机>:<端口>/api/exception_lists/items

请求体

编辑

包含下面列出的字段的 JSON 对象。请求必须包含以下内容:

  • list_id 值必须为 endpoint_event_filters
  • namespace_type 值必须为 agnostic
  • type 值必须为 simple
名称 类型 描述 必填

comments

comment[]

comment 对象数组。

否,默认为空数组。

description

字符串

描述事件过滤器项。

entries

entry[]

包含事件过滤器查询条件的数组。有关更多详细信息,请参见 entry 对象模式

是。

list_id

字符串

必须设置为 endpoint_event_filters

item_id

字符串

异常项的唯一标识符。

否,未提供时自动创建。

meta

对象

异常项元数据的占位符。

name

字符串

事件过滤器的名称。

namespace_type

字符串

对于端点工件,必须设置为 agnostic

os_types

os_type[]

使用此字段指定 操作系统。仅输入一个值。

tags

字符串[]

包含单词和短语的字符串数组,用于帮助对异常项进行分类。标签还可以用于将事件过滤器定义为全局应用于所有策略或分配给一个或多个策略(每个策略)。有关更多详细信息,请参见 范围分配

type

字符串

必须设置为 simple

示例请求
编辑
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 主机>:<端口>/api/exception_lists/items

请求体

编辑

包含下面列出的字段的 JSON 对象。请求必须包含以下内容:

  • list_id 值必须为 endpoint_event_filters
  • namespace_type 值必须为 agnostic
  • type 值必须为 simple
名称 类型 描述 必填

comments

comment[]

comment 对象数组。

否,默认为空数组。

description

字符串

描述事件过滤器。

entries

entry[]

包含事件过滤器查询条件的数组。有关更多详细信息,请参见 entry 对象模式

是。

id

字符串

项的唯一标识符。

是,当项目 item_id 字段未使用时。

item_id

字符串

您要更新的项目的 item_id

是,当项目的 id 字段未使用时。

meta

对象

异常项元数据的占位符。

name

字符串

事件过滤器的名称。

namespace_type

字符串

必须设置为 agnostic

os_types

os_type[]

os_type 值数组。

tags

字符串[]

包含单词和短语的字符串数组,用于帮助对异常项进行分类。标签还可以用于将事件过滤器定义为全局应用于所有策略或分配给一个或多个策略(每个策略)。有关更多详细信息,请参见 范围分配

type

字符串

必须为 simple

_version

字符串

版本 ID,通常在检索项目时由 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_id29f480e6-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 查询参数

编辑
名称 类型 描述 必填

list_id

字符串

必须设置为 endpoint_event_filters

namespace_type

字符串

必须设置为 agnostic

page

整数

要返回的页码。

per_page

整数

每页要返回的项目数。

sort_field

字符串

确定用于排序结果的字段。

sort_order

字符串

确定排序顺序,可以是 descasc

filter

字符串

用于过滤结果的 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 时可以定义的类型。

comment 对象模式

编辑

注释是包含以下结构的 JSON 对象:

{
    "comment": "some comment here"
}

与更新 API 一起使用时,可以通过使用关联的 id 更新现有注释,而任何没有 id 属性的注释都将作为新注释添加。

{
    "comment": "some comment here - updated",
    "id": "1078cf59-5893-4143-acf7-40a40af16bee"
}

os_types

编辑

以下是创建事件过滤器时可以使用有效操作系统类型:

  • windows
  • linux
  • macos

范围分配

编辑

事件过滤器可以全局应用于所有端点策略,也可以分配给特定策略。您可以通过使用 policy: 前缀定义一个或多个标签来分配事件过滤器。请注意,事件过滤器可以是全局的或每个策略的,但不能 同时 是两者。以下标签可用于控制分配范围:

  • policy:all:事件过滤器对所有策略都是全局的。如果使用此标签,则不允许使用其他 policy: 标签。
  • policy:<endpoint-policy-id>:事件过滤器分配给一个策略。多个 per policy 标签可以用于将事件过滤器与多个策略关联。

entry 对象模式

编辑

事件过滤器允许定义无限数量的条件。每个事件过滤器条目都包含一个 entry 对象,该对象具有 typevaluefieldoperator 键和值。条目对象中支持以下运算符:

运算符 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 条目,顶级条目仅具有 typefield 和一个 entries 数组,该数组保存 entry 对象列表。

{
  "entries": [
    {
      "field": "exists",
      "operator": "included",
      "type": "match",
      "value": "true"
    }
  ],
  "field": "process.Ext.code_signature",
  "type": "nested"
}