收集 IBM Guardium 日志

支持:

本文档介绍了如何使用 Bindplane 将 IBM Guardium 日志注入到 Google Security Operations。

IBM Guardium 是一个数据库活动监控和数据保护平台,可为数据库和文件系统提供实时监控、审核和保护。Guardium 提供漏洞评估、数据发现和分类、数据库活动监控以及合规性报告功能。

准备工作

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

  • Google SecOps 实例
  • Windows Server 2016 或更高版本,或者具有 systemd 的 Linux 主机
  • Bindplane 代理与 IBM Guardium 收集器之间的网络连接
  • 如果在代理后面运行,请确保按照 Bindplane 代理要求打开防火墙端口
  • 对 IBM Guardium CLI 的特权访问权限
  • IBM Guardium 9.1 或更高版本,用于支持加密的 syslog(可选)

获取 Bindplane 代理的 Google SecOps 凭据

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

  • 新部署:使用 Chronicle API(选项 1)。
  • 旧版部署:继续使用数据注入身份验证文件(方法 2),直到 Ingestion 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 收集器目录(Linux 上的 /opt/observiq-otel-collector/ingestion-auth.json 或 Windows 上的 C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json)中的 ingestion-auth.json,或更新 config.yaml 中的 creds_file_path 以匹配您保存该文件的路径。
  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
    
  3. 等待安装完成。

  4. 运行以下命令,验证安装是否成功:

    sc query observiq-otel-collector
    

该服务应显示为 RUNNING。

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
    
  3. 等待安装完成。

  4. 运行以下命令,验证安装是否成功:

    sudo systemctl status observiq-otel-collector
    

该服务应显示为 active (running)。

其他安装资源

如需了解其他安装选项和问题排查信息,请参阅 Bindplane 代理安装指南。

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

找到配置文件

  • Linux:

    sudo nano /opt/observiq-otel-collector/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

修改配置文件

  • 将 config.yaml 的全部内容替换为以下配置:

    receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/guardium:
        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
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: 'YOUR_CUSTOMER_ID'
        endpoint: chronicle.googleapis.com
        log_type: GUARDIUM
        raw_log_field: body
        ingestion_labels:
          log_source: guardium
    
    service:
      pipelines:
        logs/guardium_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/guardium
    

配置参数

替换以下占位符:

  • 接收器配置:

    • 使用 udplog 作为 UDP syslog(Guardium 最常用的)。
    • 如果需要,请使用 tcplog 作为 TCP syslog。
    • 监听地址 0.0.0.0:514 会监听端口 514 上的所有接口。
  • 导出器配置:

    • creds_file_path:服务账号 JSON 密钥文件的完整路径(选项 1):
      • Linux:/opt/observiq-otel-collector/ingestion-auth.json
      • Windows:C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • customer_id:上一步中的客户 ID。
    • location:将 <LOCATION> 替换为 Google SecOps 实例所在的区域(例如 us、europe 或 asia-southeast1)。导出工具会在此值前面加上 chronicle.googleapis.com。如需查看完整列表,请参阅区域级端点。
    • project:将 <PROJECT_NUMBER> 替换为“IAM 和管理”>“设置”中的项目编号。
    • endpoint:保持设置为 chronicle.googleapis.com。
    • log_type:必须为 GUARDIUM。
    • ingestion_labels:YAML 格式的可选标签。

旧版提取 API 导出工具

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

    exporters:
      chronicle/guardium:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: 'YOUR_CUSTOMER_ID'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: GUARDIUM
        raw_log_field: body
        ingestion_labels:
          log_source: guardium
    

保存配置文件

修改后,保存文件:

  • Linux:依次按 Ctrl+O、Enter 和 Ctrl+X
  • Windows:依次点击文件 > 保存

重启 Bindplane 代理以应用更改

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

    sudo systemctl restart observiq-otel-collector
    
    1. 验证服务是否正在运行:

        sudo systemctl status observiq-otel-collector
      
    2. 检查日志中是否存在错误:

        sudo journalctl -u observiq-otel-collector -f
      
  • 如需在 Windows 中重启 Bindplane 代理,请选择以下选项之一:

    • 以管理员身份运行命令提示符或 PowerShell:

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • 服务控制台:

      1. 按 Win+R,输入 services.msc,然后按 Enter 键。
      2. 找到 observIQ OpenTelemetry 收集器。
      3. 右键点击并选择重启。

      4. 验证服务是否正在运行:

        sc query observiq-otel-collector
        
      5. 检查日志中是否存在错误:

        type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
        

配置 IBM Guardium Syslog 转发

通过 CLI 配置 syslog 目标

