创建列表容器

编辑

创建列表容器。

列表容器对定义检测规则警报未生成的异常的常用列表项进行分组,即使规则的其他条件已满足。

同一列表容器中的所有列表项都指代同一类型的异常。例如,ip 列表容器中的每个列表项都排除一个 IP 地址。

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

请求 URL

编辑

POST <kibana 主机>:<端口>/api/lists

请求正文

编辑

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

必填字段

编辑
名称 类型 描述

description

字符串

描述列表容器。

name

字符串

列表容器的名称。

type

字符串

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

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

可选字段

编辑
名称 类型 描述

deserializer

字符串

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

  • {{{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 编码值,用于乐观并发控制。为确保没有冲突,请在更新列表容器时使用此值。