收集 Palo Alto Cortex XDR 提醒日志
本文档介绍了如何通过设置 Google Security Operations Feed 来收集 Palo Alto Cortex XDR 提醒日志。
如需了解详情,请参阅将数据提取到 Google 安全运营中心。
提取标签用于标识将原始日志数据标准化为结构化 UDM 格式的解析器。本文档中的信息适用于具有 CORTEX_XDR
注入标签的解析器。
配置 Palo Alto Cortex XDR 提醒
如需配置 Palo Alto Cortex XDR 提醒,请完成以下任务:
获取 Palo Alto Cortex XDR 提醒 API 密钥
- 登录 Cortex XDR 门户。
- 在设置菜单中,点击设置。
- 选择 +New key。
- 在安全级别部分中,选择高级。
- 在角色部分,选择 Viewer。
- 点击生成。
- 复制该 API 密钥,然后点击完成。API 密钥代表您的唯一授权密钥,仅在创建时显示。在配置 Google Security Operations Feed 时,此字段是必需的。
获取 Palo Alto Cortex XDR 提醒 API 密钥 ID
在“Configurations”(配置)部分,依次选择 API keys > ID。记下相应的 ID 编号,该编号表示 x-xdr-auth-id:{key_id}
令牌。
获取 FQDN
- 前往 API 密钥。
- 点击复制网址。保存网址,您在配置 Google Security Operations Feed 时需要使用此网址。
在 Google Security Operations 中配置 Feed 以提取 Palo Alto Cortex XDR 提醒日志
- 依次前往 SIEM 设置 > Feed。
- 点击 Add New(新增)。
- 在字段名称中输入一个具有唯一性的名称。
- 选择第三方 API 作为来源类型。
- 选择 Palo Alto Cortex XDR Alerts(Palo Alto Cortex XDR 提醒)作为日志类型。
- 点击下一步。
- 配置以下必需的输入参数:
- 身份验证 HTTP 标头:提供您之前获得的授权密钥和授权密钥 ID。
- API 主机名:提供您之前获取的网址。
- 端点:指定端点。
- 点击下一步,然后点击提交。
如需详细了解 Google Security Operations Feed,请参阅 Google Security Operations Feed 文档。 如需了解每种 Feed 类型的要求,请参阅按类型配置 Feed。
如果您在创建 Feed 时遇到问题,请与 Google 安全运营支持团队联系。
字段映射参考文档
此解析器以 JSON 或 SYSLOG(键值对)格式从 Palo Alto Networks Cortex XDR 中提取安全日志,对字段进行标准化,并将其映射到 UDM。它可以处理 JSON 和键值对格式,执行日期提取,使用元数据丰富数据,并对输出进行结构化,以便提取到 Google SecOps。
在 Cortex XDR 上启用 REST API 请求并配置 Google SecOps Feed
本指南提供了有关如何在 Cortex XDR 上启用 REST API 请求以及如何在 Google SecOps 中配置相应 Feed 的分步说明。
第 1 部分:在 Cortex XDR 上启用 REST API 请求
Cortex XDR 使用 API 密钥进行身份验证。请按照以下步骤生成 API 密钥:
- 登录 Cortex XDR 管理控制台。
- 转到设置。
- 访问 API 密钥。
- 生成新密钥。
- 提供键名称(例如“SecOps 集成”)。
- 向 API 密钥分配访问所需数据的必要权限。这对于安全至关重要,可确保密钥仅有权访问其所需的内容。如需了解您的用例所需的具体权限,请参阅 Cortex XDR 文档。
- 安全地存储 API 密钥。您需要此信息来配置 Google SecOps Feed。完整密钥仅在此时显示,因此请务必立即复制。
- (可选)为 API 密钥配置失效日期,以增强安全性。
第 2 部分:在 Google SecOps 中配置 Feed
生成 API 密钥后,请在 Google SecOps 中配置 Feed 以接收来自 Cortex XDR 的数据:
- 依次前往 SIEM 设置 > Feed。
- 点击新增。
- 选择第三方 API 作为来源类型。
- 选择与您要从 Cortex XDR 提取的数据对应的所需日志类型。
- 点击下一步。
- 配置以下输入参数:
- API 端点:输入 Cortex XDR API 的基础网址。如需了解详情,请参阅 Cortex XDR API 文档。
- API 密钥:粘贴您之前生成的 API 密钥。
- 其他参数:根据您使用的特定 Cortex XDR API,您可能需要提供其他参数,例如特定的数据过滤条件或时间范围。如需了解详情,请参阅 Cortex XDR API 文档。
- 点击下一步,然后点击提交。
重要注意事项:
- 速率限制:请注意 Cortex XDR API 强加的任何速率限制。请相应地配置 Feed,以免超出这些限制。
- 错误处理:在 Google SecOps 配置中实现适当的错误处理,以便管理 Cortex XDR API 不可用或返回错误的情况。
- 安全:安全地存储 API 密钥,并遵循安全最佳实践。定期轮替 API 密钥,以最大限度地减少潜在泄露的影响。
- 文档:如需详细了解可用端点、参数和数据格式,请参阅官方 Cortex XDR API 文档。
UDM 映射表
日志字段 | UDM 映射 | 逻辑 |
---|---|---|
action |
security_result.action |
如果 action 包含“BLOCKED”,请将其设置为“BLOCK”。 |
action |
security_result.action_details |
如果 act 不为空、null 或“none”,则使用 act 的值。否则,如果 action 不是“BLOCKED”,则使用 action 的值。 |
action_country |
security_result.about.location.country_or_region |
直接映射。也用于嵌套的 events 字段。 |
action_file_path |
target.resource.attribute.labels |
使用日志字段创建键为“action_file_path”且值来自该字段的标签。 |
action_file_sha256 |
target.file.sha256 |
转换为小写。 |
action_local_port |
principal.port |
转换为整数。 |
action_remote_ip |
target.ip |
已合并到 target.ip 数组中。 |
action_remote_ip |
target.asset.ip |
已合并到 target.asset.ip 数组中。 |
action_remote_port |
target.port |
转换为整数。 |
act |
security_result.action_details |
如果值不为空、null 或“none”,则使用此值。 |
agent_data_collection_status |
未映射 | 虽然此字段存在于原始日志中,但不会映射到最终 UDM 中的 IDM 对象。 |
agent_device_domain |
target.administrative_domain |
直接映射。 |
agent_fqdn |
未映射 | 虽然此字段存在于原始日志中,但不会映射到最终 UDM 中的 IDM 对象。 |
agent_install_type |
未映射 | 虽然此字段存在于原始日志中,但不会映射到最终 UDM 中的 IDM 对象。 |
agent_is_vdi |
未映射 | 虽然此字段存在于原始日志中,但不会映射到最终 UDM 中的 IDM 对象。 |
agent_os_sub_type |
target.platform_version |
直接映射。 |
agent_os_type |
target.platform |
如果为“Windows”,请设置为“WINDOWS”。 |
agent_version |
未映射 | 虽然此字段存在于原始日志中,但不会映射到最终 UDM 中的 IDM 对象。 |
alert_id |
security_result.rule_id |
直接映射。 |
app |
target.application |
直接映射。 |
cat |
security_result.category_details |
已合并到 security_result.category_details 字段中。 |
category |
security_result.category |
如果为“恶意软件”,请设置为“SOFTWARE_MALICIOUS”。 |
category |
security_result.category_details |
已合并到 security_result.category_details 字段中。 |
cn1 |
network.session_id |
直接映射。 |
cn1Label |
未映射 | 虽然此字段存在于原始日志中,但不会映射到最终 UDM 中的 IDM 对象。 |
contains_featured_host |
未映射 | 虽然此字段存在于原始日志中,但不会映射到最终 UDM 中的 IDM 对象。 |
contains_featured_ip |
未映射 | 虽然此字段存在于原始日志中,但不会映射到最终 UDM 中的 IDM 对象。 |
contains_featured_user |
未映射 | 虽然此字段存在于原始日志中,但不会映射到最终 UDM 中的 IDM 对象。 |
creation_time |
metadata.event_timestamp |
已转换为时间戳。 |
cs1 |
security_result.rule_name |
与 cs1Label 串联以形成 security_result.rule_name 。 |
cs1Label |
security_result.rule_name |
与 cs1 串联以形成 security_result.rule_name 。 |
cs2 |
additional.fields |
在 additional.fields 中创建键值对,其中键来自 cs2Label ,字符串值来自 cs2 。 |
cs2Label |
additional.fields |
用作 additional.fields 中 cs2 值的键。 |
cs3 |
additional.fields |
在 additional.fields 中创建键值对,其中键来自 cs3Label ,字符串值来自 cs3 。 |
cs3Label |
additional.fields |
用作 additional.fields 中 cs3 值的键。 |
cs4 |
additional.fields |
在 additional.fields 中创建键值对,其中键来自 cs4Label ,字符串值来自 cs4 。 |
cs4Label |
additional.fields |
用作 additional.fields 中 cs4 值的键。 |
cs5 |
additional.fields |
在 additional.fields 中创建键值对,其中键来自 cs5Label ,字符串值来自 cs5 。 |
cs5Label |
additional.fields |
用作 additional.fields 中 cs5 值的键。 |
cs6 |
additional.fields |
在 additional.fields 中创建键值对,其中键来自 cs6Label ,字符串值来自 cs6 。 |
cs6Label |
additional.fields |
用作 additional.fields 中 cs6 值的键。 |
CSPaccountname |
additional.fields |
在 additional.fields 中创建键值对,键为“CSPaccountname”,值为日志字段中的字符串值。 |
description |
metadata.description |
直接映射。如果 event_type 不是 GENERIC_EVENT,也适用于 security_result.description 。 |
destinationTranslatedAddress |
target.ip |
已合并到 target.ip 数组中。 |
destinationTranslatedAddress |
target.asset.ip |
已合并到 target.asset.ip 数组中。 |
destinationTranslatedPort |
target.port |
如果不为空,则转换为整数;如果为空,则转换为 -1。 |
deviceExternalId |
security_result.about.asset_id |
前缀为“Device External Id:”。 |
dpt |
target.port |
如果 destinationTranslatedPort 为空或为 -1,则转换为整数。 |
dst |
target.ip |
已合并到 target.ip 数组中。 |
dst |
target.asset.ip |
已合并到 target.asset.ip 数组中。 |
dst_agent_id |
target.ip |
如果是有效 IP,则转换为 IP 地址并合并到 target.ip 数组中。 |
dst_agent_id |
target.asset.ip |
如果是有效 IP,则转换为 IP 地址并合并到 target.asset.ip 数组中。 |
dvchost |
principal.hostname |
直接映射。 |
dvchost |
principal.asset.hostname |
直接映射。 |
endpoint_id |
target.process.product_specific_process_id |
带有“cor:”前缀。 |
event_id |
未映射 | 虽然此字段存在于原始日志中,但不会映射到最终 UDM 中的 IDM 对象。 |
event_sub_type |
未映射 | 虽然此字段存在于原始日志中,但不会映射到最终 UDM 中的 IDM 对象。 |
event_timestamp |
metadata.event_timestamp |
已转换为时间戳。也用于嵌套的 events 字段。 |
event_type |
metadata.event_type |
根据逻辑映射到 UDM 事件类型。也用于嵌套的 events 字段。 |
event_type |
metadata.product_event_type |
直接映射。 |
event_type |
security_result.threat_name |
直接映射。 |
events |
嵌套事件 | events 数组中的字段会映射到嵌套 events 对象中的相应 UDM 字段。如需了解详情,请参阅各个字段映射。 |
external_id |
未映射 | 虽然此字段存在于原始日志中,但不会映射到最终 UDM 中的 IDM 对象。 |
fileId |
target.resource.attribute.labels |
使用日志字段创建键为“fileId”且值为“123456789”的标签。 |
fileHash |
target.file.sha256 |
会转换为小写。将 metadata.event_type 设置为 FILE_UNCATEGORIZED。 |
filePath |
target.file.full_path |
直接映射。将 metadata.event_type 设置为 FILE_UNCATEGORIZED。 |
fw_app_category |
未映射 | 虽然此字段存在于原始日志中,但不会映射到最终 UDM 中的 IDM 对象。 |
fw_app_id |
未映射 | 虽然此字段存在于原始日志中,但不会映射到最终 UDM 中的 IDM 对象。 |
fw_app_subcategory |
未映射 | 虽然此字段存在于原始日志中,但不会映射到最终 UDM 中的 IDM 对象。 |
fw_app_technology |
未映射 | 虽然此字段存在于原始日志中,但不会映射到最终 UDM 中的 IDM 对象。 |
fw_device_name |
未映射 | 虽然此字段存在于原始日志中,但不会映射到最终 UDM 中的 IDM 对象。 |
fw_email_recipient |
未映射 | 虽然此字段存在于原始日志中,但不会映射到最终 UDM 中的 IDM 对象。 |
fw_email_sender |
未映射 | 虽然此字段存在于原始日志中,但不会映射到最终 UDM 中的 IDM 对象。 |
fw_email_subject |
未映射 | 虽然此字段存在于原始日志中,但不会映射到最终 UDM 中的 IDM 对象。 |
fw_interface_from |
未映射 | 虽然此字段存在于原始日志中,但不会映射到最终 UDM 中的 IDM 对象。 |
fw_interface_to |
未映射 | 虽然此字段存在于原始日志中,但不会映射到最终 UDM 中的 IDM 对象。 |
fw_is_phishing |
未映射 | 虽然此字段存在于原始日志中,但不会映射到最终 UDM 中的 IDM 对象。 |
fw_misc |
未映射 | 虽然此字段存在于原始日志中,但不会映射到最终 UDM 中的 IDM 对象。 |
fw_rule |
未映射 | 虽然此字段存在于原始日志中,但不会映射到最终 UDM 中的 IDM 对象。 |
fw_rule_id |
未映射 | 虽然此字段存在于原始日志中,但不会映射到最终 UDM 中的 IDM 对象。 |
fw_serial_number |
未映射 | 虽然此字段存在于原始日志中,但不会映射到最终 UDM 中的 IDM 对象。 |
fw_url_domain |
未映射 | 虽然此字段存在于原始日志中,但不会映射到最终 UDM 中的 IDM 对象。 |
fw_vsys |
未映射 | 虽然此字段存在于原始日志中,但不会映射到最终 UDM 中的 IDM 对象。 |
fw_xff |
未映射 | 虽然此字段存在于原始日志中,但不会映射到最终 UDM 中的 IDM 对象。 |
host_ip |
principal.ip |
按英文逗号分隔,并合并到 principal.ip 数组中。 |
host_ip |
principal.asset.ip |
按英文逗号分隔,并合并到 principal.asset.ip 数组中。 |
host_name |
principal.hostname |
直接映射。 |
host_name |
principal.asset.hostname |
直接映射。 |
hosts |
target.hostname |
从 hosts 数组的第一个元素中提取主机名。 |
hosts |
target.asset.hostname |
从 hosts 数组的第一个元素中提取主机名。 |
hosts |
target.user.employee_id |
从 hosts 数组的第一个元素中提取用户 ID。 |
incident_id |
metadata.product_log_id |
直接映射。 |
is_whitelisted |
未映射 | 虽然此字段存在于原始日志中,但不会映射到最终 UDM 中的 IDM 对象。 |
local_insert_ts |
未映射 | 虽然此字段存在于原始日志中,但不会映射到最终 UDM 中的 IDM 对象。 |
mac |
principal.mac |
按英文逗号分隔,并合并到 principal.mac 数组中。 |
matching_status |
未映射 | 虽然此字段存在于原始日志中,但不会映射到最终 UDM 中的 IDM 对象。 |
metadata.description |
security_result.description |
如果 event_type 为 GENERIC_EVENT,则使用此属性。 |
metadata.event_type |
metadata.event_type |
根据逻辑使用 event_type 、host_ip 和其他字段进行设置。 |
metadata.log_type |
metadata.log_type |
设置为“CORTEX_XDR”。 |
metadata.product_name |
metadata.product_name |
设置为“Cortex”。 |
metadata.vendor_name |
metadata.vendor_name |
设置为“Palo Alto Networks”。 |
msg |
security_result.description |
直接映射。 |
name |
security_result.summary |
直接映射。 |
PanOSDGHierarchyLevel1 |
security_result.detection_fields |
在 security_result.detection_fields 中创建键值对,键为“PanOSDGHierarchyLevel1”,值来自日志字段。 |
PanOSDestinationLocation |
target.location.country_or_region |
直接映射。 |
PanOSDynamicUserGroupName |
principal.group.group_display_name |
如果不为空或“-”,则为直接映射。 |
PanOSSourceLocation |
principal.location.country_or_region |
直接映射。 |
PanOSThreatCategory |
security_result.category_details |
已合并到 security_result.category_details 字段中。 |
PanOSThreatID |
security_result.threat_id |
直接映射。 |
principal.asset.attribute.labels |
principal.asset.attribute.labels |
创建一个键为“Source”且值来自 source 字段的标签。 |
proto |
network.ip_protocol |
已转换为大写。将 metadata.event_type 设置为 NETWORK_CONNECTION。 |
request |
network.http.referral_url |
直接映射。 |
rt |
metadata.event_timestamp |
已转换为时间戳。 |
security_result.severity |
security_result.severity |
设置为 severity 的转换为大写的值。 |
severity |
security_result.severity |
已转换为大写。 |
shost |
principal.hostname |
直接映射。将 metadata.event_type 设置为 STATUS_UPDATE。 |
shost |
principal.asset.hostname |
直接映射。将 metadata.event_type 设置为 STATUS_UPDATE。 |
source |
principal.asset.attribute.labels |
用作“来源”标签的值。 |
source |
security_result.summary |
如果 not_json 和 grok 过滤条件匹配,则使用此值。 |
sourceTranslatedAddress |
principal.ip |
已合并到 principal.ip 数组中。 |
sourceTranslatedAddress |
principal.asset.ip |
已合并到 principal.asset.ip 数组中。 |
sourceTranslatedPort |
principal.port |
如果不为空,则转换为整数;如果为空,则转换为 -1。 |
spt |
principal.port |
转换为整数。 |
sr_summary |
security_result.summary |
如果 not_json 和 grok 过滤条件匹配,则使用此值。 |
src |
principal.ip |
已合并到 principal.ip 数组中。 |
src |
principal.asset.ip |
已合并到 principal.asset.ip 数组中。 |
suser |
principal.user.user_display_name |
直接映射。 |
tenantCDLid |
additional.fields |
在 additional.fields 中创建键值对,键为“tenantCDLid”,值为日志字段中的字符串值。 |
tenantname |
additional.fields |
在 additional.fields 中创建键值对,键为“tenantname”,值为日志字段中的字符串值。 |
users |
target.user.userid |
使用 users 数组的第一个元素。 |
xdr_url |
metadata.url_back_to_product |
直接映射。 |
变化
2024-07-05
- 将“isInteractive”映射到“security_result.detection_fields”。
2024-04-02
- 将“properties.createdDateTime”映射到“metadata.event_timestamp”。
- 将“properties.resourceServicePrincipalId”和“resourceServicePrincipalId”映射到“target.resource.attribute.labels”。
- 将“properties.authenticationProcessingDetails”“authenticationProcessingDetails”和“properties.networkLocationDetails”映射到“additional.fields”。
- 将“properties.userAgent”映射到“network.http.user_agent”和“network.http.parsed_user_agent”。
- 将“properties.authenticationRequirement”映射到“additional.fields”。
2024-04-17
- 将“action_local_port”映射到“principal.port”。
- 将“dst_agent_id”映射到“principal.ip”。
- 将“action_remote_ip”映射到“target.ip”。
- 将“action_remote_port”映射到“target.ip”。
- 添加了在将“metadata.event_type”设置为“NETWORK_CONNECTION”之前检查“target_device”是否存在的检查。
2024-03-15
- 添加了 Grok,用于从邮件标头中检索“source”和“sr_summary”。
- 将“sr_summary”映射到“security_result.summary”。
2024-03-11
- 添加了对 CEF 格式日志的支持。
- 将“rt”映射到“metadata.event_timestamp”。
- 将“category”和“cat”映射到“security_result.category_details”。
- 将“cs2Label”“cs2”“tenantname”“tenantCDLid”和“CSPaccountname”映射到“additional.fields”。
- 将“shost”映射到“principal.hostname”和“principal.asset.hostname”。
- 将“spt”映射到“principal.port”。
- 将“src”映射到“principal.ip”和“principal.asset.ip”。
- 将“suser”映射到“principal.user.user_display_name”。
- 将“dpt”映射到“target.port”。
- 将“dst”映射到“target.ip”和“target.asset.ip”。
- 将“fileHash”映射到“target.file.sha256”。
- 将“filePath”映射到“target.file.full_path”。
- 将“request”映射到“network.http.referral_url”。
- 将“msg”映射到“security_result.description”。
2024-01-18
- 将“action_file_path”映射从“target.file.full_path”更改为“target.resource.attribute.labels”。
- 将“domain”映射到“target.asset.hostname”。
- 将“destinationTranslatedAddress”映射到“target.asset.ip”。
- 将“host_name”映射到“principal.asset.hostname”。
- 将“dvchost”映射到“principal.asset.hostname”。
- 将“ip”映射到“principal.asset.ip”。
- 将“sourceTranslatedAddress”映射到“principal.asset.ip”。
2023-11-10
- 当“event_type”为“RPC Call”时,将“metadata.event_type”映射到“STATUS_UPDATE”。
- 将“events.action_country”映射到“security_result.about.location.country_or_region”。
- 将“events.actor_process_command_line”映射到“target.process.command_line”。
- 将“events.actor_process_image_md5”映射到“target.file.md5”。
- 将“events.actor_process_image_path”映射到“target.file.full_path”。
- 将“events.actor_process_image_sha256”映射到“target.file.sha256”。
- 将“events.actor_process_instance_id”映射到“target.process.pid”。
- 将“events.os_actor_process_command_line”映射到“principal.process.command_line”。
- 将“events.os_actor_process_image_path”映射到“principal.file.full_path”。
- 将“events.os_actor_process_image_sha256”映射到“principal.file.sha256”。
- 将“events.os_actor_process_instance_id”映射到“principal.process.pid”。
- 将“events.causality_actor_process_command_line”映射到“intermediary.process.command_line”。
- 将“events.causality_actor_process_image_path”映射到“intermediary.file.full_path”。
- 将“events.causality_actor_process_image_sha256”映射到“intermediary.file.sha256”。
- 将“events.causality_actor_process_instance_id”映射到“intermediary.process.pid”。
- 将“events.causality_actor_process_image_md5”映射到“intermediary.file.md5”。
- 将“events.event_type”映射到“metadata.product_event_type”。
- 将“events.user_name”映射到“principal.user.user_display_name”。
2023-10-16
- 将“source”映射到“principal.asset.attribute.labels”。
- 如果“网络连接”或“网络事件”中的“event_type”为“NETWORK_CONNECTION”,请将“metadata.event_type”设置为“NETWORK_CONNECTION”。
2022-11-03
- 将“PanOSConfigVersion”映射到“security_result.detection_fields”。
- 将“PanOSContentVersion”映射到“security_result.detection_fields”。
- 将“PanOSDGHierarchyLevel1”映射到“security_result.detection_fields”。
- 将“PanOSDestinationLocation”映射到“target.location.country_or_region”。
- 将“PanOSDynamicUserGroupName”映射到“principal.group.group_display_name”。
- 将“PanOSSourceLocation”映射到“principal.location.country_or_region”。
- 将“PanOSThreatCategory”映射到“security_result.category_details”。
- 将“PanOSThreatID”映射到“security_result.threat_id”。
- 将“app”映射到“target.application”。
- 将“cs1”映射到“additional.fields”。
- 将“cs3”映射到“additional.fields”。
- 将“cs4”映射到“additional.fields”。
- 将“cs5”映射到“additional.fields”。
- 将“cs6”映射到“additional.fields”。
- 将“cn1”映射到“additional.fields”。
- 将“sourceTranslatedPort”映射到“principal.port”。
- 将“sourceTranslatedAddress”映射到“principal.ip”。
- 将“destinationTranslatedAddress”映射到“target.ip”。
- 将“destinationTranslatedPort”映射到“target.port”。
- 将“act”映射到“security_result.action_details”。
- 将“deviceExternalId”映射到“security_result.about.asset_id”。
- 将“dvchost”映射到“principal.hostname”。
- 将“proto”映射到“network.ip_protocol”。
- 将“fileId”映射到“target.resource.attribute.labels”。
需要更多帮助?向社区成员和 Google SecOps 专业人士寻求解答。