如需在 IBM Guardium 上为事件创建 syslog 目标,您必须登录命令行界面并为 Bindplane 代理主机定义 IP 地址。

  1. 使用 SSH 以 CLI 用户身份登录 IBM Guardium Collector。
  2. 输入以下命令,配置 syslog 目标:

    • 对于 UDP syslog(推荐):

      store remotelog add non_encrypted daemon.all BINDPLANE_AGENT_IP udp
      
    • 对于 TCP syslog:

      store remotelog add non_encrypted daemon.all BINDPLANE_AGENT_IP:514 tcp
      
    • 对于特定严重程度:

      store remotelog add non_encrypted daemon.alert BINDPLANE_AGENT_IP udp
      store remotelog add non_encrypted daemon.err BINDPLANE_AGENT_IP udp
      store remotelog add non_encrypted daemon.warning BINDPLANE_AGENT_IP udp
      
      • 将 BINDPLANE_AGENT_IP 替换为安装了 Bindplane 代理的主机的 IP 地址。
  3. 运行以下命令以验证配置:

    show remotelog
    

    输出应显示您配置的远程 syslog 目标。

配置加密的 syslog(可选)

如果您需要加密的 syslog 转发,IBM Guardium 9.1 及更高版本支持通过 TCP 进行 TLS 加密。

  1. 从远程 syslog 接收器使用的证书授权机构获取 PEM 格式的公共证书。
  2. 登录 Guardium 收集器上的 CLI。
  3. 输入以下命令:

    store remotelog add encrypted daemon.all BINDPLANE_AGENT_IP:6514 tcp
    
  4. 出现提示时,粘贴 PEM 格式的 CA 证书(包括 BEGIN 和 END 行),然后按 Ctrl+D。

  5. Guardium 会将证书存储为 /etc/pki/rsyslog/ca.pem。

配置消息模板(可选)

Guardium 支持多种消息格式,包括 CEF(通用事件格式)和 LEEF(日志事件扩展格式)。默认格式适用于大多数部署。

如需自定义消息模板,请执行以下操作:

  1. 以具有管理员权限的用户身份登录 Guardium 设备 GUI。
  2. 依次前往 Administration Console(管理控制台)> Configuration(配置)> Global Profile(全局个人资料)。
  3. 在消息模板部分中,按照所需格式修改模板。
  4. 点击保存。

配置政策以向 syslog 发送提醒

IBM Guardium 中的政策负责对事件做出反应,并将事件信息转发到远程 syslog 接收器。

配置政策提醒操作

  1. 登录 Guardium 设备 GUI。
  2. 点击工具标签页。
  3. 在左侧导航栏中,选择政策构建器。
  4. 在政策查找器窗格中,选择现有政策,然后点击修改规则。
  5. 点击单独修改此规则。
  6. 系统会显示访问规则定义。
  7. 点击添加操作。
  8. 从操作列表中,选择以下任一提醒类型:
    • 每次匹配都发出提醒:每次违反政策时都会发出通知。
    • 每日提醒:在当天首次发生违规行为时发出通知。
    • 每个会话提醒一次:针对每个唯一会话的每次违规行为提供一次通知。
    • 按时间粒度发出提醒:系统会根据您选择的时间范围发出通知。
  9. 从消息模板列表中,选择所需模板或保留默认。
  10. 在通知类型中,选择 SYSLOG。
  11. 点击添加,然后点击应用。
  12. 点击保存。
  13. 对于您要转发到 Google SecOps 的政策中的所有规则,请重复此过程。

安装政策

必须先在 IBM Guardium 中安装任何新政策或修改后的政策,然后才能执行更新后的提醒操作或规则更改。

  1. 点击管理控制台标签页。
  2. 在左侧导航栏中,依次选择 Configuration>Policy Installation。
  3. 在 Policy Installer 窗格中,选择您在上一步中修改的政策。
  4. 从下拉列表中,选择安装并覆盖。
  5. 系统会显示一条确认消息,询问您是否要将政策安装到所有检查引擎。
  6. 点击确定。

UDM 映射表

