收集 Kemp 负载均衡器日志

支持:

本文档介绍了如何使用 Bindplane 代理将 Progress Kemp LoadMaster 日志注入到 Google Security Operations 中。

Progress Kemp LoadMaster(以前称为 Kemp Load Balancer)是一种应用交付控制器 (ADC),可为企业应用提供负载均衡、SSL 卸载和流量管理。它会在多个服务器之间分配传入流量,以确保高可用性、优化性能并增强基于 Web 的应用和服务的安全性。

准备工作

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

  • Google SecOps 实例
  • 搭载 systemd 的 Windows 2016 或更高版本或 Linux 主机
  • 如果通过代理运行,请确保防火墙端口符合 Bindplane 代理要求
  • 对 Progress Kemp LoadMaster Web 界面 (WUI) 的特权访问权限

获取 Bindplane 代理的 Google SecOps 凭据

如需向 Google SecOps 验证 Bindplane 代理的身份,请选择以下方法之一:

  • 新部署:使用 Chronicle API(方法 1)。
  • 旧版部署:继续使用注入身份验证文件(方法 2),直到注入 API 于 2027 年 7 月 20 日停用为止。
  1. 登录 Google Cloud 控制台,然后选择与您的 Google SecOps 实例关联的 Google Cloud 项目。
  2. 依次前往 IAM 和管理 > 服务账号。
  3. 点击创建服务账号 。
  4. 提供以下配置详细信息:
    • 服务账号名称:输入账号的名称(例如 bindplane-ingest)。
    • 服务账号说明:输入说明(例如 Bindplane agent log ingestion)。
  5. 点击创建并继续 。
  6. 在向此服务帐号授予对项目的访问权限 部分,点击选择角色 ,然后选择 Chronicle Editor 。
  7. 点击继续 ,然后点击完成 。
  8. 点击您创建的服务帐号,然后前往密钥 标签页。
  9. 依次点击添加密钥 > 创建新密钥。
  10. 选择 JSON ,然后点击创建 。密钥文件会下载到您的计算机上。
  11. 将密钥文件另存为 Bindplane 收集器目录中的 ingestion-auth.json(在 Linux 上为 /opt/observiq-otel-collector/ingestion-auth.json,在 Windows 上为 C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json),或者更新 creds_file_path 在 config.yaml 中以与您保存该文件的路径匹配。
  12. 依次前往 IAM 和管理 > 设置 ,然后复制项目编号 。您需要此编号进行导出器配置。

方法 2:下载注入身份验证文件(旧版)

  1. 登录 Google SecOps 控制台。
  2. 依次前往 SIEM 设置 > 收集代理。
  3. 下载注入身份验证文件 。
  4. 将该文件安全地保存在将安装 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 上的 /opt/observiq-otel-collector/ 目录或 Windows 上的安装目录中。
    • 使用文本编辑器(例如 nano、vi 或记事本)打开该文件。
  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:
          protocol: https
          # Region of your instance, for example us, europe, asia-southeast1
          location: <LOCATION>
          # Project number of the Google Cloud project linked to the instance
          project: '<PROJECT_NUMBER>'
          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: YOUR_CUSTOMER_ID_HERE
          endpoint: chronicle.googleapis.com
          # Add optional ingestion labels for better organization
          log_type: 'KEMP_LOADBALANCER'
          raw_log_field: body
          ingestion_labels:
    
      service:
        pipelines:
          logs/source0__chronicle_w_labels-0:
            receivers:
              - udplog
            exporters:
              - chronicle/chronicle_w_labels
    
  3. 根据基础架构中的需要替换端口和 IP 地址。

  4. 将 YOUR_CUSTOMER_ID_HERE 替换为实际的客户 ID。

  5. 将 /path/to/ingestion-authentication-file.json 更新为在第 1 步中保存服务帐号密钥文件(方法 1)的文件路径。

  6. 将 <LOCATION> 替换为 Google SecOps 实例的区域(例如 us、europe 或 asia-southeast1)。导出器会使用此值为 chronicle.googleapis.com 添加前缀。如需查看完整列表,请参阅区域级端点。

  7. 将 <PROJECT_NUMBER> 替换为 IAM 和管理 > 设置 中的项目编号。

