收集 CA LDAP 日志
本文档介绍了如何使用 Bindplane 代理将 CA LDAP 日志注入到 Google Security Operations。
CA Directory(以前称为 Symantec Directory)是基于 X.500 标准的 LDAP v2/v3 兼容目录服务器。它提供企业级目录服务,具有全面的日志记录功能,包括用于监控目录操作和安全事件的警报、跟踪、警告、查询、摘要、连接、诊断、更新和统计日志。
准备工作
请确保满足以下前提条件:
- Google SecOps 实例
- Windows Server 2016 或更高版本,或者具有
systemd的 Linux 主机 - Bindplane 代理与 CA Directory 服务器之间的网络连接
- 如果通过代理运行,请确保防火墙端口已根据 Bindplane 代理要求打开
- 对 CA Directory 服务器的特权访问权限(根或管理员)
- 已安装 CA 目录并配置为启用日志记录
获取 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/ca_directory: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: 'YOUR_CUSTOMER_ID' endpoint: malachiteingestion-pa.googleapis.com log_type: CA_LDAP raw_log_field: body ingestion_labels: env: production source: ca_directory service: pipelines: logs/ca_directory_to_chronicle: receivers: - udplog exporters: - chronicle/ca_directory替换以下占位符:
接收器配置:
listen_address:设置为0.0.0.0:514可在 UDP 端口 514 上监听所有接口- 对于 Linux 非 root 安装,请使用端口
1514或更高端口 - 确保端口与 rsyslog 转发中配置的端口一致
- 对于 Linux 非 root 安装,请使用端口
导出器配置:
creds_file_path:提取身份验证文件的完整路径:- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
customer_id:将YOUR_CUSTOMER_ID替换为您的customer ID。如需了解详情,请参阅获取 Google SecOps 客户 ID。endpoint:区域端点网址:- 美国:
malachiteingestion-pa.googleapis.com - 欧洲:
europe-malachiteingestion-pa.googleapis.com - 亚洲:
asia-southeast1-malachiteingestion-pa.googleapis.com
- 美国:
log_type:设置为CA_LDAP(CA Directory 的 Chronicle 提取标签)ingestion_labels:用于过滤和组织的可选标签
保存配置文件
修改后,保存文件:
- 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"
使用 rsyslog 配置 CA LDAP syslog 转发
本部分介绍如何在 CA Directory 服务器上配置 rsyslog,以将日志转发到 Bindplane 代理。
确定 CA Directory 日志文件位置
CA Directory 将日志文件存储在以下位置:
- Linux:
/opt/CA/Directory/dxserver/logs/ - Windows:
C:\Program Files\CA\Directory\dxserver\logs\
日志文件遵循基于 DSA 名称的命名模式(例如 democorp_alarm、democorp_warn、democorp_trace)。
可用的日志类型
CA Directory 会生成以下类型的日志:
- 报警日志:严重事件(始终处于启用状态)
- 警告日志:错误和警告
- 轨迹日志:详细的操作轨迹
- 查询日志:包含时间戳的详细操作信息
- 摘要日志:操作摘要
- 连接日志:连接和断开连接事件
- 诊断日志:被拒绝的操作
- 统计信息日志:每分钟的运营统计信息
- 更新日志:添加、修改、重命名和删除操作
- 时间日志:操作时间信息
在 Linux 上配置 rsyslog
以 root 用户身份或使用 sudo 权限登录 CA Directory 服务器。
如果尚未安装 rsyslog,请安装:
sudo yum install rsyslog或者对于 Debian/Ubuntu:
sudo apt-get install rsyslog为 CA Directory 创建新的 rsyslog 配置文件:
sudo nano /etc/rsyslog.d/ca-directory.conf添加以下配置以转发 CA Directory 日志:
# Load the imfile module for file monitoring module(load="imfile" PollingInterval="10") # Monitor CA Directory alarm logs input(type="imfile" File="/opt/CA/Directory/dxserver/logs/*_alarm*" Tag="ca-directory-alarm" Severity="error" Facility="local0") # Monitor CA Directory warn logs input(type="imfile" File="/opt/CA/Directory/dxserver/logs/*_warn*" Tag="ca-directory-warn" Severity="warning" Facility="local0") # Monitor CA Directory trace logs input(type="imfile" File="/opt/CA/Directory/dxserver/logs/*_trace*" Tag="ca-directory-trace" Severity="info" Facility="local0") # Monitor CA Directory query logs input(type="imfile" File="/opt/CA/Directory/dxserver/logs/*_query*" Tag="ca-directory-query" Severity="info" Facility="local0") # Monitor CA Directory connection logs input(type="imfile" File="/opt/CA/Directory/dxserver/logs/*_connection*" Tag="ca-directory-connection" Severity="info" Facility="local0") # Monitor CA Directory update logs input(type="imfile" File="/opt/CA/Directory/dxserver/logs/*_update*" Tag="ca-directory-update" Severity="info" Facility="local0") # Forward all CA Directory logs to Bindplane agent if $syslogtag contains 'ca-directory' then @@BINDPLANE_AGENT_IP:514 & stop将
BINDPLANE_AGENT_IP替换为 Bindplane 代理主机 IP 地址:- 如果 Bindplane 代理位于同一服务器上:
127.0.0.1 - 如果 Bindplane 代理位于其他服务器上:请输入 IP 地址(例如
192.168.1.100)
- 如果 Bindplane 代理位于同一服务器上:
保存配置文件:
依次按
Ctrl+O、Enter和Ctrl+X验证 rsyslog 配置语法:
sudo rsyslogd -N1重启 rsyslog 服务:
sudo systemctl restart rsyslog验证 rsyslog 是否正在运行:
sudo systemctl status rsyslog检查 rsyslog 日志是否存在错误:
sudo tail -f /var/log/messages
在 Windows 上配置 rsyslog
从 rsyslog 网站下载并安装适用于 Windows 的 rsyslog。
打开 rsyslog 配置文件:
notepad "C:\Program Files\rsyslog\rsyslog.conf"添加以下配置:
# Load the imfile module for file monitoring module(load="imfile" PollingInterval="10") # Monitor CA Directory alarm logs input(type="imfile" File="C:\\Program Files\\CA\\Directory\\dxserver\\logs\\*_alarm*" Tag="ca-directory-alarm" Severity="error" Facility="local0") # Monitor CA Directory warn logs input(type="imfile" File="C:\\Program Files\\CA\\Directory\\dxserver\\logs\\*_warn*" Tag="ca-directory-warn" Severity="warning" Facility="local0") # Monitor CA Directory trace logs input(type="imfile" File="C:\\Program Files\\CA\\Directory\\dxserver\\logs\\*_trace*" Tag="ca-directory-trace" Severity="info" Facility="local0") # Forward all CA Directory logs to Bindplane agent if $syslogtag contains 'ca-directory' then @@BINDPLANE_AGENT_IP:514 & stop将
BINDPLANE_AGENT_IP替换为 Bindplane 代理主机 IP 地址。保存配置文件。
重启 rsyslog 服务:
net stop rsyslog net start rsyslog
启用 CA Directory 日志记录
确保在 CA Directory 中启用了所需的日志类型:
修改 DSA 配置文件:
- Linux:
/opt/CA/Directory/dxserver/config/servers/democorp.dxc - Windows:
C:\Program Files\CA\Directory\dxserver\config\servers\democorp.dxc
- Linux:
验证或添加以下日志记录设置:
set alarm-log = true; set warn-log = true; set trace-log = true; set query-log = true; set connection-log = true; set update-log = true;保存配置文件。
重启 CA Directory DSA:
Linux:
dxserver stop democorp dxserver start democorpWindows:
net stop "CA Directory DSA - democorp" net start "CA Directory DSA - democorp"
验证日志转发
通过执行 LDAP 查询或身份验证尝试,在 CA Directory 中生成测试活动。
检查 Bindplane 代理日志,验证是否正在接收日志:
Linux:
sudo journalctl -u observiq-otel-collector -fWindows:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
登录 Google SecOps 控制台,并验证 CA Directory 日志是否显示在日志查看器中。
如需详细了解 CA Directory 日志记录,请参阅 Broadcom CA Directory 文档。
如需查看详细的 rsyslog 配置示例,请参阅 Broadcom 知识库中关于集中式日志记录的文章。
UDM 映射表
| 日志字段 | UDM 映射 | 逻辑 |
|---|---|---|
| agent.ephemeral_id、logstash.irm_region、logstash.irm_environment、logstash.irm_site、host.os.name | additional.fields | 合并为标签,键分别为“ephemeral_id”“irm_region”“irm_environment”“irm_site”“os_name” |
| host.architecture | hardware.cpu_platform | 直接复制值 |
| logstash.process.host | intermediary.hostname | 直接复制值 |
| logstash.collect.timestamp | metadata.collected_timestamp | 使用日期过滤条件解析为时间戳 |
| msg | metadata.description | 直接复制值 |
| metadata.event_type | 设置为“STATUS_UPDATE” | |
| agent.type, agent.version | observer.application | 如果两者均不为空,则串联为“%{agent.type} %{agent.version}”,否则为“%{agent.type}” |
| agent.type, agent.id | observer.asset_id | 串联为“%{agent.type}: %{agent.id}” |
| agent.hostname | observer.hostname | 直接复制值 |
| host.id | principal.asset.asset_id | 串联为“CA_LDAP:%{host.id}” |
| 硬件 | principal.asset.hardware | 从硬件对象合并而来 |
| host.hostname | principal.hostname | 直接复制值 |
| host.ip | principal.ip | 从 host.ip 数组合并 |
| host.mac | principal.mac | 从 host.mac 数组合并 |
| host.os.family | principal.platform | 如果匹配“(rhel|redhat)”,则设置为“LINUX” |
| host.os.kernel | principal.platform_patch_level | 直接复制值 |
| host.os.version | principal.platform_version | 直接复制值 |
| log.file.path | principal.process.file.full_path | 直接复制值 |
| syslog_severity | security_result.severity | 如果匹配“(?i)(DEFAULT|DEBUG|INFO|NOTICE)”,则设置为“INFORMATIONAL”;如果匹配“(?i)ERROR”,则设置为“ERROR”;如果匹配“(?i)WARNING”,则设置为“MEDIUM”;如果匹配“(?i)(CRITICAL|ALERT|EMERGENCY)”,则设置为“HIGH” |
| syslog_severity | security_result.severity_details | 直接复制值 |
| metadata.product_name | 设置为“CA_LDAP” | |
| metadata.vendor_name | 设置为“CA_LDAP” |
需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。