收集 Vectra Stream 日志
支持的平台:
Google SecOps
SIEM
本文档介绍了如何使用 Bindplane 将 Vectra Stream 日志注入到 Google Security Operations。解析器从 Vectra Stream 日志中提取键值对,将各种字段标准化为统一数据模型 (UDM),并将日志类型映射到特定的 UDM 事件类型。它可处理 JSON 和 syslog 格式的日志,丢弃格式有误的消息,并根据特定字段值使用其他上下文来丰富数据。
准备工作
请确保满足以下前提条件:
- Google SecOps 实例
- 搭载
systemd的 Windows 2016 或更高版本或 Linux 主机 - 如果在代理后面运行,请确保防火墙端口根据 Bindplane 代理要求处于开放状态
- 对 Vectra 界面的特权访问权限
获取 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 代理以注入 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_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: 'VECTRA_STREAM' raw_log_field: body ingestion_labels: 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
配置 Vectra Stream 以发送 Syslog
- 登录 Vectra(大脑)界面。
- 依次前往设置 > 通知。
- 前往 Syslog 部分。
- 点击修改可添加或修改 Syslog 配置。
- 提供以下配置详细信息:
- 目的地:输入 Bindplane 代理 IP 地址。
- 端口:输入 Bindplane 代理端口号。
- 协议:根据实际的 Bindplane 代理配置,选择 UDP 或 TCP。
- 格式:选择 JSON。
- 日志类型:选择要发送到 Google SecOps 的日志。
- 点击保存。
- 点击测试以测试配置。
UDM 映射表
| 日志字段 | UDM 映射 | 逻辑 |
|---|---|---|
| AA | network.dns.authoritative | 从字符串值转换为布尔值。 |
| account_session_id | network.session_id | 直接映射。 |
| account_session_time | network.session_duration | 从 UNIX 秒转换为时间戳。 |
| 回答 | network.dns.answers.data | 直接映射。 |
| assigned_ip | network.dhcp.yiaddr | 直接映射。 |
| beacon_type | metadata.description | 直接映射。 |
| beacon_uid | network.session_id | 直接映射。 |
| calling_station_id | intermediary.asset.product_object_id | 直接映射。 |
| certificate.issuer | network.tls.client.certificate.issuer | 直接映射。 |
| certificate.not_valid_after | network.tls.client.certificate.not_after | 根据格式从 UNIX 或 UNIX_MS 转换为时间戳。 |
| certificate.not_valid_before | network.tls.client.certificate.not_before | 根据格式从 UNIX 或 UNIX_MS 转换为时间戳。 |
| certificate.serial | network.tls.client.certificate.serial | 直接映射。 |
| certificate.subject | network.tls.client.certificate.subject | 直接映射。 |
| certificate.version | network.tls.client.certificate.version | 直接映射。 |
| 加密 | network.tls.cipher | 直接映射。 |
| cipher_alg | network.tls.cipher | 直接映射。 |
| 客户端 | principal.application | 直接映射。 |
| client_cipher | network.tls.client.supported_ciphers | 直接映射。 |
| community_id | network.community_id | 直接映射。 |
| compression_alg | additional.fields.value.string_value | 已添加到键为“compression_alg”的其他字段。 |
| connect_info | security_result.description | 直接映射。 |
| conn_state | metadata.description | 根据 conn_state 的值映射到说明。 |
| 饼干 | target.user.userid | 直接映射。 |
| 曲线 | network.tls.curve | 直接映射。 |
| dhcp_server_ip | network.dhcp.giaddr | 直接映射。 |
| dns_server_ips | principal.ip | 数组中的每个 IP 都会添加到 principal.ip 数组中。 |
| 域名 | target.domain.name | 直接映射。 |
| dst_display_name | target.hostname、target.asset.hostname | 直接映射。 |
| dst_luid | target.asset.product_object_id | 直接映射。 |
| 时长 | network.session_duration.seconds | 从字符串值转换为整数。 |
| endpoint | principal.application | 直接映射。 |
| 已建立 | network.tls.established | 从字符串值转换为布尔值。 |
| 主机 | target.hostname、target.asset.hostname | 从“host”字段中提取了主机名。 |
| host_key | additional.fields.value.string_value | 已添加到具有键“host_key”的其他字段中。 |
| host_key_alg | additional.fields.value.string_value | 已添加到键为“host_key_alg”的其他字段中。 |
| host_multihomed | additional.fields.value.string_value | 已添加到其他字段,键为“host_multihomed”,值为“subnet %{host_multihomed}”。 |
| 主机名 | target.hostname、target.asset.hostname | 直接映射。 |
| id.orig_h | principal.ip | 直接映射。 |
| id.orig_p | principal.port | 从字符串值转换为整数。 |
| id.resp_h | target.ip、target.asset.ip | 直接映射。 |
| id.resp_p | target.port | 从字符串值转换为整数。 |
| issuer | network.tls.client.certificate.issuer | 直接映射。 |
| ja3 | network.tls.client.ja3 | 直接映射。 |
| ja3s | network.tls.server.ja3s | 直接映射。 |
| kex_alg | additional.fields.value.string_value | 已添加到键为“kex_alg”的其他字段。 |
| lease_time | network.dhcp.lease_time_seconds | 从字符串值转换为无符号整数。 |
| log_type | metadata.log_type | 直接映射。 |
| mac | principal.mac | 直接映射。 |
| mac_alg | additional.fields.value.string_value | 已添加到键为“mac_alg”的其他字段中。 |
| mail_from | network.email.from | 直接映射。 |
| metadata_type | metadata.product_event_type | 直接映射。 |
| 方法 | network.http.method | 直接映射。 |
| name | target.file.full_path | 直接映射。 |
| nas_identifier | target.user.attribute.roles.name | 直接映射。 |
| next_protocol | network.tls.next_protocol | 直接映射。 |
| orig_hostname | principal.hostname | 直接映射。 |
| orig_ip_bytes | network.sent_bytes | 从字符串值转换为无符号整数。 |
| orig_sluid | principal.hostname | 直接映射。 |
| 路径 | target.file.full_path | 直接映射。 |
| proto | network.ip_protocol | 根据数值映射到 IP 协议名称。 |
| 由代理传送 | principal.ip | 如果该值为 IP 地址,则会将其添加到 principal.ip 数组中。 |
| qclass | network.dns.questions.class | 从字符串值转换为无符号整数。 |
| qclass_name | network.dns.questions.name | 直接映射。 |
| 查询 | network.dns.questions.name, principal.process.command_line | 直接映射。 |
| qtype | network.dns.questions.type | 从字符串值转换为无符号整数。 |
| RA | network.dns.recursion_available | 从字符串值转换为布尔值。 |
| radius_type | metadata.description | 直接映射。 |
| rcode | network.dns.response_code | 从字符串值转换为无符号整数。 |
| RD | network.dns.recursion_desired | 从字符串值转换为布尔值。 |
| rcpt_to | network.email.reply_to、network.email.to | 第一个电子邮件地址会映射到 reply_to,其余地址会添加到 to 数组中。 |
| referrer | network.http.referral_url | 直接映射。 |
| resp_domain | target.domain.name | 直接映射。 |
| resp_hostname | target.hostname、target.asset.hostname | 直接映射。 |
| resp_ip_bytes | network.received_bytes | 从字符串值转换为无符号整数。 |
| resp_mime_types | target.file.mime_type | 直接映射。 |
| 结果 | security_result.description | 直接映射。 |
| result_code | security_result.action_details | 直接映射。 |
| rtt | network.session_duration.seconds | 从字符串值转换为整数。 |
| security_result | security_result | 与现有的 security_result 对象合并。 |
| sensor_uid | observer.asset_id | 格式为“Sensor_UID:%{sensor_uid}”。 |
| 服务器 | target.application | 直接映射。 |
| server_name | network.tls.client.server_name | 直接映射。 |
| 服务 | target.application | 直接映射。 |
| src_display_name | principal.hostname | 直接映射。 |
| src_luid | principal.asset.product_object_id | 直接映射。 |
| 状态 | security_result.summary | 直接映射。 |
| status_code | network.http.response_code | 从字符串值转换为整数。 |
| status_msg | security_result.summary | 直接映射。 |
| subject | network.email.subject | 直接映射。 |
| 成功 | security_result.action | 如果为 true,则映射到“ALLOW”;如果为 false,则映射到“BLOCK”。 |
| TC | network.dns.truncated | 从字符串值转换为布尔值。 |
| trans_id | network.dhcp.transaction_id、network.dns.id | 从字符串值转换为无符号整数。 |
| ts | metadata.event_timestamp | 从各种格式转换为时间戳。 |
| uid | metadata.product_log_id | 直接映射。 |
| uri | target.url | 直接映射。 |
| user_agent | network.http.user_agent | 直接映射。 |
| 用户名 | principal.user.userid | 直接映射。 |
| 版本 | network.tls.version、principal.platform_version | 直接映射。 |
| version_num | network.tls.version_protocol | 直接映射。 |
| metadata.event_type | 由解析器逻辑根据日志和元数据类型确定。 | |
| metadata.vendor_name | 硬编码值:“Vectra”。 | |
| metadata.product_name | 硬编码值:“Vectra Stream”。 |
需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。