旧版注入 API 导出器

  • 如果您使用方法 2 中的注入身份验证文件,请将 exporters 代码块替换为以下内容。将 creds_file_path 设置为注入身份验证文件的路径,并且如果您的实例位于美国境外,请将 malachiteingestion-pa.googleapis.com 替换为您的 区域级端点(例如 europe-malachiteingestion-pa.googleapis.com)。

    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: YOUR_CUSTOMER_ID_HERE
        endpoint: malachiteingestion-pa.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'KEMP_LOADBALANCER'
        raw_log_field: body
        ingestion_labels:
    

重启 Bindplane 代理以应用更改

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

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

      net stop observiq-otel-collector && net start observiq-otel-collector
    

配置 Progress Kemp LoadMaster Syslog 转发

  1. 登录 Progress Kemp LoadMaster Web 界面 (WUI)。
  2. 依次前往系统配置 > 日志记录选项 > Syslog 选项。
  3. 在远程 Syslog 主机 字段中,输入 Bindplane 代理主机的 IP 地址(例如 192.168.1.100)。
  4. 在远程 Syslog 端口 字段中,输入 514(或在 Bindplane 中配置的端口)。
  5. 将信息 Syslog 消息 选项设置为是 以启用信息日志消息。
  6. 将警告 Syslog 消息 选项设置为是 以启用警告消息。
  7. 将错误 Syslog 消息 选项设置为是 以启用出错提示。
  8. 将严重 Syslog 消息 选项设置为是 以启用严重消息。
  9. 将紧急 Syslog 消息 选项设置为是 以启用紧急消息。
  10. 点击设置 Syslog 参数 以保存配置。
  11. 如需启用 WAF Syslog 日志记录,请依次前往系统配置 > 日志记录选项 > WAF Syslog 选项。
  12. 将远程 Syslog 选项设置为是 。
  13. 点击设置 WAF Syslog 参数 以保存。

UDM 映射表

日志字段 UDM 映射 逻辑
hlen_label additional.fields 已合并
meta_sequenceId_label additional.fields 已合并
nhdrs_label additional.fields 已合并
intermediary intermediary 已合并
inter_hostname intermediary.hostname 直接映射
description metadata.description 直接映射
event_type metadata.event_type 已重命名/映射
log_event metadata.product_event_type 直接映射
sequenceId metadata.product_log_id 直接映射
ftpmethod network.ftp.command 直接映射
http_method network.http.method 直接映射
http_response_code network.http.response_code 直接映射
process_name principal.application 直接映射
src_ip principal.ip 已合并
srcip principal.ip 已合并
src_port principal.port 直接映射
srcport principal.port 直接映射
sec_result security_result 已合并
sshd target.application 直接映射
filename target.file.full_path 直接映射
file_size target.file.size 已重命名/映射
dest_ip target.ip 已合并
dstip target.ip 已合并
vs target.ip 已合并
dest_port target.port 直接映射
dstport target.port 直接映射
vs_port target.port 直接映射
pid target.process.pid 直接映射
http_path target.url 直接映射
resource target.url 直接映射
user target.user.userid 直接映射
不适用 additional.fields 常量:meta_sequenceId_label
不适用 extensions.auth.type 常量:AUTHTYPE_UNSPECIFIED
不适用 intermediary 常量:intermediary
不适用 metadata.event_type 常量:GENERIC_EVENT
不适用 metadata.product_name 常量:KEMP_LOADBALANCER
不适用 metadata.vendor_name 常量:KEMP
不适用 network.application_protocol 常量:HTTP
不适用 principal.ip 常量:src_ip
不适用 security_result 常量:sec_result
不适用 target.ip 常量:dest_ip
meta_sequenceId event.idm.read_only_udm.additional.fields 从变更日志映射
event_type USER_UNCATEGORIZED 从变更日志映射

如需详细了解解析器字段映射,请参阅 KEMP_LOADBALANCER 解析器参考文档。

更新日志

查看此解析器的更新日志

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