入门编辑

ECS 使能并鼓励用户规范化事件数据,以便更好地分析、可视化和关联他们的事件。收集的事件可以在摄取时进行规范化,在索引之间一致地搜索,并以可预测的方式可视化。

请注意,在采用 Elastic 解决方案(例如 可观察性安全)时,所有事件都将开箱即用地映射到 ECS。Elastic 提供了一套广泛的 集成 来简化您的数据源的摄取。

如果您依赖于自定义数据管道和/或围绕特定需求构建内容,ECS 仍然可以帮助减轻跨数据搜索、分析和可视化的挑战。让我们看看使用通用模式如何简化搜索体验,然后看看如何将事件内容映射到 ECS 字段集。

简化的搜索编辑

随着 ECS 在所有数据源中定义规范化的模式,针对这些数据源的查询得以简化。在采用 ECS 之前,请考虑搜索特定源 IP 地址。您需要在查询中考虑所有各种数据源及其字段映射

src:10.42.42.42 OR client_ip:10.42.42.42 OR apache.access.remote_ip:10.42.42.42 OR
context.user.ip:10.42.42.42 OR src_ip:10.42.42.42

所有源都映射到 ECS 后,查询变得简单得多

source.ip:10.42.42.42

这不仅简化了编写查询,而且与其他用户共享的保存查询也变得更加明显。要熟悉 ECS 字段,您还可以查看 ECS 字段参考 部分。

统一的可视化编辑

通过来自不同数据源的规范化数据,在源之间构建有见地的可视化变得简单。从单个集中式仪表板,可以聚合和可视化来自 Web 服务器、IDS/IPS 设备和防火墙的事件,并通过深入分析和枢纽功能来增强,以进行更深入的调查。使用规范化的 ECS 数据,可以轻松地对各种数据源进行集中式监控。

Simplify visualization using ECS

翻译数据源编辑

为了将事件与 ECS 对齐,通常需要进行某种解析,以将原始事件的内容转换为相关的 ECS 字段。根据您如何设计 Elastic Stack 数据摄取管道,解析事件的工作量会有所不同。

例如,Apache Web 服务器日志事件

10.42.42.42 - - [15/Jul/2020:20:48:32 +0000] "GET /content HTTP/1.1" 200 2571 "-"
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/83.0.4103.106 Safari/537.36"

为了将此事件映射到 ECS,将事件内容与相应的 ECS 字段关联。

字段名称

@timestamp

2020-07-15T20:48:32.000Z

event.original

10.42.42.42 - - [15/Jul/2020:20:48:32 +0000] "GET /content HTTP/1.1" 200 2571 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36

http.request.method

GET

http.response.body.bytes

2571

http.response.status_code

200

http.version

1.1

message

GET /content HTTP/1.1" 200 2571 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36

source.address

10.42.42.42

source.ip

10.42.42.42

url.original

/content

user_agent.original

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36

除了提取原始事件中存在的价值外,我们还填充其他字段以提供有关事件本身的更多上下文。

  • ecs.version: 指示摄取管道开发针对的 ECS 版本。
  • event.datasetevent.module: 回答“这个事件来自哪里”,并且预计每个管道,每个来源都有一个硬编码值。
  • event.kindevent.categoryevent.typeevent.outcome: ECS 分类字段 也应该使用对源发出事件类型的了解进行硬编码。这些字段的内容仅限于 ECS 文档中详细说明的特定允许值。
字段名称

ecs.version

1.5.0

event.module

apache

event.dataset

apache.access

event.kind

event

event.category

[ "network", "web" ]

event.type

[ "access" ]

event.outcome

success

最后,可以使用处理器解释或丰富现有字段值,结果将填充最终事件中的其他字段。

  • user_agent 处理器从原始用户代理字符串 user_agent.original 中提取详细信息。
  • 可以使用 geoip 处理器丰富 source.ip 等 IP 字段,以添加有关与 IP 地址关联的位置和自治系统编号 (ASN) 的信息。
  • registered domain 处理器读取包含主机名的字段,并将注册域写入另一个字段
  • 事件收集器(如 Beats)可以使用托管提供商(云)和/或主机机器(主机)的元数据丰富每个事件。

以下是一些由元数据或解析器处理器处理的其他字段示例。

字段名称 处理器

host.architecture

x86_64

add_host_metadata

host.hostname

mbp.example.com

add_host_metadata

host.ip

[ "192.168.1.100" ]

add_host_metadata

host.os.family

darwin

add_host_metadata

host.os.kernel

19.4.0

add_host_metadata

host.os.name

Mac OS X

add_host_metadata

host.os.version

10.15.4

add_host_metadata

user_agent.name

Chrome

user_agent

user_agent.os.full

Mac OS X 10.15.4

user_agent

user_agent.os.name

Mac OS X

user_agent

user_agent.os.version

10.15.4

user_agent

user_agent.version

83.0.4103.106

user_agent

字段映射参考指南编辑

我们已经从高层次介绍了如何将您的事件映射到 ECS。现在,如果您希望您的事件在 Elastic 解决方案中很好地呈现,请查看下面的参考指南以了解更多信息。