收集 Carbon Black App Control(以前称为 CB Protection)日志
解析器版本:28.0
本文档介绍了如何使用 Bindplane 将 Carbon Black App Control(以前称为 CB Protection,现在是 Broadcom 的一部分)日志注入到 Google Security Operations。解析器同时支持 CEF 和 JSON 格式。它首先尝试将输入解析为 JSON;如果失败,则将输入视为 CEF,执行文本替换,提取 CEF 字段,将其映射到 UDM,并将事件类型设置为 GENERIC_EVENT。
Carbon Black App Control 是一种应用控制和许可名单解决方案,可让组织锁定服务器和关键系统。它通过强制执行基于信任的政策、监控文件完整性变化以及实时了解端点活动,防止未经授权的恶意软件执行。
准备工作
请确保满足以下前提条件:
- Google SecOps 实例。
- 搭载
systemd的 Windows Server 2016 或更高版本或 Linux 主机。 - 如果通过代理运行,请确保防火墙端口已打开。
- Carbon Black App Control Server 8.x 或更高版本。
- 对 Carbon Black App Control 控制台的特权访问权限(管理员账号)。
获取 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
Linux 安装
- 打开具有 root 或 sudo 权限的终端。
运行以下命令:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
其他安装资源
如需了解其他安装选项,请参阅 Bindplane 代理安装指南。
配置 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: 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: CB_APP_CONTROL raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog exporters: - chronicle/chronicle_w_labels
- 根据基础架构的需要替换端口和 IP 地址。
- 将
<customer_id>替换为实际的客户 ID。 - 将
/path/to/ingestion-authentication-file.json更新为获取 Google SecOps 注入身份验证文件部分中保存身份验证文件的文件路径。
重启 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"
配置 Carbon Black App Control syslog 转发
- 使用管理员账号登录 Carbon Black App Control 控制台。
- 点击设置(齿轮)图标,然后点击系统配置。
- 在系统配置页面上,点击事件标签页。
- 点击页面底部的修改按钮。
- 在外部事件日志记录面板中,选中 Syslog 已启用复选框。
- 提供以下配置详细信息:
- Syslog 地址:输入 Bindplane 代理主机(例如
192.168.1.100)的 IP 地址或 FQDN。 - Syslog 端口:输入
514(或在 Bindplane 中配置的端口)。 - Syslog 格式:从 Syslog 格式菜单中选择输出格式:
- CEF (ArcSight) - 建议用于 Google SecOps 注入。
- 增强型 (RFC 5424) - v6.0.1 及更高版本的新安装的默认设置。
- 基本 (RFC 3164) - 从 6.0.1 之前的版本升级时的默认设置。
- LEEF (Q1 Labs) - 用于 QRadar 集成。
- Syslog 地址:输入 Bindplane 代理主机(例如
点击更新,然后在确认对话框中点击是。
UDM 映射表
| 日志字段 | UDM 映射 | 逻辑 |
|---|---|---|
ABId |
principal.asset.asset_id |
JSON 日志中的 ABId 用作资产 ID 的一部分,格式为 PRODUCT_SPECIFIC_ID:{ABId}-{Bit9Server}。 |
Bit9Server |
principal.asset.asset_id |
用作正文资产 ID 的一部分,与 ABId 结合使用。还用于构造 metadata.url_back_to_product 字段。 |
CommandLine |
about.process.command_line |
直接映射。 |
EventType |
metadata.product_event_type |
以方括号中的相应 EventTypeId 进行映射(例如 [5] - Discovery)。 |
EventTypeId |
metadata.product_event_type |
与 EventType 一起使用,以填充 metadata.product_event_type。 |
EventSubType |
metadata.description |
附加到 metadata.description 字段。 |
EventSubTypeId |
metadata.description |
未明确映射,但可能会根据解析器的内部逻辑对说明做出贡献。 |
externalId |
metadata.product_log_id |
直接映射。 |
FileHash |
about.file.sha256 |
直接映射。 |
FileName |
additional.fields(带键 FileName) |
已添加为附加字段。还用作 metadata.description 中某些事件的文件信息的一部分。 |
FilePath |
about.file.full_path |
直接映射。 |
FileThreat |
additional.fields(带键 fileThreat) |
已添加为附加字段。 |
FileTrust |
additional.fields(带键 fileTrust) |
已添加为附加字段。 |
HostId |
principal.asset.asset_id |
用于构建返回 metadata.url_back_to_product 中商品的网址。 |
HostName |
target.hostname |
直接映射。 |
HostIP |
target.ip |
直接映射。 |
Message |
metadata.description |
直接映射。 |
PathName |
about.file.full_path |
直接映射。 |
Platform |
target.platform |
映射到枚举值 WINDOWS。 |
Policy |
additional.fields(带键 Policy) |
已添加为附加字段。 |
PolicyId |
additional.fields(带键 PolicyId) |
已添加为附加字段。 |
ProcessKey |
additional.fields(带键 ProcessKey) |
已添加为附加字段。 |
ProcessPath |
about.process.command_line |
直接映射。 |
ProcessPathName |
about.process.command_line |
直接映射。 |
ProcessThreat |
additional.fields(带键 ProcessThreat) |
已添加为附加字段。 |
ProcessTrust |
additional.fields(带键 ProcessTrust) |
已添加为附加字段。 |
RuleName |
additional.fields(带键 ruleName) |
已添加为附加字段。 |
Timestamp |
metadata.event_timestamp |
直接映射。 |
UserName |
target.user.user_display_name |
直接映射。 |
UserSid |
principal.user.userid |
直接映射。 |
agent.ephemeral_id |
observer.labels(带键 ephemeral_id) |
添加为观察者标签。 |
agent.name |
principal.hostname、observer.hostname、observer.user.userid |
映射到多个字段。 |
agent.type |
observer.application |
直接映射。 |
agent.version |
metadata.product_version |
直接映射到 JSON 日志。对于 CEF 日志,从 CEF 消息中提取。 |
cat |
security_result.category_details |
直接映射。 |
process |
event.idm.read_only_udm.principal.file.full_path |
从变更日志映射 |
text |
event.idm.read_only_udm.metadata.description |
从变更日志映射 |
type |
event.idm.read_only_udm.security_result.category_details |
从变更日志映射 |
subtype |
event.idm.read_only_udm.security_result.category_details |
从变更日志映射 |
hostname |
event.idm.read_only_udm.principal.hostname和event.idm.read_only_udm.principal.asset.hostname之间 |
从变更日志映射 |
username |
event.idm.read_only_udm.target.user.userid |
从变更日志映射 |
date |
event.idm.read_only_udm.metadata.collected_timestamp |
从变更日志映射 |
ip_address |
event.idm.read_only_udm.principal.ip和event.idm.read_only_udm.principal.asset.ip之间 |
从变更日志映射 |
file_path |
event.idm.read_only_udm.target.file.full_path |
从变更日志映射 |
file_name |
event.idm.read_only_udm.target.process.file.names |
从变更日志映射 |
file_hash |
event.idm.read_only_udm.target.file.sha256 |
从变更日志映射 |
policy |
event.idm.read_only_udm.security_result.rule_name |
从变更日志映射 |
server_version |
event.idm.read_only_udm.metadata.product_version |
从变更日志映射 |
file_trust |
event.idm.read_only_udm.security_result.about.labels |
从变更日志映射 |
file_threat |
event.idm.read_only_udm.security_result.about.labels |
从变更日志映射 |