收集 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 注入身份验证文件
- 登录 Google SecOps 控制台。
- 依次前往 SIEM 设置 > 收集代理。
- 下载注入身份验证文件。将文件安全地保存在将要安装 Bindplane 的系统上。
获取 Google SecOps 客户 ID
- 登录 Google SecOps 控制台。
- 依次前往 SIEM 设置 > 配置文件。
- 复制并保存组织详细信息部分中的客户 ID。
安装 Bindplane 代理
按照以下说明在 Windows 或 Linux 操作系统上安装 Bindplane 代理。
Windows 安装
- 以管理员身份打开命令提示符或 PowerShell。
运行以下命令:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet等待安装完成。
运行以下命令来验证安装:
sc query observiq-otel-collector
该服务应显示为 RUNNING。
Linux 安装
- 打开具有 root 或 sudo 权限的终端。
运行以下命令:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh等待安装完成。
运行以下命令来验证安装:
sudo systemctl status observiq-otel-collector
该服务应显示为有效(正在运行)。
其他安装资源
如需了解其他安装选项和问题排查信息,请参阅 Bindplane 代理安装指南。
配置 Bindplane 代理以注入 syslog 并将其发送到 Google SecOps
找到配置文件
Linux:
sudo nano /etc/bindplane-agent/config.yamlWindows:
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 上监听所有接口。
- 对于 UDP syslog(Guardium 最常用的),请使用
导出器配置:
creds_file_path:提取身份验证文件的完整路径:- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
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+O、Enter和Ctrl+X - Windows:依次点击文件 > 保存
重启 Bindplane 代理以应用更改
如需在 Linux 中重启 Bindplane 代理,请运行以下命令:
sudo systemctl restart observiq-otel-collector验证服务是否正在运行:
sudo systemctl status observiq-otel-collector检查日志是否存在错误:
sudo journalctl -u observiq-otel-collector -f
如需在 Windows 中重启 Bindplane 代理,请选择以下选项之一:
以管理员身份运行命令提示符或 PowerShell:
net stop observiq-otel-collector && net start observiq-otel-collector服务控制台:
- 按
Win+R,输入services.msc,然后按 Enter 键。 - 找到 observIQ OpenTelemetry 收集器。
右键点击并选择重新启动。
验证服务是否正在运行:
sc query observiq-otel-collector检查日志是否存在错误:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
- 按
配置 IBM Guardium syslog 转发
通过 CLI 配置 syslog 目标
如需为 IBM Guardium 上的事件创建 syslog 目标,您必须登录命令行界面并定义 Bindplane 代理主机对应的 IP 地址。
- 使用 SSH 以 CLI 用户身份登录 IBM Guardium Collector。
输入以下命令以配置 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 地址。
- 将
运行以下命令以验证配置:
show remotelog输出应显示您配置的远程 syslog 目标。
配置加密的 syslog(可选)
如果您需要加密的 syslog 转发,IBM Guardium 9.1 及更高版本支持通过 TCP 进行 TLS 加密。
- 从远程 syslog 接收器使用的证书授权机构获取 PEM 格式的公共证书。
- 登录 Guardium 收集器上的 CLI。
输入以下命令:
store remotelog add encrypted daemon.all BINDPLANE_AGENT_IP:6514 tcp根据提示,粘贴 PEM 格式的 CA 证书(包括 BEGIN 和 END 行),然后按
Ctrl+D。Guardium 将证书存储为
/etc/pki/rsyslog/ca.pem。
配置消息模板(可选)
Guardium 支持多种消息格式,包括 CEF(通用事件格式)和 LEEF(日志事件扩展格式)。默认格式适合大多数部署。
如需自定义消息模板,请执行以下操作:
- 以具有管理员权限的用户身份登录 Guardium 设备 GUI。
- 依次前往管理控制台 > 配置 > 全局个人资料。
- 在消息模板部分中,以所需格式修改模板。
- 点击保存。
配置政策以将提醒发送到 syslog
IBM Guardium 中的政策负责对事件做出反应,并将事件信息转发到远程 Syslog 接收器。
配置政策提醒操作
- 登录 Guardium 设备 GUI。
- 点击工具标签页。
- 在左侧导航栏中,选择政策生成器。
- 在政策查找器窗格中,选择现有政策,然后点击修改规则。
- 点击单独修改此规则。
- 系统会显示访问规则定义。
- 点击添加操作。
- 从操作列表中,选择以下提醒类型之一:
- 每次匹配均发出提醒:每次发现违规行为时,系统都会发送通知。
- 每天提醒:当天首次发生违规行为时,系统会发送通知。
- 每个会话提醒一次:针对每个唯一会话的每次政策违规行为提供一次通知。
- 按时间粒度发出提醒:系统会根据您选择的时间范围发出通知。
- 从消息模板列表中,选择所需的模板或保留默认。
- 从通知类型中,选择 SYSLOG。
- 点击添加,然后点击应用。
- 点击保存。
- 对于您要转发给 Google SecOps 的政策中的所有规则,请重复此流程。
安装政策
必须先在 IBM Guardium 中安装任何新的或经过修改的政策,然后才能执行更新后的提醒操作或规则更改。
- 点击管理控制台标签页。
- 在左侧导航栏中,依次选择配置 > 政策安装。
- 在 Policy Installer 窗格中,选择您在上一步中修改的政策。
- 从下拉列表中选择 Install and Override。
- 系统会显示一条确认消息,询问是否要将政策安装到所有检查引擎。
- 点击确定。
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 专业人士的解答。