收集 Broadcom SiteMinder Web 访问管理(前身为 CA SSO)日志
本文档介绍了如何使用 Bindplane 将 Broadcom SiteMinder Web Access Management(前身为 CA SSO)日志注入 Google Security Operations。解析器会将原始 JSON 格式的日志转换为结构化的统一数据模型 (UDM)。它使用 grok 模式从原始日志消息中提取字段,对其进行重命名并将其映射到 UDM 架构,处理不同的事件类型和用户格式,并丰富数据以进行安全分析。
Broadcom SiteMinder Web Access Management 是一种企业级 Web 访问管理解决方案,可为 Web 应用提供集中式身份验证、授权和单点登录 (SSO)。SiteMinder 使用政策服务器来强制执行安全政策并管理 Web 资源中的用户会话,从而生成身份验证事件、授权决策和会话活动的详细审核日志。
准备工作
请确保满足以下前提条件:
- Google SecOps 实例。
- 搭载 systemd 的 Windows 2016 或更高版本或 Linux 主机。
- 如果通过代理运行,请确保防火墙 端口 已打开。
- 对 Broadcom SiteMinder 政策服务器管理控制台的特权访问权限。
- 在将启动政策服务器管理控制台的系统上运行的 X-windows 服务器(适用于基于 Linux 的政策服务器)。
获取 Bindplane 代理的 Google SecOps 凭据
如需向 Google SecOps 验证 Bindplane 代理的身份,请选择以下方法之一:
- 新部署:使用 Chronicle API(方法 1)。
- 旧版部署:继续使用注入身份验证文件(方法 2),直到注入 API 于 2027 年 7 月 20 日停用为止。
方法 1:为 Chronicle API 创建服务帐号(推荐)
- 登录 Google Cloud 控制台,然后选择与您的 Google SecOps 实例关联的 Google Cloud 项目。
- 依次前往 IAM 和管理 > 服务账号。
- 点击创建服务账号 。
- 提供以下配置详细信息:
- 服务账号名称:输入账号的名称(例如
bindplane-ingest)。 - 服务账号说明:输入说明(例如
Bindplane agent log ingestion)。
- 服务账号名称:输入账号的名称(例如
- 点击创建并继续 。
- 在向此服务帐号授予对项目的访问权限 部分,点击选择角色 ,然后选择 Chronicle Editor 。
- 点击继续 ,然后点击完成 。
- 点击您创建的服务帐号,然后前往密钥 标签页。
- 点击添加密钥 > 创建新密钥。
- 选择 JSON ,然后点击创建 。密钥文件会下载到您的计算机。
- 将密钥文件另存为 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中以与您保存该文件的路径匹配。 - 依次前往 IAM 和管理 > 设置 ,然后复制项目编号 。您需要此编号进行导出器配置。
方法 2:下载注入身份验证文件(旧版)
- 登录 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
Linux 安装
- 打开具有根权限或 sudo 权限的终端。
运行以下命令:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
其他安装资源
如需了解其他安装选项,请参阅此安装指南。
配置 Bindplane 代理以注入 Syslog 并将其发送到 Google SecOps
访问配置文件:
- 找到
config.yaml文件。通常,该文件位于 Linux 上的/observiq-otel-collector/目录或 Windows 上的安装目录中。 - 使用文本编辑器(例如
nano、vi或记事本)打开该文件。
- 找到
按如下方式修改
config.yaml文件:receivers: tcplog: # 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: <customer_id> endpoint: chronicle.googleapis.com # Add optional ingestion labels for better organization log_type: 'CA_SSO_WEB' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog exporters: - chronicle/chronicle_w_labels
- 根据基础架构的需要替换端口和 IP 地址。
- 将
<LOCATION>替换为 Google SecOps 实例的区域(例如us、europe或asia-southeast1)。导出器会使用此值为chronicle.googleapis.com添加前缀。 - 将
<PROJECT_NUMBER>替换为 IAM 和管理 > 设置 中的项目编号。 - 将
<customer_id>替换为实际的客户 ID。 - 将
/path/to/ingestion-authentication-file.json更新为在第 1 步中保存服务帐号密钥文件(方法 1)的文件路径。
旧版注入 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: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization log_type: 'CA_SSO_WEB' raw_log_field: body ingestion_labels:
重启 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 Collector 。
- 右键点击并选择重启 。
- 按
验证服务是否正在运行:
sc query observiq-otel-collector检查日志中是否存在错误:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
在 Broadcom SiteMinder 政策服务器(版本 12.8)上配置 Syslog
- 验证您的系统上是否正在运行 X-windows 服务器 。
- 打开一个终端窗口。
使用以下命令设置 DISPLAY 变量:
export DISPLAY=<IP_ADDRESS>:0.0登录托管政策服务器管理控制台的系统。
前往
<installation_directory>/siteminder/bin目录。- 将
<installation_directory>替换为文件系统中安装 政策服务器 的位置(例如/opt/CA/siteminder)。
- 将
运行以下命令以打开控制台:
./smconsole点击数据 标签页。
点击数据库 下拉列表,然后选择审核日志 。
点击存储 下拉列表,然后选择 Syslog 。
在优先级 字段中选择值 LOG_INFO 。
在设施 字段中选择值 LOG_LOCAL0 。
点击确定 。
配置 Syslog 转发到 Bindplane 代理
在 SiteMinder 政策服务器上启用 Syslog 后,请配置 Syslog 守护程序以将 SiteMinder 审核日志转发到 Bindplane 代理。
在政策服务器主机上打开 Syslog 配置文件:
sudo nano /etc/rsyslog.conf添加以下行以将 LOCAL0 设施日志转发到 Bindplane 代理:
local0.* @@<BINDPLANE_IP>:514保存文件并重启 Syslog 服务:
sudo systemctl restart rsyslog
重启 SiteMinder 政策服务器
- 使用最初安装政策服务器的同一用户账号登录托管政策服务器的系统。
- 打开管理控制台。
- 点击状态 标签页,然后点击停止 按钮。
- 等待所有服务停止。
- 在同一状态 标签页中,点击启动 按钮。
UDM 映射表
| 日志字段 | UDM 映射 | 逻辑 |
|---|---|---|
Action |
event1.idm.read_only_udm.network.http.method |
如果 Action 字段不为空,则会映射到 network.http.method。如果值为 Visit,则会替换为 GET。 |
event1.idm.read_only_udm.metadata.product_name |
在解析器代码中设置为 Web Access Management。 |
|
event1.idm.read_only_udm.metadata.vendor_name |
在解析器代码中设置为 Siteminder。 |
|
event1.idm.read_only_udm.observer.hostname |
设置为 logstash.collect.host 的值。 |
更新日志
需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。