收集 Fortra Digital Guardian DLP 日志
本文档介绍了如何使用 Bindplane 代理将 Fortra Digital Guardian DLP 日志收集到 Google Security Operations。解析器代码会将原始 JSON 格式的日志转换为统一数据模型 (UDM)。它首先从原始 JSON 中提取字段,执行数据清理和归一化,然后将提取的字段映射到相应的 UDM 属性,并根据识别的活动使用特定事件类型来丰富数据。
准备工作
- 确保您拥有 Google Security Operations 实例。
- 确保您使用的是 Windows 2016 或更高版本,或者具有
systemd
的 Linux 主机。 - 如果通过代理运行,请确保防火墙端口处于开放状态。
- 确保您拥有对 Fortra Digital Guardian DLP 的特权访问权限。
获取 Google SecOps 注入身份验证文件
- 登录 Google SecOps 控制台。
- 依次前往 SIEM 设置 > 收集代理。
- 下载注入身份验证文件。将文件安全地保存在将要安装 Bindplane 的系统上。
获取 Google SecOps 客户 ID
- 登录 Google SecOps 控制台。
- 依次前往 SIEM 设置 > 配置文件。
- 复制并保存组织详细信息部分中的客户 ID。
安装 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 代理以注入 Syslog 并将其发送到 Google SecOps
访问配置文件:
- 找到
config.yaml
文件。通常,它位于 Linux 上的/etc/bindplane-agent/
目录中或 Windows 上的安装目录中。 - 使用文本编辑器(例如
nano
、vi
或记事本)打开该文件。
- 找到
按如下方式修改
config.yaml
文件:receivers: udplog: # 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: '/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 ingestion_labels: log_type: DIGITALGUARDIAN_DLP raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels
根据基础架构的需要替换端口和 IP 地址。
将
<customer_id>
替换为实际的客户 ID。将
/path/to/ingestion-authentication-file.json
更新为获取 Google SecOps 提取身份验证文件部分中保存身份验证文件的路径。
重启 Bindplane 代理以应用更改
如需在 Linux 中重启 Bindplane 代理,请运行以下命令:
sudo systemctl restart bindplane-agent
如需在 Windows 中重启 Bindplane 代理,您可以使用服务控制台,也可以输入以下命令:
net stop BindPlaneAgent && net start BindPlaneAgent
配置 Fortra Digital Guardian Syslog 导出
- 登录 Digital Guardian 管理控制台。
- 依次前往 Workspace > 数据导出 > 创建导出作业。
- 从数据源列表中选择提醒或事件作为数据源。
- 选择 Syslog 作为导出类型。
从类型列表中,选择 UDP(您也可以选择 TCP 作为传输协议,具体取决于您的 Bindplane 配置)。
在服务器字段下,输入 Bindplane 代理 IP 地址。
在端口字段中,输入
514
(您可以根据 Bindplane 代理配置提供其他端口)。从严重程度列表中选择一个严重程度。
选中有效复选框。
点击下一步。
从可用字段列表中,添加所有提醒和事件字段以导出数据。
为数据导出中的字段选择条件。
点击下一步。
为相应条件选择一个群组。
点击下一步。
点击测试查询。
点击下一步。
点击保存。
UDM 映射表
日志字段 | UDM 映射 | 逻辑 |
---|---|---|
代理版本 | observer.platform_version | 直接从原始日志字段 Agent Version 映射。 |
应用 | principal.process.command_line | 如果原始日志字段 Application 不为空,则直接从该字段映射。 |
命令行 | target.process.command_line | 直接从原始日志字段 Command Line 映射。 |
公司名称 | principal.user.company_name | 直接从原始日志字段 Company Name 映射。 |
计算机名称 | principal.hostname | 直接从原始日志字段 Computer Name 映射。 |
DNS 主机名 | target.asset.hostname | 直接从原始日志字段 DNS Hostname 映射。 |
目标驱动器类型 | about.labels.value | 直接从原始日志字段 Destination Drive Type 映射。相应键设置为 Destination Drive Type 。 |
目标文件扩展名 | target.file.mime_type | 如果原始日志字段 Destination File Extension 不是 no extension 或 [no extension] ,则直接从该字段映射。 |
目标文件路径 | target.file.full_path | 直接从原始日志字段 Destination File Path 映射。 |
设备 GUID | src.resource.id | 从原始日志字段 Device GUID 映射,前缀为 GUID: 。 |
电子邮件发件人 | network.email.from | 如果原始日志字段 Email Sender 不为空,则直接从该字段映射。 |
电子邮件主题 | network.email.subject | 如果 Email Sender 不为空,则直接从原始日志字段 Email Subject 映射。 |
活动显示名称 | target.resource.type | 直接从原始日志字段 Event Display Name 映射。 |
事件时间 | metadata.event_timestamp.seconds | 使用格式 yyyy-MM-dd HH:mm:ss A 和 TIMESTAMP_ISO8601 从原始日志字段 Event Time 转换为时间戳。 |
文件说明 | metadata.description | 直接从原始日志字段 File Description 映射。 |
文件大小 | about.labels.value | 直接从原始日志字段 File Size 映射。相应键设置为 File Size 。 |
文件版本 | about.labels.value | 直接从原始日志字段 File Version 映射。相应键设置为 File Version 。 |
IP 地址 | principal.ip | 如果 Source IP Address 为空,则直接从原始日志字段 IP Address 映射。 |
本地端口 | principal.port | 如果非空,则直接从原始日志字段 Local Port 映射并转换为整数。 |
MAC 地址 | target.mac | 如果原始日志字段 MAC Address 不为空,则直接从该字段映射。 |
机器 ID | principal.asset.asset_id | 从原始日志字段 Machine ID 映射,前缀为 MachineId: 。 |
机器类型 | principal.asset.category | 直接从原始日志字段 Machine Type 映射。 |
MD5 哈希 | target.process.file.md5 | 直接从原始日志字段 MD5 Hash 映射,并转换为小写。 |
网络方向 | network.direction | 从原始日志字段 Network Direction 映射。如果为 Inbound ,则设置为 INBOUND 。如果为 Outbound ,则设置为 OUTBOUND 。 |
操作类型 | security_result.action_details | 直接从原始日志字段 Operation Type 映射。 |
父应用 | principal.process.parent_process.command_line | 如果原始日志字段 Parent Application 不为空,则直接从该字段映射。 |
父级 MD5 哈希 | target.process.parent_process.file.md5 | 直接从原始日志字段 Parent MD5 Hash 映射,如果匹配十六进制字符串模式,则在映射前转换为小写。 |
进程网域 | target.administrative_domain | 直接从原始日志字段 Process Domain 映射。 |
处理文件扩展名 | target.process.file.mime_type | 如果原始日志字段 Process File Extension 不是 no extension 或 [no extension] ,则直接从该字段映射。 |
流程路径 | target.process.file.full_path | 直接从原始日志字段 Process Path 映射。 |
进程 PID | principal.process.pid | 直接从原始日志字段 Process PID 映射,并转换为字符串。 |
产品名称 | metadata.product_name | 直接从原始日志字段 Product Name 映射。 |
产品版本 | metadata.product_version | 直接从原始日志字段 Product Version 映射。 |
协议 | network.application_protocol | 如果为 HTTP 或 HTTPS ,则设置为 HTTPS 。 |
打印机名称 | src.resource.name | 直接从原始日志字段 Printer Name 映射。 |
远程端口 | target.port | 如果非空,则直接从原始日志字段 Remote Port 映射并转换为整数。 |
SHA1 哈希 | target.process.file.sha1 | 直接从原始日志字段 SHA1 Hash 映射,并转换为小写。 |
SHA256 哈希 | target.process.file.sha256 | 直接从原始日志字段 SHA256 Hash 映射,并转换为小写。 |
签名颁发者 | network.tls.server.certificate.issuer | 直接从原始日志字段 Signature Issuer 映射。 |
签名主题 | network.tls.server.certificate.subject | 直接从原始日志字段 Signature Subject 映射。 |
源文件扩展名 | src.file.mime_type | 如果原始日志字段 Source File Extension 不是 no extension 或 [no extension] ,则直接从该字段映射。 |
源文件路径 | src.file.full_path | 直接从原始日志字段 Source File Path 映射。 |
来源 IP 地址 | principal.ip | 如果原始日志字段 Source IP Address 不为空,则直接从该字段映射。 |
总大小 | about.labels.value | 直接从原始日志字段 Total Size 映射。相应键设置为 Total Size 。 |
网址路径 | target.url | 直接从原始日志字段 URL Path 映射。 |
唯一 ID | metadata.product_log_id | 直接从原始日志字段 Unique ID 映射。 |
用户 | principal.user.userid | 直接从原始日志字段 User 映射。 |
详细信息是否被屏蔽 | security_result.action | 如果为 Yes ,则设置为 BLOCK 。如果为 No ,则设置为 ALLOW 。 |
dg_dst_dev.dev_prdname | target.asset.hardware.model | 直接从原始日志字段 dg_dst_dev.dev_prdname 映射。 |
dg_dst_dev.dev_sernum | target.asset.hardware.serial_number | 直接从原始日志字段 dg_dst_dev.dev_sernum 映射。 |
dg_recipients.uad_mr | network.email.to | 如果与电子邮件地址格式匹配,则直接从原始日志字段 dg_recipients.uad_mr 映射。 |
dg_src_dev.dev_prdname | principal.asset.hardware.model | 直接从原始日志字段 dg_src_dev.dev_prdname 映射。 |
dg_src_dev.dev_sernum | principal.asset.hardware.serial_number | 直接从原始日志字段 dg_src_dev.dev_sernum 映射。 |
metadata.event_type | metadata.event_type | 最初设置为 GENERIC_EVENT 。根据特定条件而变化:- NETWORK_HTTP :如果存在主机名、HTTP/HTTPS 协议和 MAC 地址。- FILE_COPY :如果目标文件路径和源文件路径存在,且 Operation Type 为 File Copy 。- FILE_MOVE :如果目标文件路径和源文件路径存在,且 Operation Type 为 File Move 。- FILE_UNCATEGORIZED :如果存在目标文件路径、进程路径/命令行,且 Operation Type 包含 File 。- USER_LOGOUT :如果用户 ID 存在且 Operation Type 包含 Logoff 。- USER_LOGIN :如果用户 ID 存在且 Operation Type 包含 Logon 。- NETWORK_UNCATEGORIZED :如果存在进程路径/命令行、进程 ID、出站网络方向和 MAC 地址。- SCAN_PROCESS :如果存在进程路径/命令行和进程 ID。- PROCESS_UNCATEGORIZED :如果进程路径/命令行存在。 |
metadata.log_type | metadata.log_type | 设置为 DIGITALGUARDIAN_DLP 。 |
metadata.product_log_id | metadata.product_log_id | 直接从原始日志字段 Unique ID 映射。 |
metadata.product_name | metadata.product_name | 直接从原始日志字段 Product Name 映射。 |
metadata.product_version | metadata.product_version | 直接从原始日志字段 Product Version 映射。 |
metadata.vendor_name | metadata.vendor_name | 设置为 DigitalGuardian 。 |
network.application_protocol | network.application_protocol | 如果 Protocol 为 HTTP 或 HTTPS ,则设置为 HTTPS 。 |
network.direction | network.direction | 从原始日志字段 Network Direction 映射。如果为 Inbound ,则设置为 INBOUND 。如果为 Outbound ,则设置为 OUTBOUND 。 |
network.email.from | network.email.from | 如果原始日志字段 Email Sender 不为空,则直接从该字段映射。 |
network.email.subject | network.email.subject | 如果 Email Sender 不为空,则直接从原始日志字段 Email Subject 映射。 |
network.email.to | network.email.to | 如果与电子邮件地址格式匹配,则直接从原始日志字段 dg_recipients.uad_mr 映射。 |
network.tls.server.certificate.issuer | network.tls.server.certificate.issuer | 直接从原始日志字段 Signature Issuer 映射。 |
network.tls.server.certificate.subject | network.tls.server.certificate.subject | 直接从原始日志字段 Signature Subject 映射。 |
observer.platform_version | observer.platform_version | 直接从原始日志字段 Agent Version 映射。 |
principal.asset.asset_id | principal.asset.asset_id | 从原始日志字段 Machine ID 映射,前缀为 MachineId: 。 |
principal.asset.category | principal.asset.category | 直接从原始日志字段 Machine Type 映射。 |
principal.asset.hardware.model | principal.asset.hardware.model | 直接从原始日志字段 dg_src_dev.dev_prdname 映射。 |
principal.asset.hardware.serial_number | principal.asset.hardware.serial_number | 直接从原始日志字段 dg_src_dev.dev_sernum 映射。 |
principal.hostname | principal.hostname | 直接从原始日志字段 Computer Name 映射。 |
principal.ip | principal.ip | 如果原始日志字段 Source IP Address 不为空,则直接从该字段映射。否则,如果 IP Address 不为空,则从 IP Address 映射。 |
principal.port | principal.port | 如果非空,则直接从原始日志字段 Local Port 映射并转换为整数。 |
principal.process.command_line | principal.process.command_line | 如果原始日志字段 Application 不为空,则直接从该字段映射。 |
principal.process.parent_process.command_line | principal.process.parent_process.command_line | 如果原始日志字段 Parent Application 不为空,则直接从该字段映射。 |
principal.process.parent_process.file.md5 | principal.process.parent_process.file.md5 | 直接从原始日志字段 Parent MD5 Hash 映射,如果匹配十六进制字符串模式,则在映射前转换为小写。 |
principal.process.pid | principal.process.pid | 直接从原始日志字段 Process PID 映射,并转换为字符串。 |
principal.user.company_name | principal.user.company_name | 直接从原始日志字段 Company Name 映射。 |
principal.user.userid | principal.user.userid | 直接从原始日志字段 User 映射。 |
security_result.action | security_result.action | 如果 Was Detail Blocked 为 Yes ,则设置为 BLOCK 。如果 Was Detail Blocked 为 No ,则设置为 ALLOW 。 |
security_result.action_details | security_result.action_details | 直接从原始日志字段 Operation Type 映射。 |
src.file.full_path | src.file.full_path | 直接从原始日志字段 Source File Path 映射。 |
src.file.mime_type | src.file.mime_type | 如果原始日志字段 Source File Extension 不是 no extension 或 [no extension] ,则直接从该字段映射。 |
src.resource.id | src.resource.id | 从原始日志字段 Device GUID 映射,前缀为 GUID: 。 |
src.resource.name | src.resource.name | 直接从原始日志字段 Printer Name 映射。 |
target.administrative_domain | target.administrative_domain | 直接从原始日志字段 Process Domain 映射。 |
target.asset.hardware.model | target.asset.hardware.model | 直接从原始日志字段 dg_dst_dev.dev_prdname 映射。 |
target.asset.hardware.serial_number | target.asset.hardware.serial_number | 直接从原始日志字段 dg_dst_dev.dev_sernum 映射。 |
target.asset.hostname | target.asset.hostname | 直接从原始日志字段 DNS Hostname 映射。 |
target.asset.product_object_id | target.asset.product_object_id | 直接从原始日志字段 Adapter Name 映射。 |
target.file.full_path | target.file.full_path | 直接从原始日志字段 Destination File Path 映射。 |
target.file.mime_type | target.file.mime_type | 如果原始日志字段 Destination File Extension 不是 no extension 或 [no extension] ,则直接从该字段映射。 |
target.mac | target.mac | 如果原始日志字段 MAC Address 不为空,则直接从该字段映射。 |
target.port | target.port | 如果非空,则直接从原始日志字段 Remote Port 映射并转换为整数。 |
target.process.command_line | target.process.command_line | 直接从原始日志字段 Command Line 映射。 |
target.process.file.full_path | target.process.file.full_path | 直接从原始日志字段 Process Path 映射。 |
target.process.file.md5 | target.process.file.md5 | 直接从原始日志字段 MD5 Hash 映射,并转换为小写。 |
target.process.file.mime_type | target.process.file.mime_type | 如果原始日志字段 Process File Extension 不是 no extension 或 [no extension] ,则直接从该字段映射。 |
target.process.file.sha1 | target.process.file.sha1 | 直接从原始日志字段 SHA1 Hash 映射,并转换为小写。 |
target.process.file.sha256 | target.process.file.sha256 | 直接从原始日志字段 SHA256 Hash 映射,并转换为小写。 |
target.process.parent_process.command_line | target.process.parent_process.command_line | 如果原始日志字段 Parent Application 不为空,则直接从该字段映射。 |
target.process.parent_process.file.md5 | target.process.parent_process.file.md5 | 直接从原始日志字段 Parent MD5 Hash 映射,如果匹配十六进制字符串模式,则在映射前转换为小写。 |
target.resource.type | target.resource.type | 直接从原始日志字段 Event Display Name 映射。 |
target.url | target.url | 直接从原始日志字段 URL Path 映射。 |
extensions.auth.type | extensions.auth.type | 如果 Operation Type 为 User Logoff 或 User Logon ,则设置为 AUTHTYPE_UNSPECIFIED 。 |
需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。