收集 Palo Alto Cortex XDR 提醒日志
本文档介绍了如何通过设置 Google Security Operations Feed 来收集 Palo Alto Cortex XDR 提醒日志。
如需了解详情,请参阅将数据注入 Google Security Operations。
注入标签标识将原始日志数据标准化为结构化 UDM 格式的解析器。本文档中的信息适用于具有 CORTEX_XDR 注入标签的解析器。
配置 Palo Alto Cortex XDR 提醒
如需配置 Palo Alto Cortex XDR 提醒,请完成以下任务:
获取 Palo Alto Cortex XDR 提醒 API 密钥
- 登录 Cortex XDR 门户。
- 在设置菜单中,点击设置。
- 选择 +新建密钥。
- 在安全等级部分中,选择高级。
- 在角色部分,选择 Viewer。
- 点击生成。
- 复制 API 密钥,然后点击完成。API 密钥代表您的唯一授权密钥,仅在创建时显示。配置 Google Security Operations Feed 时,必须提供此信息。
获取 Palo Alto Cortex XDR 提醒 API 密钥 ID
在配置部分中,依次前往 API 密钥 > ID。请记下您的相应 ID 号,该 ID 号代表 x-xdr-auth-id:{key_id} 令牌。
获取 FQDN
- 前往 API 密钥。
- 点击复制网址。保存该网址,在配置 Google Security Operations Feed 时需要用到。
设置 Feed
如需配置此日志类型,请按以下步骤操作:
- 依次前往设置 > 数据管理 > Feed。如果您使用的是仅 SIEM 平台,请依次前往设置 > Feed。
- 点击添加新新闻信息流。
- 选择 Cortex XDR Feed 包。
配置以下必填输入参数:
- 来源类型:第三方 API(推荐)
- 身份验证 HTTP 标头:提供您之前获取的授权密钥和授权密钥 ID。
- API 主机名:提供您之前获取的网址。
- 端点:指定端点。
高级选项
- Feed 名称:用于标识 Feed 的预填充值。
- 资产命名空间:与 Feed 关联的命名空间。
- 注入标签:应用于此 Feed 中所有事件的标签。
点击创建 Feed。
如需详细了解如何为此产品系列中的不同日志类型配置多个 Feed,请参阅按产品配置 Feed。
如需详细了解 Google Security Operations Feed,请参阅 Google Security Operations Feed 文档。 如需了解每种 Feed 类型的要求,请参阅按类型配置 Feed。
字段映射参考
此解析器会从 Palo Alto Networks Cortex XDR 中提取 JSON 或 SYSLOG(键值对)格式的安全日志,对字段进行标准化,并将其映射到 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 Integration”)。
- 为 API 密钥分配访问所需数据所需的权限。这对于安全性至关重要,可确保密钥仅能访问其所需的内容。请参阅 Cortex XDR 文档,了解您的用例所需的特定权限。
- 安全地存储 API 密钥。您在配置 Google SecOps Feed 时需要用到此信息。这是您唯一一次看到完整密钥的机会,因此请务必立即复制。
- (可选)为 API 密钥配置失效日期,以提高安全性。
第 2 部分:在 Google SecOps 中配置 Feed
生成 API 密钥后,在 Google SecOps 中配置 Feed,以从 Cortex XDR 接收数据:
- 依次前往设置 > 数据管理 > Feed。如果您使用的是仅 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 |
如果为“Malware”,则设置为“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 |
前缀为“设备外部 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”且值来自日志字段的标签。 |
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 |
直接映射。 |
更新日志
需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。