日志字段 UDM 映射 逻辑
deviceNtDomain about.administrative_domain 相关实体的管理网域
deviceExternalId about.asset.asset_id 资产标识符
filePath、fileHash about.file.full_path 文件的完整路径
_hash, fileHash about.file.sha256 文件的 SHA256 哈希值
fsize about.file.size 文件的大小
dvchost about.hostname “关于”实体的主机名
dvc about.ip 相关实体的 IP 地址
smac、dmac、dvcmac about.mac 相关实体的 MAC 地址
deviceProcessName、Subject、Emne、Path about.process.command_line 进程的命令行
dvcpid about.process.pid 进程 ID
filePermission about.resource.attribute.permissions 与资源关联的权限
extensions.auth.type 身份验证类型
sender_ip intermediary.ip 中介的 IP 地址
中介 中介实体详细信息
Received, Generated, timestamp metadata.collected_timestamp 收集事件时的时间戳
msg, signature_name metadata.description 事件的说明
metadata.event_type 事件类型(例如 USER_LOGIN、NETWORK_CONNECTION)
device_event_class_id、event_name、eventType metadata.product_event_type 特定产品的事件类型
externalId metadata.product_log_id 商品日志标识符
metadata.product_version 产品版本
network.application_protocol 网络连接中使用的应用协议
deviceDirection network.direction 网络流量的方向
requestMethod network.http.method 请求中使用的 HTTP 方法
requestClientApplication network.http.user_agent HTTP 请求中的用户代理字符串
proto network.ip_protocol 使用的 IP 协议
英寸 network.received_bytes 接收的字节数
out network.sent_bytes 发送的字节数
session_id network.session_id 网络连接的会话标识符
sntdom, Domain, Domene principal.administrative_domain 委托人的行政网域
sourceServiceName, source_program principal.application 与主账号关联的应用
prin_host、Device_name、Enhetsnavn、shost、principal_hostname、client_hostname principal.asset.hostname 主要资产的主机名
sender_ip、src_ip、src、principal_ip、client_ip principal.asset.ip 主要资产的 IP 地址
Group_name, Gruppenavn principal.group.group_display_name 主账号群组的显示名称
prin_host、Device_name、Enhetsnavn、shost、principal_hostname、client_hostname principal.hostname 主账号的主机名
sender_ip、src_ip、src、principal_ip、client_ip principal.ip 主体的 IP 地址
smac principal.mac 主体的 MAC 地址
sourceTranslatedAddress principal.nat_ip 主体的 NAT IP 地址
sourceTranslatedPort principal.nat_port 主体的 NAT 端口
spt, client_port principal.port 主账号使用的端口
sproc principal.process.command_line 主进程的命令行
spid principal.process.pid 主体的进程 ID
spriv principal.user.attribute.roles 与主用户关联的角色
suser、usrName、CustomerName principal.user.user_display_name 主用户的显示名称
dbUser、usrName、db_user、os_user、suid、db_username principal.user.userid 主体的用户 ID
security_result 安全结果详情
security_result.action 安全结果中采取的操作
act, Action_Taken security_result.action_details 所采取措施的详细信息
猫 security_result.category_details 安全结果的类别详情
msg_data_2, alert_description, Type, Scan_Type security_result.description 安全结果的说明
operation_label、operasjon_label、permission_label、tillatelse_label、infection_channel_label、spyware_Grayware_Type_label、threat_probability_label security_result.detection_fields 安全结果中用于检测的字段
mwProfile, alert_name security_result.rule_name 触发安全结果的规则的名称
severity、event_severity security_result.severity 安全结果的严重程度级别
reason、ruleDesc、appcategory、Result security_result.summary 安全结果摘要
间谍软件、Virus_Malware_Name、Unknown_Threat security_result.threat_name 检测到的威胁的名称
oldFilePath src.file.full_path 源文件的完整路径
oldFileSize src.file.size 源文件的大小
oldFilePermission src.resource.attribute.permissions 来源资源的权限
os_user src.user.userid 来源用户的用户 ID
dntdom target.administrative_domain 目标的管理网域
destinationServiceName, service_name target.application 与目标相关联的应用
prin_host、dest_host、server_hostname target.asset.hostname 目标资产的主机名
dst_ip、dest_ip、server_ip、IPv6_Address target.asset.ip 目标资产的 IP 地址
temp_dhost、dest_host、server_hostname target.hostname 目标的主机名
dst_ip、dst、dest_ip、server_ip、IPv6_Address target.ip 目标的 IP 地址
dmac target.mac 目标的 MAC 地址
destinationTranslatedAddress target.nat_ip 目标的 NAT IP 地址
destinationTranslatedPort target.nat_port 目标的 NAT 端口
dpt、dstPort、dest_port、server_port target.port 目标使用的端口
dproc, full_sql target.process.command_line 目标进程的命令行
File_name, Object, Objekt, Infected_Resource target.process.file.full_path 目标进程文件的完整路径
dpid, full_sql_id target.process.pid 目标的进程 ID
session_start target.resource.attribute.creation_time 目标资源的创建时间
additional_environment_name、additional_db_protocol_version、additional_dbProtocolVersion、additional_operation_name、additional_signature_id、resource_Type_label target.resource.attribute.labels 与目标资源关联的标签
session_end target.resource.attribute.last_update_time 目标资源的上次更新时间
db_name, database_name target.resource.name 目标资源的名称
db_type, server_type target.resource.resource_subtype 目标资源的子类型
target.resource.resource_type 目标资源的类型
请求 target.url 与目标关联的网址
dpriv、角色 target.user.attribute.roles 与目标用户相关联的角色
temp_duser, CustomerName target.user.user_display_name 目标用户的显示名称
temp_duid, User, Bruker, db_username target.user.userid 目标的用户 ID
metadata.product_name 商品名称
metadata.vendor_name 供应商名称
query additional.fields 从更新日志映射

更新日志

查看相应解析器的更新日志

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