收集 RSA SecurID Access 日志
本文档介绍了如何使用 Bindplane 代理将 RSA SecurID Access 日志注入到 Google Security Operations。
RSA SecurID Access 是一款多重身份验证和身份保证平台,用于企业访问权限管理。它会生成涵盖用户和系统活动、身份验证事件以及令牌管理的审核日志。解析器从 RSA SecurID 日志条目中提取字段,并将其映射到统一数据模型 (UDM),从而捕获用户身份、身份验证结果、会话详细信息和安全元数据。
准备工作
请确保满足以下前提条件:
- Google SecOps 实例
- Windows Server 2016 或更高版本,或者具有
systemd的 Linux 主机 - Bindplane 代理与 RSA SecurID Access Identity Router 或 Authentication Manager 设备之间的网络连接
- 如果在代理后面运行,请确保防火墙端口已根据 Bindplane 代理要求打开
- 对 RSA SecurID Access Cloud 管理控制台或安全控制台的管理员权限
获取 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该服务应显示为 正在运行。
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 /opt/observiq-otel-collector/config.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
修改配置文件
将
config.yaml的全部内容替换为以下配置:receivers: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/rsa_securid: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: RSA_SECURID raw_log_field: body service: pipelines: logs/rsa_securid: receivers: - udplog exporters: - chronicle/rsa_securid
配置参数
替换以下占位符:
接收器配置:
udplog:基于协议的接收器类型:udplog(适用于 UDP syslog)tcplog(适用于 TCP syslog)syslog(适用于 RFC 3164/5424 syslog)
0.0.0.0:要监听的 IP 地址:0.0.0.0侦听所有接口(推荐)- 在某个接口上监听的特定 IP 地址
514:要监听的端口号(例如514、1514、6514)
导出器配置:
<customer_id>:上一步中的客户 IDmalachiteingestion-pa.googleapis.com:区域端点网址:- 美国:
malachiteingestion-pa.googleapis.com - 欧洲:
europe-malachiteingestion-pa.googleapis.com - 亚洲:
asia-southeast1-malachiteingestion-pa.googleapis.com - 如需查看完整列表,请参阅区域级端点
- 美国:
- 根据平台调整
creds_file_path:- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
保存配置文件
- 修改后,保存文件:
- Linux:依次按
Ctrl+O、Enter和Ctrl+X - Windows:依次点击文件 > 保存
- Linux:依次按
重启 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"
- 按
配置 RSA SecurID Access syslog 转发
在 Cloud 管理控制台中配置审核日志记录
- 登录 RSA SecurID Access Cloud Administration Console。
- 前往平台 > 审核日志记录。
- 点击已启用。
- 在输出下,选择发送到 syslog。
- 在 Syslog 服务器字段中,输入 Bindplane 代理主机(例如
192.168.1.100)的 IP 地址。 - 在端口字段中,输入
514(必须与 Bindplane 接收器端口一致)。 - 从协议下拉列表中,选择 UDP(必须与 Bindplane 接收器类型一致)。
- 在事件类型下,选择要记录的事件:
- 用户事件:登录尝试、个人资料更改和其他用户活动。
- 包含授权请求:受保护应用的授权事件。
- 系统事件:备份、防火墙规则更改和其他系统活动。
- 包含系统错误事件:错误级系统事件。
- 点击保存。
在 RSA Authentication Manager 安全控制台中配置日志记录
如果您还运行 RSA Authentication Manager(本地),请配置日志记录以将身份验证和审核事件发送到 syslog:
- 登录 RSA Authentication Manager 安全控制台。
- 依次前往设置 > 系统设置 > 日志记录。
- 选择一个实例(例如 Primary),然后点击下一步。
- 为以下日志设置日志级别:
- 管理审核日志:管理操作,例如用户创建、令牌分配和政策更改。
- 运行时审核日志:身份验证事件,例如身份验证尝试成功和失败。
- 系统日志:系统级事件,例如服务启动/停止和复制状态。
- 对于日志数据目的地,请为每种日志类型选择保存到内部数据库和本地操作系统 SysLog。
- 点击保存。
配置从 Authentication Manager 进行的远程 Syslog 转发
对于 RSA Authentication Manager 8.4 或更高版本(使用 rsyslog):
- 通过 SSH 连接到 RSA Authentication Manager 设备。
修改远程 syslog 配置文件:
sudo vi /etc/rsyslog.d/remote.conf添加一行代码,将 Bindplane 代理指定为远程 syslog 服务器:
*.* @BINDPLANE_AGENT_IP:514重启 rsyslog 服务:
sudo systemctl restart rsyslog
对于 RSA Authentication Manager 8.1-8.3(使用 syslog-ng):
- 通过 SSH 连接到 RSA Authentication Manager 设备。
修改 syslog-ng 配置文件:
sudo vi /etc/syslog-ng/syslog-ng.conf找到有关启用 IP 以将日志消息发送到日志服务器的注释,并将 IP 地址更改为 Bindplane 代理主机 IP 地址。
重启 syslog-ng 服务:
sudo /etc/init.d/syslog restart
UDM 映射表
| 日志字段 | UDM 映射 | 逻辑 |
|---|---|---|
| column23、column24、column22、column26、column27、column28 | additional.fields | 与指定列中的键值对合并 |
| extensions.auth.mechanism | 设置为“USERNAME_PASSWORD” | |
| extensions.auth.type | 设置为“机器” | |
| 说明 | metadata.description | 直接复制值 |
| action、username1、srcUser、has_principal、has_target、has_user | metadata.event_type | 如果操作已关闭,则设置为 USER_LOGOUT;如果操作已打开或密码已过期,则设置为 USER_LOGIN;否则设置为 USER_UNCATEGORIZED;如果具有 has_principal、has_target 和 has_user,则设置为 USER_LOGIN;如果具有 has_principal 和 has_target,则设置为 NETWORK_CONNECTION;如果具有 has_principal,则设置为 STATUS_UPDATE |
| audit_section、column4、application | metadata.product_event_type | 如果位于 tokenmgt 或 authn 中,则为 audit_section 中的值;否则,如果为 CSV,则为 column4 中的值;否则,为应用中的值 |
| column2、column6 | metadata.product_log_id | 如果位于 tokenmgt/authn 中,则为 column2 中的值,否则为 column6 中的值 |
| 说明 | metadata.product_version | 使用 grok 模式从说明中提取 |
| column10、column14 | network.session_id | 如果位于 tokenmgt 或 authn 中,则为 column10 中的值;否则为 column14 中的值 |
| column20、column24、hostname | principal.asset.hostname | 如果位于 tokenmgt 中,则为 column20 中的值;如果位于其他 CSV 中,则为 column24 中的值;否则为主机名 |
| column4、column5、column8 | principal.asset.ip | 如果位于 tokenmgt 中,则为 column4 中的值;如果位于 authn 中,则为 column5 中的值;否则为 column8 中的值 |
| column20、column24、hostname | principal.hostname | 如果位于 tokenmgt 中,则为 column20 中的值;如果位于其他 CSV 中,则为 column24 中的值;否则为主机名 |
| column4、column5、column8 | principal.ip | 如果位于 tokenmgt 中,则为 column4 中的值;如果位于 authn 中,则为 column5 中的值;否则为 column8 中的值 |
| principal.platform | 设置为“LINUX” | |
| process_id | principal.process.pid | 直接复制值 |
| column12、column13、column11、column15、column16、column17 | principal.resource.attribute.labels | 与指定列中的标签合并 |
| column16、column15、column19 | principal.user.first_name | 如果位于 tokenmgt 中,则为 column16 中的值;如果位于 authn 中,则为 column15 中的值;否则为 column19 中的值 |
| column17、column16、column20 | principal.user.last_name | 如果位于 tokenmgt 中,则为 column17 中的值;如果位于 authn 中,则为 column16 中的值;否则为 column20 中的值 |
| column16、column17、column15、column19、column20 | principal.user.user_display_name | 由名字字段和姓氏字段串联而成 |
| column15、column14、column18、srcUser、username | principal.user.userid | 如果位于 tokenmgt 中,则为 column15 中的值;如果位于 authn 中,则为 column14 中的值;如果位于其他 CSV 中,则为 column18 中的值;如果为 sudo,则为 srcUser 中的值;否则为 username 中的值 |
| column8、column12 | security_result.action | 如果 column8 或 column12 为 SUCCESS,则设置为 ALLOW,否则设置为 BLOCK |
| column8、column12 | security_result.category_details | 如果位于 tokenmgt/authn 中,则为 column8 中的值,否则为 column12 中的值 |
| column20 | security_result.detection_fields | 与列 20 中的检测字段合并 |
| column6、column10 | security_result.rule_name | 如果位于 tokenmgt/authn 中,则为 column6 中的值,否则为 column10 中的值 |
| column1、column5 | security_result.severity | 如果为 error/warning/ERROR,则设置为 HIGH;如果为 critical,则设置为 CRITICAL;如果为 notice,则设置为 MEDIUM;如果为 information/info/INFO,则设置为 LOW |
| column1、column5 | security_result.severity_details | 直接复制值 |
| column18、column9、column13 | security_result.summary | 如果位于 tokenmgt 中,则为 column18 中的值;如果位于 authn 中,则为 column9 中的值;否则为 column13 中的值 |
| 应用 | target.application | 直接复制值 |
| 主机名 | target.asset.hostname | 直接复制值 |
| column5、column4、column9 | target.asset.ip | 如果位于 tokenmgt 中,则为 column5 中的值;如果位于 authn 中,则为 column4 中的值;否则为 column9 中的值 |
| 主机名 | target.hostname | 直接复制值 |
| column5、column4、column9 | target.ip | 如果位于 tokenmgt 中,则为 column5 中的值;如果位于 authn 中,则为 column4 中的值;否则为 column9 中的值 |
| 命令 | target.process.command_line | 直接复制值 |
| PWD | target.process.file.full_path | 直接复制值 |
| pid | target.process.pid | 直接复制值 |
| column11 | target.resource.product_object_id | 直接复制值 |
| 说明 | target.url | 使用 grok 模式从说明中提取 |
| column27、username1、username | target.user.userid | 如果位于 tokenmgt 中,则为 column27 中的值;否则,如果为 sudo,则为 username1 中的值;否则,为 username 中的值 |
| metadata.product_name | 设置为“RSA SECURID” | |
| metadata.vendor_name | 设置为“RSA” | |
time" and "column1 |
metadata.event_timestamp |
从变更日志映射 |
更新日志
需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。