收集 VyOS 日志

支持的语言:

本文档介绍了如何使用 Bindplane 将 VyOS 日志注入到 Google Security Operations。解析器从 syslog 消息中提取字段,主要侧重于 DHCP 事件。它使用 Grok 模式根据进程(dhcpd、内核等)识别和分类消息,然后将相关信息映射到 UDM 字段,以不同的方式处理 DHCP 请求、确认、提供和其他事件类型。它还会填充非 DHCP 日志的通用事件详情,并在可用时映射网络连接信息。

准备工作

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

  • Google SecOps 实例
  • Windows 2016 或更高版本,或者具有 systemd 的 Linux 主机
  • 如果通过代理运行,请确保防火墙端口处于开放状态
  • 对 VyOS 的特权访问权限

获取 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. 访问配置文件:
    • 找到 config.yaml 文件。通常,它位于 Linux 上的 /etc/bindplane-agent/ 目录中或 Windows 上的安装目录中。
    • 使用文本编辑器(例如 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: 'VYOS'
            raw_log_field: body
            ingestion_labels:
    
    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
    

在 VyOS 上配置 Syslog

  1. 使用 CLI 登录 VyOS 路由器。
  2. 输入以下命令:

    set system syslog marker interval 1200
    set system syslog remote <bindplane-address> facility local0 level info port <bindolane-port> protocol <udp-or-tcp> format include-timezone
    
  3. 请务必将以下字段替换为您的详细信息:

    • <bindplane-address>:输入 Bindplane 代理 IP 地址。
    • <bindolane-port>:输入 Bindplane 代理端口号(例如 514)。
    • <udp-or-tcp>:根据您的 Bindplane 配置输入 UDP 或 TCP(例如 UDP)。

UDM 映射表

日志字段 UDM 映射 逻辑
clientIp principal.ip 从 DHCP 消息中提取的客户端 IP 地址。
clientMac principal.mac 从 DHCP 消息中提取的客户端 MAC 地址。
datetime metadata.event_timestamp 从日志消息中提取的时间戳。
dst_ipaddress target.ip 从日志消息中提取的目标 IP 地址。
hostname observer.hostname 从日志消息中提取的主机名。由解析器根据 process 和其他字段确定。可以是 GENERIC_EVENTNETWORK_CONNECTIONNETWORK_DHCPSTATUS_UPDATE。硬编码为“VYOS”。
msg metadata.description 日志中的原始消息或其一部分,具体取决于解析逻辑。如果 process 为“dhcpd”,则设置为“DHCP 事件”。硬编码为“VYOS DHCP”。硬编码为“VYOS”。
network.dhcp.chaddr network.dhcp.chaddr 从 DHCP 消息中提取的客户端 MAC 地址。
network.dhcp.ciaddr network.dhcp.ciaddr DHCPREQUEST 消息中的客户端 IP 地址。DHCP 消息操作码。对于 DHCPREQUEST 和 DHCPINFORM,设置为“BOOTREQUEST”;对于 DHCPACK 和 DHCPNAK,设置为“BOOTREPLY”。DHCP 消息类型。派生自 eventType,可以是 REQUESTACKINFORMNAKOFFER
network.dhcp.yiaddr network.dhcp.yiaddr DHCPACK 或 DHCPOFFER 消息中的(客户端)IP 地址。如果 process 为“dhcpd”,则设置为“DHCP”。
pri_host principal.hostname DHCP 消息中与客户端关联的主机名。
rem_msg metadata.description 初始解析后消息的剩余部分,在某些情况下用于说明。
src_ipaddress principal.ip 从日志消息中提取的源 IP 地址。
timestamp event.timestamp 日志条目的时间戳。

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