收集 Linux auditd 和 Unix 系统日志

本文档介绍了如何收集审核守护程序 (auditd) 和 Unix 系统日志,以及如何使用 Google SecOps 转发器将日志注入到 Google SecOps。

本文档中的过程已在 Debian 11.7 和 Ubuntu 22.04 LTS (Jammy Jellyfish) 上进行了测试。

从 auditd 和 syslog 收集日志

您可以使用 rsyslog 配置 Linux 主机,以将审核日志发送到 Google SecOps 转发器。

  1. 运行以下命令,部署审核守护程序和审核调度框架。 如果您已部署守护程序和框架,则可以跳过此步骤。

    apt-get install auditd audispd-plugins
    
  2. 如需启用所有命令(包括用户和根目录)的日志记录,请将以下代码行添加到 /etc/audit/rules.d/audit.rules 中:

    -a exit,always -F arch=b64 -S execve
    -a exit,always -F arch=b32 -S execve
    
  3. 通过运行以下命令重启 auditd:

    service auditd restart
    

为 auditd 配置 Google SecOps 转发器

在 Google SecOps 转发器上,指定以下数据类型:

  - syslog:
    common:
      enabled: true
      data_type: AUDITD
      batch_n_seconds:
      batch_n_bytes:
    tcp_address:
    connection_timeout_sec:

如需了解详情,请参阅在 Linux 上安装和配置 Google SecOps 转发器

配置 Syslog

  1. 验证 /etc/audisp/plugins.d/syslog.conf 文件中的参数是否与以下值匹配:

    active = yes
    direction = out
    path = /sbin/audisp-syslog
    type = always
    args = LOG_LOCAL6
    format = string
    
  2. 修改或创建 /etc/rsyslog.d/50-default.conf 文件,并在文件末尾添加以下行:

    local6.* @@FORWARDER_IP:PORT
    

    FORWARDER_IPPORT 替换为转发器的 IP 地址和端口。第一列指示从 /var/log 通过 rsyslog 发送的日志。第二列中的 @@ 表示使用 TCP 发送消息。如需使用 UDP,请使用一个 @

  3. 要停用 syslog 本地日志记录功能,请将 local6.none 添加到配置记录到本地 syslog 的内容行中,从而配置 rsyslog。此文件因操作系统而异。对于 Debian,该文件为 /etc/rsyslog.conf;对于 Ubuntu,该文件为 /etc/rsyslog.d/50-default.conf

    *.*;local6.none;auth,authpriv.none              -/var/log/syslog
    
  4. 重启以下服务:

    service auditd restart
    service rsyslog restart
    

收集 Unix 系统日志

  1. 创建或修改 /etc/rsyslog.d/50-default.conf 文件,并在文件末尾添加以下行:

    *.*   @@FORWARDER_IP:PORT
    

    FORWARDER_IPPORT 替换为转发器的 IP 地址。第一列指示 /var/log 通过 rsyslog 发送的日志。第二列中的 @@ 表示使用 TCP 发送消息。如需使用 UDP,请使用一个 @

  2. 运行以下命令以重启守护程序并加载新配置:

    sudo service rsyslog restart
    

为 Unix 日志配置 Google SecOps 转发器

在 Google SecOps 转发器上,指定以下数据类型:

  - syslog:
    common:
      enabled: true
      data_type: NIX_SYSTEM
      batch_n_seconds:
      batch_n_bytes:
    tcp_address:
    connection_timeout_sec:

如需了解详情,请参阅在 Linux 上安装和配置 Google SecOps 转发器