收集 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(可选)

获取 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
    
  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
    

该服务应显示为有效(正在运行)

其他安装资源

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

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

找到配置文件

  • Linux

    sudo nano /etc/bindplane-agent/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:
        compression: gzip
        creds_file_path: '/etc/bindplane-agent/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
    
    service:
      pipelines:
        logs/guardium_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/guardium
    

配置参数

替换以下占位符:

  • 接收器配置

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

    • creds_file_path:提取身份验证文件的完整路径:
      • Linux/etc/bindplane-agent/ingestion-auth.json
      • WindowsC:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • customer_id:上一步中的客户 ID。
    • endpoint:区域端点网址:
      • 美国malachiteingestion-pa.googleapis.com
      • 欧洲europe-malachiteingestion-pa.googleapis.com
      • 亚洲asia-southeast1-malachiteingestion-pa.googleapis.com
    • log_type:必须为 GUARDIUM
    • ingestion_labels:YAML 格式的可选标签。

保存配置文件

修改后,保存文件:

  • Linux:依次按 Ctrl+OEnterCtrl+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. 依次前往管理控制台 > 配置 > 全局个人资料
  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. 在左侧导航栏中,依次选择配置 > 政策安装
  3. Policy Installer 窗格中,选择您在上一步中修改的政策。
  4. 从下拉列表中选择 Install and Override
  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 地址
中介 中介实体详细信息
接收时间、生成时间、时间戳 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 触发安全结果的规则的名称
严重程度、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 供应商名称

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