系统审计集成 [Beta]

编辑

系统审计集成 [Beta]

编辑

版本

1.10.3 (查看全部)

兼容的 Kibana 版本

8.7.1 或更高版本

支持的无服务器项目类型
这是什么?

安全
可观测性

订阅级别
这是什么?

基本

支持级别
这是什么?

Elastic

概述

编辑

系统审计 集成收集关于系统的各种安全相关信息。所有数据流都发送定期状态信息(例如,所有当前已安装的软件包)和实时更改(例如,当安装/卸载新软件包或更新现有软件包时)。目前,唯一实现的数据流是软件包数据流,它收集有关系统软件包的各种信息。将来,将添加更多数据流,例如(进程、套接字、主机等)。

工作原理

编辑

每个数据流发送两种信息:状态和事件。

状态信息定期发送。状态更新将包含每个已安装或状态在轮询期间发生更改的软件包的事件。属于同一状态更新的所有事件将在 event.id 中共享相同的 UUID。

可以使用 state.period 配置选项来控制所有数据流的状态更新频率。默认值为 12h

事件信息在事件发生时发送(例如,安装、卸载或更新软件包)。目前,所有数据流都使用轮询模型来检索其数据。这些轮询的频率由 period 配置参数控制。

实体 ID

编辑

此模块填充 entity_id 字段以唯一标识主机内的实体(软件包)。这需要模块获取主机的唯一标识符

  • macOS:使用 gethostuuid(2) 系统调用返回的值。
  • Linux:使用由 systemddbus 创建的以下文件之一的内容
  • /etc/machine-id
  • /var/lib/dbus/machine-id
  • /var/db/dbus/machine-id

在 CentOS 6.x 下,可能不存在上述任何文件。在这种情况下,运行 dbus-uuidgen --ensure(由 dbus 包提供)将为您生成一个。还需要考虑的一件事是,目前此集成 不支持 Windows 系统。

要求

编辑

您需要 Elasticsearch 来存储和搜索您的数据,以及 Kibana 来可视化和管理它。您可以使用我们托管在 Elastic Cloud 上的 Elasticsearch 服务(推荐),或者在您自己的硬件上自行管理 Elastic Stack。

设置

编辑

有关如何设置集成的分步说明,请参阅 入门指南

如果您想禁止 host 相关信息,请考虑添加标签:forwarded。将此标签添加到标签列表中将从输出中删除任何主机相关数据,这也将阻止某些仪表板显示主机/操作系统相关信息/图表。

数据流

编辑

当前支持的数据流为:-

  • package

软件包 帮助您记录系统上不同软件包发生的事件和更改。与数据流关联的字段和事件如下:-

导出的字段
字段 描述 类型

@timestamp

事件的原始日期/时间。这是从事件中提取的日期/时间,通常表示事件由源生成的时间。如果事件源没有原始时间戳,则此值通常由管道首次接收事件的时间填充。所有事件的必填字段。

日期

data_stream.dataset

该字段可以包含任何对于表示数据来源有意义的内容。示例包括 nginx.accessprometheusendpoint 等。对于其他方面都符合,但未设置数据集的数据流,我们使用值“generic”作为数据集值。event.dataset 的值应与 data_stream.dataset 相同。除了上面提到的 Elasticsearch 数据流命名标准之外,dataset 值还有其他限制:* 不能包含 - * 长度不得超过 100 个字符

constant_keyword

data_stream.namespace

用户定义的命名空间。命名空间对于允许数据分组很有用。许多用户已经以这种方式组织他们的索引,数据流命名方案现在将此最佳实践作为默认值提供。许多用户将使用 default 填充此字段。如果不使用值,则回退到 default。除了上面提到的 Elasticsearch 索引命名标准之外,namespace 值还有其他限制:* 不能包含 - * 长度不得超过 100 个字符

constant_keyword

data_stream.type

数据流的总体类型。当前允许的值为“logs”和“metrics”。我们期望在不久的将来也添加“traces”和“synthetics”。

constant_keyword

ecs.version

此事件符合的 ECS 版本。ecs.version 是必填字段,必须存在于所有事件中。在查询可能符合略微不同的 ECS 版本的多个索引时,此字段允许集成调整为事件的架构版本。

keyword

event.dataset

事件数据集

constant_keyword

event.module

事件模块

constant_keyword

event.original

整个事件的原始文本消息。用于演示日志完整性或可能需要完整日志消息(在将其拆分为多个部分之前)的情况,例如重新索引。此字段未编制索引,并且禁用了 doc_values。它无法搜索,但可以从 _source 中检索。如果用户希望覆盖此字段并为其编制索引,请参阅 Elasticsearch 参考中的 字段数据类型

