创建列表容器

编辑

创建列表容器。

列表容器将通用的列表项分组,这些列表项定义了即使满足规则的其他条件,也生成检测规则警报的例外情况。

同一列表容器中的所有列表项都引用相同类型的例外。例如,ip 列表容器中的每个列表项都排除一个 IP 地址。

您可以使用 CIDR 表示法检索列表容器中的ip项,并使用单个 IP 值检索ip_range项。有关示例,请参阅获取列表项

请求 URL

编辑

POST <kibana host>:<port>/api/lists

请求正文

编辑

定义列表容器属性的 JSON 对象。

必填字段

编辑
名称 类型 描述

description

字符串

描述列表容器。

name

字符串

列表容器的名称。

type

字符串

指定列表容器保存的排除项的 Elasticsearch 数据类型。 一些常见的例子

  • keyword:许多 ECS 字段是 Elasticsearch keywords
  • ip:IP 地址
  • ip_rangeIP 地址范围(支持 IPv4、IPv6 和 CIDR 表示法)

可选字段

编辑
名称 类型 描述

deserializer

字符串

确定如何显示检索到的列表项值。默认情况下,列表项使用以下 Handelbar 表达式显示

  • {{{value}}} - 单个值项类型,例如 iplongdatekeywordtext
  • {{{gte}}}-{{{lte}}} - 范围值项类型,例如 ip_rangedouble_rangefloat_rangeinteger_rangelong_range
  • {{{gte}}},{{{lte}}} - 日期范围值。

有关在上传时解析项值的信息,请参阅serializer

id

字符串

唯一标识符。未提供时自动创建。

meta

对象

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

serializer

字符串

确定如何解析上传的列表项值。默认情况下,列表项使用以下命名正则表达式组进行解析

  • (?<value>.+) - 单个值项类型,例如 iplongdatekeywordtext
  • (?<gte>.+)-(?<lte>.+)|(?<value>.+) - 范围值项类型,例如 date_rangeip_rangedouble_rangefloat_rangeinteger_rangelong_range

version

整数

列表容器的版本号。默认为 1

示例请求

编辑

为 IP 地址创建列表容器

POST api/lists
{
  "id": "internal-ip-excludes",
  "name": "Exclude internal IP addresses",
  "description": "Contains list items that exclude internal IP addresses from detection rules.",
  "type": "ip"
}

为关键字创建列表容器

POST api/lists
{
  "id": "host.name-container",
  "name": "Exclude hosts",
  "description": "Contains list items that exclude host names from detection rules.",
  "type": "keyword"
}

为具有自定义解析的 ip_range 项创建列表容器

POST api/lists
{
  "id": "internal-ip-range-excludes",
  "name": "Exclude IP ranges",
  "description": "Contains excluded IP ranges.",
  "serializer": "(?<gte>.+)/(?<lte>.+)", 
  "deserializer": "{{{gte}}}--{{{lte}}}", 
  "type": "ip_range"
}

使用 / 字符而不是 - 字符上传 IP 范围。从中上传 IP 范围的列表项或源文件必须使用 / 字符来定义范围。例如,192.168.0.1/192.168.0.27

使用 -- 字符显示容器检索到的 IP 范围列表项。例如,192.168.0.1--192.168.0.27

响应代码

编辑
200
指示调用成功。

响应负载

编辑
{
  "_version": "WzAsMV0=", 
  "id": "internal-ip-excludes",
  "created_at": "2020-08-11T10:08:05.289Z",
  "created_by": "elastic",
  "description": "Contains list items that exclude internal IP addresses from detection rule matches.",
  "immutable": false,
  "name": "Exclude internal IP addresses",
  "tie_breaker_id": "f7951678-ad13-4d65-8d15-a4c706d4893e",
  "type": "ip",
  "updated_at": "2020-08-11T10:08:05.289Z",
  "updated_by": "elastic",
  "version": 1
}

if_seq_noif_primary_term 参数的 Base-64 编码值,用于乐观并发控制。为确保没有冲突,请在更新列表容器时使用此值。