创建列表容器edit

创建列表容器。

列表容器将常见的 列表项 分组在一起,这些列表项定义了在满足规则的其他条件时,即使满足这些条件,也不生成检测规则警报的异常情况。

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

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

请求 URLedit

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

请求主体edit

一个 JSON 对象,定义了列表容器的属性。

必填字段edit

Name Type Description

description

String

描述列表容器。

name

String

列表容器的名称。

type

String

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

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

可选字段edit

Name Type Description

deserializer

String

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

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

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

id

String

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

meta

Object

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

serializer

String

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

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

version

Integer

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

示例请求edit

为 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

响应代码edit

200
表示调用成功。

响应有效负载edit

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