收集 AIX 系统日志

支持的平台:

本文档介绍了如何使用 Bindplane 将 AIX 系统日志注入到 Google Security Operations。解析器使用 grok 模式从日志中提取字段,并处理各种日志格式。然后,它会将提取的字段映射到 UDM,根据是否存在源 IP、主机名和用户等特定字段来转换数据类型并设置事件类型。

准备工作

请确保满足以下前提条件:

  • Google SecOps 实例
  • Windows 2012 SP2 或更高版本,或者具有 systemd 的 Linux 主机
  • 如果在代理后面运行,请确保防火墙端口根据 Bindplane 代理要求处于开放状态
  • 对 AIX 系统主机的特权访问权限
  • AIX 主机与 Bindplane 代理之间的网络连接(通过 UDP 端口 514)

获取 Google SecOps 注入身份验证文件

  1. 登录 Google SecOps 控制台。
  2. 依次前往 SIEM 设置 > 收集代理
  3. 下载注入身份验证文件。将该文件安全地保存在将要安装 Bindplane 的系统上。

获取 Google SecOps 客户 ID

  1. 登录 Google SecOps 控制台。
  2. 依次前往 SIEM 设置 > 个人资料
  3. 复制并保存组织详细信息部分中的客户 ID

安装 Bindplane 代理

按照以下说明在 Windows 或 Linux 操作系统上安装 Bindplane 代理。

Windows 安装

  1. 以管理员身份打开命令提示符PowerShell
  2. 运行以下命令:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Linux 安装

  1. 打开具有 root 或 sudo 权限的终端。
  2. 运行以下命令:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

其他安装资源

  • 如需了解其他安装选项,请参阅此安装指南

配置 Bindplane 代理以注入 Syslog 并将其发送到 Google SecOps

  1. 访问配置文件:

    1. 找到 config.yaml 文件。通常,它位于 Linux 上的 /etc/bindplane-agent/ 目录中或 Windows 上的安装目录中。
    2. 使用文本编辑器(例如 nanovi 或记事本)打开该文件。
  2. 按如下方式修改 config.yaml 文件:

    receivers:
      udplog:
        # Replace the port and IP address as required
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/chronicle_w_labels:
        compression: gzip
        # Adjust the path to the credentials file you downloaded in Step 1
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        # Replace with your actual customer ID from Step 2
        customer_id: <CUSTOMER_ID>
        endpoint: malachiteingestion-pa.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'AIX_SYSTEM'
        raw_log_field: body
        ingestion_labels:
          environment: prod
          source: aix
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - udplog
          exporters:
            - chronicle/chronicle_w_labels
    
    • 根据您的基础架构需要替换端口和 IP 地址。
    • <CUSTOMER_ID> 替换为实际的客户 ID。
    • /path/to/ingestion-authentication-file.json 更新为获取 Google SecOps 注入身份验证文件部分中保存身份验证文件的路径。

重启 Bindplane 代理以应用更改

  • 如需在 Linux 中重启 Bindplane 代理,请运行以下命令:

    sudo systemctl restart bindplane-agent
    
  • 如需在 Windows 中重启 Bindplane 代理,您可以使用服务控制台,也可以输入以下命令:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

在 AIX 系统上配置 Syslog 转发

  1. 以特权访问权限登录 AIX 系统主机
  2. 使用文本编辑器(例如 vinano)修改 /etc/syslog.conf 文件。
  3. 添加以下代码行,以将日志转发到 Bindplane 代理:

    *.info    @<BINDPLANE_AGENT_IP>
    
    • <BINDPLANE_AGENT_IP> 替换为 Bindplane 代理的 IP 地址。
    • 使用一个或多个制表符或空格作为选择器 (*.info) 和操作 (@<BINDPLANE_AGENT_IP>) 之间的分隔符。
    • 选择器 *.info 会转发优先级为 info 或更高级别的所有日志。根据您的需求,调整设施和优先级。
  4. 保存配置文件。

  5. 刷新 syslogd 守护程序以应用更改:

    refresh -s syslogd
    
    • 如果 refresh 命令不起作用,请使用 SRC 命令重启守护程序:

      stopsrc -s syslogd
      startsrc -s syslogd
      
  6. 验证 syslogd 守护程序是否正在运行:

    lssrc -s syslogd
    
  7. 确保 AIX 主机与 Bindplane 代理之间允许 UDP 端口 514

UDM 映射表

日志字段 UDM 映射 逻辑
application target.application 该值使用 grok 模式从 message 字段中提取,并直接分配。
cmddata target.process.command_line 该值使用 grok 模式从 message 字段中提取,并直接分配。
command_line principal.process.command_line 该值使用 grok 模式从 description 字段中提取,并直接分配。
description metadata.description 该值使用 grok 模式从 message 字段中提取,并直接分配。
folder target.process.file.full_path 该值使用 grok 模式从 message 字段中提取,并直接分配。
hostname principal.hostname 该值使用 grok 模式从 message 字段中提取,并直接分配。时间戳是使用 grok 和 date 过滤条件从日志消息的 ts 字段中提取的。由解析器逻辑根据是否存在某些字段来确定。如果存在 src_iphostname,则为 STATUS_UPDATE。如果存在 user 但不存在其他参数,则为 USER_UNCATEGORIZED。否则为 GENERIC_EVENT。硬编码为“AIX_SYSTEM”。硬编码为“AIX_SYSTEM”。硬编码为“AIX_SYSTEM”。
intermediary_hostip intermediary.ip 该值使用 grok 模式从 message 字段中提取,并直接分配。
sc_summary security_result.summary 该值使用 grok 模式从 description 字段中提取,并直接分配。
severity security_result.severity 该值派生自 severity 字段。如果 severity 为“info”(不区分大小写),则 UDM 值为“INFORMATIONAL”。如果 severity 为“Err”(不区分大小写),则 UDM 值为“ERROR”。
src_ip principal.ip 该值使用 grok 模式从 messagedescription 字段中提取,并直接分配。
src_port principal.port 该值使用 grok 模式从 description 字段中提取,并直接分配。
sys_log_host intermediary.hostname 该值使用 grok 模式从 message 字段中提取,并直接分配。
syslog_priority security_result.priority_details 该值使用 grok 模式从 message 字段中提取,并直接分配。
ts timestamp 时间戳使用 grok 和 date 过滤条件从日志消息的 ts 字段中提取。
user principal.user.userid 该值使用 grok 模式从 messagedescription 字段中提取,并直接分配。

需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。