收集 Palo Alto Networks Traps 日志
支持的语言:
Google SecOps
SIEM
本文档介绍如何使用 Bindplane 将 Palo Alto Networks Traps 日志收集到 Google Security Operations。解析器可处理 CSV 和键值格式的日志,并将其转换为 UDM。它使用 grok 和 CSV 解析来提取字段,根据特定日志消息或字段值执行条件逻辑以映射到 UDM 字段,并处理各种事件类型,例如状态更新、网络扫描和进程创建。
准备工作
- 确保您拥有 Google Security Operations 实例。
- 确保您使用的是 Windows 2016 或更高版本,或者具有
systemd
的 Linux 主机。 - 如果通过代理运行,请确保防火墙端口处于开放状态。
- 确保您拥有对 Cortex XDR 的特权访问权限。
获取 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: PAN_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
配置 Palo Alto Networks Traps
- 登录 Cortex XDR ESM 控制台。
- 依次选择设置 > ESM > Syslog。
- 选中启用 syslog 复选框。
- 提供以下配置详细信息:
- Syslog 服务器:输入 Bindplane 代理的 IP 地址。
- Syslog 端口:输入在 Bindplane 中配置的端口号,例如
514
。 - Syslog 协议:选择 CEF。
- 将保持活动状态超时时间设置为 0。
- 通信协议:选择 UDP。
- 在安全事件部分,选中以下复选框:
- 预防事件
- 通知事件
- 检测后事件
- 依次点击检查连接> 保存。
UDM 映射表
日志字段 | UDM 映射 | 逻辑 |
---|---|---|
agentId |
event.idm.read_only_udm.additional.fields.value.string_value |
原始日志中的 agentId 值会映射到 additional.fields 下嵌套结构中的 string_value 字段。相应字段的 key 设置为 Agent ID 。 |
agentIp |
event.idm.read_only_udm.target.ip |
原始日志中的 agentIp 值会映射到 target.ip 字段。 |
cat |
event.idm.read_only_udm.security_result.rule_name |
原始日志中的 cat 值会映射到 security_result.rule_name 字段。 |
class |
event.idm.read_only_udm.security_result.category_details |
与 subClass 结合使用,以使用 class: subClass 格式填充 security_result.category_details 。 |
cs1 |
event.idm.read_only_udm.principal.application ,event.idm.read_only_udm.principal.user.email_addresses |
如果 cs1Label 为 email ,且 cs1 是有效的电子邮件地址,则会映射到 principal.user.email_addresses 。如果 cs1Label 为 Initiated by ,则映射到 principal.application 。 |
cs2 |
event.idm.read_only_udm.principal.process.command_line ,event.idm.read_only_udm.security_result.description |
如果 cs2Label 为 subtype ,则映射到 security_result.description 。如果 cs2Label 为 Initiator CMD ,则映射到 principal.process.command_line 。 |
cs3 |
event.idm.read_only_udm.security_result.action_details |
如果 cs3Label 为 result ,则映射到 security_result.action_details 。 |
customerId |
event.idm.read_only_udm.additional.fields.value.string_value |
原始日志中的 customerId 值会映射到 additional.fields 下嵌套结构中的 string_value 字段。相应字段的 key 设置为 Customer ID 。 |
date_time |
event.idm.read_only_udm.metadata.event_timestamp.seconds |
解析并转换为时间戳,然后映射到 metadata.event_timestamp.seconds 。 |
desc |
event.idm.read_only_udm.metadata.description |
原始日志中的 desc 值会映射到 metadata.description 字段。 |
deviceName |
event.idm.read_only_udm.target.hostname |
原始日志中的 deviceName 值会映射到 target.hostname 字段。 |
email_receiver |
event.idm.read_only_udm.network.email.to |
如果 msg 字段包含电子邮件地址,则从中提取并映射到 network.email.to 。 |
endpoint_desc |
event.idm.read_only_udm.target.resource.attribute.labels.value |
派生自 isEndpoint :如果 isEndpoint 为 1,则为 Yes, host is an endpoint. ;如果 isEndpoint 为 0,则为 No, host is not an endpoint 。将 key 设置为 Is Endpoint 。 |
eventType |
event.idm.read_only_udm.metadata.product_event_type ,event.idm.read_only_udm.metadata.event_type |
原始日志中的 eventType 值会映射到 metadata.product_event_type 字段。还用于根据 metadata.event_type 的值(例如,Management Audit Logs 结果为 EMAIL_TRANSACTION ,XDR Analytics BIOC 或 Behavioral Threat 结果为 SCAN_NETWORK )。 |
facility |
event.idm.read_only_udm.additional.fields.value.string_value |
原始日志中的 facility 值会映射到 additional.fields 下嵌套结构中的 string_value 字段。相应字段的 key 设置为 Facility 。 |
fileHash |
event.idm.read_only_udm.principal.process.file.sha256 |
原始日志中的 fileHash 值(转换为小写)会映射到 principal.process.file.sha256 字段。 |
filePath |
event.idm.read_only_udm.principal.process.file.full_path |
原始日志中的 filePath 值会映射到 principal.process.file.full_path 字段。 |
friendlyName |
event.idm.read_only_udm.metadata.description |
原始日志中的 friendlyName 值会映射到 metadata.description 字段。 |
interm_ip |
event.idm.read_only_udm.intermediary.ip |
原始日志中的 interm_ip 值会映射到 intermediary.ip 字段。 |
isEndpoint |
event.idm.read_only_udm.target.resource.attribute.labels.value |
用于派生 target.resource.attribute.labels.value 。 |
isVdi |
event.idm.read_only_udm.target.resource.resource_type |
如果 isVdi 为 1,则将 target.resource.resource_type 设置为 VIRTUAL_MACHINE 。 |
msg |
event.idm.read_only_udm.security_result.summary |
原始日志中的 msg 值会映射到 security_result.summary 字段。还用于提取 email_receiver 。 |
msgTextEn |
event.idm.read_only_udm.security_result.description |
原始日志中的 msgTextEn 值会映射到 security_result.description 字段。 |
osType |
event.idm.read_only_udm.target.platform ,event.idm.read_only_udm.target.resource.attribute.labels.value |
如果 osType 为 1,则将 target.platform 设置为 WINDOWS 。如果 osType 为 2,则将 target.platform 设置为 MAC 。如果 osType 为 4,则将 target.platform 设置为 LINUX 。如果 osType 为 3,则其值会通过 key OS 映射到 target.resource.attribute.labels.value 。 |
osVersion |
event.idm.read_only_udm.target.platform_version |
原始日志中的 osVersion 值会映射到 target.platform_version 字段。 |
product_version |
event.idm.read_only_udm.metadata.product_version |
原始日志中的 product_version 值会映射到 metadata.product_version 字段。 |
proto |
event.idm.read_only_udm.network.ip_protocol |
如果 proto 为 udp ,则 network.ip_protocol 设置为 UDP 。 |
recordType |
event.idm.read_only_udm.additional.fields.value.string_value |
原始日志中的 recordType 值会映射到 additional.fields 下嵌套结构中的 string_value 字段。相应字段的 key 设置为 Record Type 。 |
regionId |
event.idm.read_only_udm.principal.location.country_or_region |
如果 regionId 为 10,则将 principal.location.country_or_region 设置为 Americas (N. Virginia) 。如果 regionId 为 70,则将 principal.location.country_or_region 设置为 EMEA (Frankfurt) 。 |
request |
event.idm.read_only_udm.target.url |
原始日志中的 request 值会映射到 target.url 字段。 |
sec_category_details |
event.idm.read_only_udm.security_result.category_details |
原始日志中的 sec_category_details 值会映射到 security_result.category_details 字段。 |
sec_desc |
event.idm.read_only_udm.security_result.description |
原始日志中的 sec_desc 值会映射到 security_result.description 字段。 |
serverHost |
event.idm.read_only_udm.principal.hostname |
原始日志中的 serverHost 值会映射到 principal.hostname 字段。 |
severity |
event.idm.read_only_udm.security_result.severity |
按照以下逻辑映射到 security_result.severity :2 -> CRITICAL、3 -> ERROR、4 -> MEDIUM、5 -> LOW、6 -> INFORMATIONAL。 |
severity_val |
event.idm.read_only_udm.security_result.severity ,event.idm.read_only_udm.security_result.severity_details |
如果 severity_val 为 0,则将 security_result.severity_details 设置为 UNKNOWN_SEVERITY 。否则,它会按照以下逻辑映射到 security_result.severity :6 -> LOW、8 -> MEDIUM、9 -> HIGH。 |
shost |
event.idm.read_only_udm.principal.hostname |
原始日志中的 shost 值会映射到 principal.hostname 字段。 |
src_ip |
event.idm.read_only_udm.principal.ip |
原始日志中的 src_ip 值会映射到 principal.ip 字段。 |
subClass |
event.idm.read_only_udm.security_result.category_details |
与 class 结合使用,以填充 security_result.category_details 。 |
suser |
event.idm.read_only_udm.principal.user.user_display_name |
原始日志中 suser 的值(已移除方括号、反斜杠和单引号)会映射到 principal.user.user_display_name 字段。 |
targetprocesscmd |
event.idm.read_only_udm.target.process.command_line |
原始日志中的 targetprocesscmd 值会映射到 target.process.command_line 字段。 |
targetprocessname |
event.idm.read_only_udm.target.application |
原始日志中的 targetprocessname 值会映射到 target.application 字段。 |
targetprocesssha256 |
event.idm.read_only_udm.target.process.file.sha256 |
原始日志中的 targetprocesssha256 值(转换为小写)会映射到 target.process.file.sha256 字段。 |
tenantname |
event.idm.read_only_udm.target.resource.attribute.labels.value |
原始日志中的 tenantname 值会映射到 target.resource.attribute.labels 下嵌套结构中的 value 字段。相应字段的 key 设置为 Tenant name 。 |
event.idm.read_only_udm.metadata.event_type |
默认设置为 STATUS_UPDATE 。如果 eventType 为 Management Audit Logs ,则更改为 EMAIL_TRANSACTION 。如果 eventType 为 XDR Analytics BIOC 或 Behavioral Threat ,或者 desc 为 Behavioral Threat ,则更改为 SCAN_NETWORK 。如果 desc 为 Suspicious Process Creation ,则更改为 SCAN_PROCESS 。设置为 Palo Alto Networks 。设置为 Cortex XDR 。设置为 PAN_EDR 。如果 eventType 为 XDR Analytics BIOC 或 Behavioral Threat ,或者 desc 为 Behavioral Threat ,则设置为 NETWORK_SUSPICIOUS 。 |
需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。