keyword

host.architecture

操作系统架构。

keyword

host.domain

主机所属域的名称。例如,在 Windows 上,这可以是主机的 Active Directory 域或 NetBIOS 域名。对于 Linux,这可以是主机 LDAP 提供程序的域。

keyword

host.hostname

主机的 hostname。它通常包含主机机器上 hostname 命令返回的内容。

keyword

host.id

唯一的主机 ID。由于主机名并不总是唯一的,请使用在您的环境中具有意义的值。示例:当前 beat.name 的用法。

keyword

host.ip

主机 IP 地址。

ip

host.mac

主机 MAC 地址。建议使用 RFC 7042 中的表示法格式:每个八位字节(即 8 位字节)都由两个[大写]十六进制数字表示,给出八位字节的值作为无符号整数。连续的八位字节用连字符分隔。

keyword

host.name

主机的名称。它可以包含 Unix 系统上 hostname 返回的内容、完全限定域名 (FQDN) 或用户指定的名称。建议的值是主机的小写 FQDN。

keyword

host.os.family

操作系统系列(如 redhat、debian、freebsd、windows)。

keyword

host.os.kernel

操作系统内核版本,以原始字符串形式表示。

keyword

host.os.name

操作系统名称,不带版本。

keyword

host.os.name.text

host.os.name 的多字段。

match_only_text

host.os.platform

操作系统平台(如 centos、ubuntu、windows)。

keyword

host.os.version

操作系统版本,以原始字符串形式表示。

keyword

host.type

主机类型。对于云提供商,这可以是机器类型,如 t2.medium。如果为 vm,这可以是容器,例如,或者在您的环境中具有意义的其他信息。

keyword

input.type

Auditbeat 输入的类型。

keyword

log.level

日志事件的原始日志级别。如果事件的源提供日志级别或文本严重性,则将其放入 log.level 中。如果您的源未指定,您可以在此处放置事件传输的严重性(例如,Syslog 严重性)。一些示例是 warnerriinformational

keyword

message

对于日志事件,message 字段包含日志消息,针对在日志查看器中查看进行了优化。对于没有原始 message 字段的结构化日志,可以连接其他字段以形成事件的人工可读摘要。如果存在多个消息,可以将它们合并为一个消息。

match_only_text

package.architecture

软件包架构。

keyword

package.build_version

有关已安装软件包的构建版本的其他信息。例如,使用未发布软件包的提交 SHA。

keyword

package.checksum

已安装软件包的校验和,用于验证。

keyword

package.description

软件包的描述。

keyword

package.install_scope

指示软件包的安装方式,例如,用户本地、全局。

keyword

package.installed

软件包的安装时间。

日期

package.license

