收集 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
如需配置此日志类型,请按以下步骤操作:
- 依次前往 SIEM 设置> Feed。
- 点击添加新 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 集成”)。
- 为 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 专业人士那里获得解答。