添加会话元数据

编辑

add_session_metadata 处理器使用户可以使用 Elastic Security 平台中的 会话视图 工具查看更多关于进程事件的信息。

当前版本的 Auditbeat 的 add_session_metadata 处理器仅限于虚拟机(VM)和裸机环境。

以下示例演示如何使用 add_session_metadata 处理器来增强由 Auditbeat 的 auditd 模块生成的进程事件。

auditbeat.modules:
- module: auditd
  processors:
    - add_session_metadata:
       backend: "auto"

add_session_metadata 处理器的工作原理

编辑

该处理器利用可用的 Linux 内核技术,收集有关所有正在运行的系统进程的全面信息,并将这些数据编译成进程数据库。在处理事件时(例如 Auditbeat auditd 模块生成的事件),处理器会查询此数据库以检索有关相关进程的信息,包括父进程、会话领导者、进程组领导者和入口领导者。然后,它会使用此元数据丰富原始事件,从而提供更完整的进程关系和系统活动视图。

这些增强的数据使 Elastic Security 平台中强大的 会话视图 工具能够为用户提供更深入的分析和调查见解。

后端

编辑

add_session_metadata 处理器使用各种后端选项进行操作。

  • auto 是推荐设置。它首先尝试使用 kernel_tracing,如果必要,则回退到 procfs,即使在没有 kernel_tracing 支持的系统上也能确保兼容性。
  • kernel_tracing 使用 eBPF 或 kprobes 收集有关进程的信息。如果可用,它将使用 eBPF,否则将回退到 kprobes。eBPF 需要一个启用 eBPF 内核支持的系统,支持 eBPF 环形缓冲区,并且 auditbeat 以超级用户身份运行。Kprobe 支持需要 Linux 内核 3.10.0 或更高版本,并且 auditbeat 以超级用户身份运行。
  • procfs 使用 proc 文件系统收集进程信息。这与可能不支持 ebpf 的旧系统兼容。要收集完整的进程信息,auditbeat 需要读取 procfs 中所有进程数据的权限;例如,以超级用户身份运行或具有 SYS_PTRACE 功能。

容器

编辑

如果在容器中运行 Auditbeat,则该容器必须在主机的 PID 命名空间中运行。使用 autokernel_tracing 后端时,这些主机目录也必须挂载到容器内的相同路径:/sys/kernel/debug/sys/fs/bpf

在 Auditbeat 中启用和配置会话视图

编辑

要配置和启用 会话视图 功能,您需要:

  • add_sessions_metadata 处理器添加到您的 auditbeat.yml 文件。
  • 在您的 auditbeat.yml 文件中配置审计规则。
  • 重启 Auditbeat。

我们将更详细地介绍这些步骤。

  1. 编辑您的 auditbeat.yml 文件并将此信息添加到模块配置部分

    auditbeat.modules:
    - module: auditd
      processors:
        - add_session_metadata:
           backend: "auto"
  2. 根据您的配置,在 auditbeat.yml 的模块配置部分或 audit.rules.d 配置文件中添加审计规则

    auditbeat.modules:
    - module: auditd
      audit_rules: |
        ## executions
        -a always,exit -F arch=b64 -S execve,execveat -k exec
        -a always,exit -F arch=b64 -S exit_group
        ## set_sid
        -a always,exit -F arch=b64 -S setsid
  3. 保存您的配置更改。
  4. 重启 Auditbeat

    sudo systemctl restart auditbeat