发布软件包的许可证。尽可能使用简称,例如 SPDX 许可证列表中的许可证标识符 (https://spdx.org/licenses/)。

keyword

package.name

软件包名称

keyword

package.path

软件包的安装路径。

keyword

package.reference

此软件包中软件的主页或参考 URL(如果可用)。

keyword

package.size

软件包大小(以字节为单位)。

长整型

package.type

软件包类型。这应包含软件包文件类型,而不是软件包管理器名称。示例:rpm、dpkg、brew、npm、gem、nupkg、jar。

keyword

package.version

软件包版本

keyword

system_audit.package.arch

软件包架构。

keyword

system_audit.package.entity_id

唯一标识软件包的 ID。它是通过主机 ID、软件包名称和软件包版本的 SHA-256 哈希值计算得出的。

keyword

system_audit.package.installtime

软件包安装时间。

日期

system_audit.package.license

软件包许可证。

keyword

system_audit.package.name

软件包名称。

keyword

system_audit.package.release

软件包发行版本。

keyword

system_audit.package.size

软件包大小。

长整型

system_audit.package.summary

软件包摘要。

system_audit.package.url

软件包 URL。

keyword

system_audit.package.version

软件包版本。

keyword

tags

用户定义的标签

keyword

示例

关于 package 的事件示例如下所示

{
    "@timestamp": "2023-01-31T11:44:38.695Z",
    "agent": {
        "ephemeral_id": "c9a6d8c0-780c-4b96-81f2-5a8c850bd0cc",
        "id": "027bc354-85a6-40d6-be9d-7eb4533fbd18",
        "name": "docker-fleet-agent",
        "type": "auditbeat",
        "version": "8.5.1"
    },
    "data_stream": {
        "dataset": "system_audit.package",
        "namespace": "ep",
        "type": "logs"
    },
    "ecs": {
        "version": "8.11.0"
    },
    "elastic_agent": {
        "id": "027bc354-85a6-40d6-be9d-7eb4533fbd18",
        "snapshot": false,
        "version": "8.5.1"
    },
    "event": {
        "action": "existing_package",
        "agent_id_status": "verified",
        "category": [
            "package"
        ],
        "dataset": "system_audit.package",
        "id": "f2b5baf6-fd22-490a-82fd-a044ff7075cb",
        "ingested": "2023-01-31T11:44:40Z",
        "kind": "state",
        "module": "system",
        "type": [
            "info"
        ]
    },
    "host": {
        "architecture": "x86_64",
        "containerized": false,
        "hostname": "docker-fleet-agent",
        "id": "75e38940166b4dbc90b6f5610e8e9c39",
        "ip": [
            "192.168.80.7"
        ],
        "mac": [
            "02-42-C0-A8-50-07"
        ],
        "name": "docker-fleet-agent",
        "os": {
            "codename": "focal",
            "family": "debian",
            "kernel": "5.15.49-linuxkit",
            "name": "Ubuntu",
            "platform": "ubuntu",
            "type": "linux",
            "version": "20.04.5 LTS (Focal Fossa)"
        }
    },
    "input": {
        "type": "audit/system"
    },
    "message": "Package adduser (3.118ubuntu2) is already installed",
    "package": {
        "architecture": "all",
        "description": "add and remove users and groups",
        "name": "adduser",
        "size": 624,
        "type": "dpkg",
        "version": "3.118ubuntu2"
    },
    "system_audit": {
        "package": {
            "arch": "all",
            "entity_id": "OnUSNhuUQkyYgoKf",
            "name": "adduser",
            "size": 624,
            "summary": "add and remove users and groups",
            "version": "3.118ubuntu2"
        }
    },
    "tags": [
        "audit-system-package"
    ]
}

示例仪表板

编辑

该集成包含一个软件包和审计系统仪表板,以便轻松识别事件和进行数据概览。

软件包仪表板

Package Dashboard

系统审计仪表板

Audit System Dashboard

参考

编辑

有关更多信息,请参阅Auditbeat 系统模块文档。

更新日志

编辑
更新日志
版本 详细信息 Kibana 版本

1.10.3

Bug 修复 (查看拉取请求)
在引用摄取管道中的变量时,使用三重大括号 Mustache 模板。

8.7.1 或更高版本

1.10.2

增强功能 (查看拉取请求)
捕获根需求

8.7.1 或更高版本

1.10.1

增强功能 (查看拉取请求)
更改了所有者

8.7.1 或更高版本

1.10.0

增强功能 (查看拉取请求)
ECS 版本更新到 8.11.0。

8.7.1 或更高版本

1.9.0

增强功能 (查看拉取请求)
ECS 版本更新到 8.10.0。

8.7.1 或更高版本

1.8.0

增强功能 (查看拉取请求)
软件包清单中的 format_version 从 2.11.0 更改为 3.0.0。 从软件包清单中删除了带点的 YAML 键。 将 owner.type: elastic 添加到软件包清单。

8.7.1 或更高版本

1.7.0

增强功能 (查看拉取请求)
添加 tags.yml 文件,以便集成的仪表板和已保存的搜索标记为“安全解决方案”,并显示在“安全解决方案”用户界面中。

8.7.1 或更高版本

1.6.0

增强功能 (查看拉取请求)
将软件包更新到 ECS 8.9.0。

8.7.1 或更高版本

1.5.1

Bug 修复 (查看拉取请求)
修复处理器 UI 处理。

8.7.1 或更高版本

1.5.0

增强功能 (查看拉取请求)
将仪表板转换为 Lens。

8.7.1 或更高版本

1.4.0

增强功能 (查看拉取请求)
确保为管道错误正确设置 event.kind。

8.5.0 或更高版本

1.3.0

增强功能 (查看拉取请求)
将软件包更新到 ECS 8.8.0。

8.5.0 或更高版本

1.2.1

Bug 修复 (查看拉取请求)
改进了文档,并明确指出不支持 Windows。

8.5.0 或更高版本

1.2.0

增强功能 (查看拉取请求)
将软件包规范版本更新到 2.7.0。

8.5.0 或更高版本

1.1.0

增强功能 (查看拉取请求)
将软件包更新到 ECS 8.7.0。

8.5.0 或更高版本

1.0.1

增强功能 (查看拉取请求)
修复文档错误

8.5.0 或更高版本

1.0.0

增强功能 (查看拉取请求)
初始版本

8.5.0 或更高版本