收集 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 门户。
- 在设置菜单中,点击设置。
- 选择 + 新建密钥。
- 在安全级别部分中,选择高级。
- 在角色部分中,选择查看者。
- 点击生成。
- 复制该 API 密钥,然后点击完成。API 密钥是您唯一的授权密钥,仅在创建时显示。配置 Google Security Operations Feed 时,此字段是必需的。
获取 Palo Alto Cortex XDR 提醒 API 密钥 ID
在配置部分中,依次前往 API 密钥 > ID。记下相应的 ID 编号,该编号表示 x-xdr-auth-id:{key_id}
令牌。
获取 FQDN
- 前往 API 密钥。
- 点击复制网址。保存该网址,以便在配置 Google Security Operations Feed 时使用。
设置 Feed
您可以通过两种不同的入口点在 Google SecOps 平台中设置 Feed:
- SIEM 设置 > Feed
- 内容中心 > 内容包
通过“SIEM 设置”>“Feed”设置 Feed
如需为相应产品系列中的不同日志类型配置多个 Feed,请参阅按产品配置 Feed。
如需配置单个 Feed,请按以下步骤操作:
- 依次前往 SIEM 设置> Feed。
- 点击添加新 Feed。
- 在下一页上,点击配置单个 Feed。
- 在 Feed 名称字段中,输入 Feed 的名称;例如,Palo Alto Cortex XDR 提醒日志。
- 选择第三方 API 作为来源类型。
- 选择 Palo Alto Cortex XDR 提醒作为日志类型。
- 点击下一步。
- 配置以下必需的输入参数:
- 身份验证 HTTP 标头:提供您之前获得的授权密钥和授权密钥 ID。
- API 主机名:提供您之前获得的网址。
- 端点:指定端点。
- 点击下一步,然后点击提交。
如需详细了解 Google Security Operations Feed,请参阅 Google Security Operations Feed 文档。 如需了解每种 Feed 类型的要求,请参阅按类型划分的 Feed 配置。
设置来自内容中心的 Feed
为以下字段指定值:
- 身份验证 HTTP 标头:提供您之前获得的授权密钥和授权密钥 ID。
- API 主机名:提供您之前获得的网址。
- 端点:指定端点。
高级选项
- Feed 名称:用于标识 Feed 的预填充值。
- 来源类型:用于将日志收集到 Google SecOps 中的方法。
- 资产命名空间:与 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 集成”)。
- 为 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 Key:粘贴您之前生成的 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 |
以“设备外部 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 专业人士那里获得解答。