收集 Check Point EDR 日志
本文档介绍如何使用 Bindplane 将 Check Point Antivirus 日志注入到 Google Security Operations。解析器可处理 Check Point SandBlast 的日志,将 SYSLOG + KV 和 SYSLOG + CEF 格式的日志转换为统一数据模型 (UDM)。解析器使用包含的模块从 CEF 消息中提取字段,并将这些字段映射到 UDM 字段,从而处理各种事件类型,并使用原始日志中的其他上下文信息来丰富数据。对于非 CEF 消息,解析器使用键值提取、Grok 模式和条件逻辑将相关字段映射到 EDR UDM 架构。
准备工作
请确保满足以下前提条件:
- Google SecOps 实例
- Windows 2016 或更高版本,或者具有
systemd
的 Linux 主机 - 如果在代理后运行,防火墙端口处于开放状态
- 对 Check Point 设备(使用 SandBlast)的特权访问
获取 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: 'CHECKPOINT_EDR' 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
在 Checkpoint 1500 设备系列中配置 Syslog
- 登录 Checkpoint 设备。
- 依次前往日志和监控 > 日志服务器 > Syslog 服务器。
- 点击配置。
- 提供以下配置详细信息:
- 协议:选择 UDP。
- 名称:输入一个描述性名称。
- IP 地址:输入 Bindplane 代理 IP 地址。
- 端口:输入 Bindplane 代理端口号。
- 选择启用日志服务器。
- 选择要转发的日志:系统日志和安全日志。
- 点击应用。
UDM 映射表
日志字段 | UDM 映射 | 逻辑 |
---|---|---|
action |
event.idm.read_only_udm.security_result.action |
直接从 action CEF 字段映射。 |
action_comment |
event.idm.read_only_udm.additional.fields[<N>].key :action_comment event.idm.read_only_udm.additional.fields[<N>].value.string_value :action_comment 的值 |
直接从 action_comment 字段映射。 |
action_details |
event.idm.read_only_udm.security_result.action_details |
直接从 action_details CEF 字段映射。 |
additional_info |
event.idm.read_only_udm.additional.fields[<N>].key :additional_info event.idm.read_only_udm.additional.fields[<N>].value.string_value :additional_info 的值 |
直接从 additional_info 字段映射。 |
am_update_proxy |
event.idm.read_only_udm.intermediary.domain.name |
直接从 am_update_proxy 字段映射。 |
am_update_source |
event.idm.read_only_udm.target.url |
直接从 am_update_source 字段映射。 |
client_version |
event.idm.read_only_udm.metadata.product_version |
直接从 client_version 字段映射。 |
cn1 |
event.idm.read_only_udm.security_result.severity |
从 cn1 CEF 字段映射并转换为 UDM 严重程度值(CRITICAL、HIGH、MEDIUM、LOW、INFO)。 |
cs1 |
event.idm.read_only_udm.additional.fields[<N>].key :Connectivity State event.idm.read_only_udm.additional.fields[<N>].value.string_value :cs1 的值 |
直接从 cs1 字段映射。 |
description |
event.idm.read_only_udm.metadata.description |
直接从 description CEF 字段映射。 |
deviceDirection |
event.idm.read_only_udm.network.direction |
从 deviceDirection 字段映射。值 0 映射到 INBOUND ,其他值不映射。 |
deviceFacility |
event.idm.read_only_udm.additional.fields[<N>].key :deviceFacility event.idm.read_only_udm.additional.fields[<N>].value.string_value :deviceFacility 的值 |
直接从 deviceFacility 字段映射。 |
dst |
event.idm.read_only_udm.network.target.ip |
当 event_type 为 Firewall 时,直接从 dst 字段映射。 |
engine_ver |
event.idm.read_only_udm.additional.fields[<N>].key :engine_ver event.idm.read_only_udm.additional.fields[<N>].value.string_value :engine_ver 的值 |
直接从 engine_ver 字段映射。 |
ep_rule_id |
event.idm.read_only_udm.firewall.firewall_rule_id |
当 event_type 为 Firewall 时,直接从 ep_rule_id 字段映射。 |
event_type |
event.idm.read_only_udm.metadata.product_event_type |
直接从 event_type CEF 字段映射。 |
failed_updates |
event.idm.read_only_udm.additional.fields[<N>].key :failed_updates event.idm.read_only_udm.additional.fields[<N>].value.string_value :failed_updates 的值 |
直接从 failed_updates 字段映射。 |
file_md5 |
event.idm.read_only_udm.source_file.hash_md5 |
当 event_type 为 TE Event 时,直接从 file_md5 字段映射。 |
file_name |
event.idm.read_only_udm.source_file.file_name |
当 event_type 为 TE Event 时,直接从 file_name 字段映射。 |
file_sha1 |
event.idm.read_only_udm.source_file.hash_sha1 |
当 event_type 为 TE Event 时,直接从 file_sha1 字段映射。 |
file_sha256 |
event.idm.read_only_udm.source_file.hash_sha256 |
当 event_type 为 TE Event 时,直接从 file_sha256 字段映射。 |
host_type |
event.idm.read_only_udm.principal.asset.type |
从 host_type 字段映射。Desktop 转换为 WORKSTATION ,然后将值转换为大写。 |
ifdir |
event.idm.read_only_udm.network.direction |
直接从 ifdir 字段映射,当 event_type 为 Firewall 时,会转换为大写。 |
installed_products |
event.idm.read_only_udm.principal.asset.software.name |
直接从 installed_products 字段映射。 |
is_scanned |
sec_res.detection_fields[<N>].key :is_scanned sec_res.detection_fields[<N>].value :is_scanned 的值 |
直接从 is_scanned 字段映射。 |
local_time |
event.idm.read_only_udm.additional.fields[<N>].key :local_time event.idm.read_only_udm.additional.fields[<N>].value.string_value :local_time 的值 |
直接从 local_time 字段映射。 |
log_type |
event.idm.read_only_udm.metadata.log_type |
直接从 log_type 字段映射。 |
loguid |
event.idm.read_only_udm.metadata.product_log_id |
直接从 loguid 字段映射。 |
machine_guid |
event.idm.read_only_udm.principal.asset.product_object_id |
直接从 machine_guid 字段映射。 |
media_authorized |
event.idm.read_only_udm.additional.fields[<N>].key :media_authorized event.idm.read_only_udm.additional.fields[<N>].value.string_value :media_authorized 的值 |
直接从 media_authorized 字段映射。 |
media_class_id |
event.idm.read_only_udm.additional.fields[<N>].key :media_class_id event.idm.read_only_udm.additional.fields[<N>].value.string_value :media_class_id 的值 |
直接从 media_class_id 字段映射。 |
media_description |
event.idm.read_only_udm.additional.fields[<N>].key :media_description event.idm.read_only_udm.additional.fields[<N>].value.string_value :media_description 的值 |
直接从 media_description 字段映射。 |
media_encrypted |
event.idm.read_only_udm.additional.fields[<N>].key :media_encrypted event.idm.read_only_udm.additional.fields[<N>].value.string_value :media_encrypted 的值 |
直接从 media_encrypted 字段映射。 |
media_manufacturer |
event.idm.read_only_udm.additional.fields[<N>].key :media_manufacturer event.idm.read_only_udm.additional.fields[<N>].value.string_value :media_manufacturer 的值 |
直接从 media_manufacturer 字段映射。 |
media_type |
event.idm.read_only_udm.additional.fields[<N>].key :media_type event.idm.read_only_udm.additional.fields[<N>].value.string_value :media_type 的值 |
直接从 media_type 字段映射。 |
msg |
event.idm.read_only_udm.metadata.description |
直接从 msg CEF 字段映射。 |
origin |
event.idm.read_only_udm.about.ip |
直接从 origin CEF 字段映射。 |
os_name |
event.idm.read_only_udm.additional.fields[<N>].key :os_name event.idm.read_only_udm.additional.fields[<N>].value.string_value :os_name 的值 |
直接从 os_name 字段映射。 |
os_version |
event.idm.read_only_udm.principal.asset.platform_software.platform_version |
直接从 os_version 字段映射。 |
policy_date |
event.idm.read_only_udm.additional.fields[<N>].key :policy_date event.idm.read_only_udm.additional.fields[<N>].value.string_value :policy_date 的值 |
直接从 policy_date 字段映射。 |
policy_guid |
event.idm.read_only_udm.principal.resource.product_object_id |
直接从 policy_guid 字段映射。 |
policy_name |
event.idm.read_only_udm.principal.resource.name |
直接从 policy_name 字段映射。 |
policy_number |
event.idm.read_only_udm.principal.resource.product_object_id |
直接从 policy_number 字段映射。 |
policy_type |
event.idm.read_only_udm.additional.fields[<N>].key :policy_type event.idm.read_only_udm.additional.fields[<N>].value.string_value :policy_type 的值 |
直接从 policy_type 字段映射。 |
policy_version |
event.idm.read_only_udm.additional.fields[<N>].key :policy_version event.idm.read_only_udm.additional.fields[<N>].value.string_value :policy_version 的值 |
直接从 policy_version 字段映射。 |
product |
event.idm.read_only_udm.metadata.product_name |
直接从 product CEF 字段映射。 |
proto |
event.idm.read_only_udm.network.protocol |
当 event_type 为 Firewall 时,直接从 proto 字段映射。 |
reading_data_access |
event.idm.read_only_udm.additional.fields[<N>].key :reading_data_access event.idm.read_only_udm.additional.fields[<N>].value.string_value :reading_data_access 的值 |
直接从 reading_data_access 字段映射。 |
requestClientApplication |
event.idm.read_only_udm.network.http.user_agent |
直接从 requestClientApplication 字段映射。 |
result |
event.idm.read_only_udm.security_result.summary |
直接从 result 字段映射。 |
rt |
event.idm.read_only_udm.metadata.event_timestamp.seconds |
从 rt 字段映射,除以 1000,并将整数部分作为秒数。 |
rule_name |
event.idm.read_only_udm.firewall.firewall_rule |
当 event_type 为 Firewall 时,直接从 rule_name 字段映射。 |
s_port |
event.idm.read_only_udm.network.client.port |
当 event_type 为 Firewall 时,直接从 s_port 字段映射。 |
sequencenum |
event.idm.read_only_udm.additional.fields[<N>].key :sequencenum event.idm.read_only_udm.additional.fields[<N>].value.string_value :sequencenum 的值 |
直接从 sequencenum 字段映射。 |
service |
event.idm.read_only_udm.network.target.port |
当 event_type 为 Firewall 时,直接从 service 字段映射。 |
severity |
event.idm.read_only_udm.security_result.severity |
从 severity 字段映射并转换为 UDM 严重程度值(CRITICAL、HIGH、MEDIUM、LOW、INFO)。 |
shost |
event.idm.read_only_udm.principal.hostname |
直接从 shost CEF 字段映射。 |
sig_ver |
event.idm.read_only_udm.additional.fields[<N>].key :sig_ver event.idm.read_only_udm.additional.fields[<N>].value.string_value :sig_ver 的值 |
直接从 sig_ver 字段映射。 |
src |
event.idm.read_only_udm.principal.ip |
直接从 src CEF 字段映射。 |
src_machine_name |
event.idm.read_only_udm.principal.hostname |
当 event_type 为空时,直接从 src_machine_name 字段映射。 |
subject |
event.idm.read_only_udm.task.task_name |
当 event_type 为空时,直接从 subject 字段映射。 |
suser |
event.idm.read_only_udm.principal.user.user_display_name |
直接从 suser CEF 字段映射。 |
time |
event.idm.read_only_udm.metadata.event_timestamp.seconds |
直接从 time 字段映射并转换为 Unix 纪元秒数。 |
user_name |
event.idm.read_only_udm.principal.user.email_addresses |
直接从 user_name CEF 字段映射。 |
user_sid |
event.idm.read_only_udm.principal.user.windows_sid |
直接从 user_sid 字段映射。 |
version |
event.idm.read_only_udm.additional.fields[<N>].key :version event.idm.read_only_udm.additional.fields[<N>].value.string_value :version 的值 |
直接从 version 字段映射。 |
writing_data_access |
event.idm.read_only_udm.additional.fields[<N>].key :writing_data_access event.idm.read_only_udm.additional.fields[<N>].value.string_value :writing_data_access 的值 |
直接从 writing_data_access 字段映射。 |
不适用 | event.idm.read_only_udm.metadata.event_type |
如果原始日志中不存在 principal.ip 、principal.hostname 或 principal.mac ,则设置为 GENERIC_EVENT ;否则设置为 STATUS_UPDATE 。 |
不适用 | event.idm.read_only_udm.metadata.vendor_name |
常量值:Check Point 。 |
不适用 | event.idm.read_only_udm.metadata.log_type |
常量值:CHECKPOINT_EDR 。 |
不适用 | event.idm.read_only_udm.principal.asset.platform_software.platform |
如果 os_name 包含 WINDOWS 或 Windows ,则设置为 WINDOWS 。 |
不适用 | event.idm.read_only_udm.network.http.user_agent |
如果存在 requestClientApplication ,则设置为 Check Point Endpoint Security Client 。 |
不适用 | event.edr.data_source |
常量值:当 message 不包含 CEF 时为 CHECKPOINT_SANDBLAST 。 |
需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。