收集 Palo Alto Prisma Cloud 提醒日志
概览
此解析器以 JSON 格式从 Palo Alto Prisma Cloud 中提取提醒日志,并将其转换为 UDM。解析器会执行数据规范化、类型转换和条件逻辑,以填充相应的 UDM 字段。它还会处理日志数据中的嵌套 JSON 结构和数组,以提取相关信息。
准备工作
确保您满足以下前提条件:
- Google SecOps 实例。
- 对 Palo Alto Prisma Cloud 的特权访问权限。
设置 Feed
您可以通过两种不同的入口点在 Google SecOps 平台中设置 Feed:
- SIEM 设置 > Feed
- 内容中心 > 内容包
通过“SIEM 设置”>“Feed”设置 Feed
如需配置 Feed,请按以下步骤操作:
- 依次前往 SIEM 设置 > Feed。
- 点击添加新 Feed。
- 在下一页上,点击配置单个 Feed。
- 在 Feed 名称字段中,输入 Feed 的名称,例如 PAN Prisma Cloud 提醒。
- 选择 Webhook 作为来源类型。
- 选择 Palo Alto Prisma Cloud 提醒载荷作为日志类型。
- 点击下一步。
- 可选:为以下输入参数指定值:
- 拆分分隔符:用于分隔日志行的分隔符,例如
\n
。
- 拆分分隔符:用于分隔日志行的分隔符,例如
- 点击下一步。
- 在最终确定界面中检查 Feed 配置,然后点击提交。
- 点击生成密钥,生成用于对此 Feed 进行身份验证的密钥。
- 复制并存储密钥。您将无法再次查看此密钥。如有需要,您可以重新生成新的 Secret 密钥,但此操作会使之前的 Secret 密钥失效。
- 在详情标签页中,从端点信息字段复制 Feed 端点网址。您需要在客户端应用中指定此端点网址。
- 点击完成。
设置来自内容中心的 Feed
为以下字段指定值:
- 拆分分隔符:用于分隔日志行的分隔符,例如
\n
。
高级选项
- Feed 名称:用于标识 Feed 的预填充值。
- 来源类型:用于将日志收集到 Google SecOps 中的方法。
- 资源命名空间:与 Feed 关联的命名空间。
提取标签:应用于相应 Feed 中所有事件的标签。
点击生成密钥,生成用于对此 Feed 进行身份验证的密钥。
复制并存储密钥。您将无法再次查看此密钥。如有需要,您可以重新生成新的 Secret 密钥,但此操作会使之前的 Secret 密钥失效。
在详情标签页中,从端点信息字段复制 Feed 端点网址。您需要在客户端应用中指定此端点网址。
为 Webhook Feed 创建 API 密钥
前往 Google Cloud 控制台 > 凭据。
点击创建凭据,然后选择 API 密钥。
将 API 密钥访问权限限制为 Google Security Operations API。
指定端点网址
- 在客户端应用中,指定 webhook Feed 中提供的 HTTPS 端点网址。
通过在自定义标头中指定 API 密钥和密钥来启用身份验证,格式如下:
X-goog-api-key = API_KEY X-Webhook-Access-Key = SECRET
建议:将 API 密钥指定为标头,而不是在网址中指定。
如果您的 Webhook 客户端不支持自定义标头,您可以使用以下格式的查询参数指定 API 密钥和密钥:
ENDPOINT_URL?key=API_KEY&secret=SECRET
替换以下内容:
ENDPOINT_URL
:Feed 端点网址。API_KEY
:用于向 Google Security Operations 进行身份验证的 API 密钥。SECRET
:您生成的用于验证 Feed 的密钥。
将 Palo Alto Prisma Cloud Webhook 配置为 Google SecOps
- 登录 Palo Alto Prisma Cloud。
- 依次选择设置 > 集成和通知 ((and_then)) 集成。
- 点击添加集成。
- 选择 Webhook。
- 为以下输入参数指定值:
- 集成名称:提供一个独一无二的描述性名称(例如 Google SecOps)
- Webhook 网址:输入 ENDPOINT_网址。
- 可选:提供集成的说明。
- 可选:启用自定义载荷 > 点击下一步以查看或修改自定义载荷。
- 点击下一步。
- 测试和保存集成。
配置 Palo Alto Prisma Cloud 提醒
- 在 Palo Alto Prisma Cloud 控制台中,依次前往 Alerts > View Alert Rules。
- 选择要修改的现有提醒规则。
- 可选:为 Cloud Infrastructure 创建新提醒。
- 可选:为 Cloud Workload创建新提醒。
- 前往配置通知。
- 选择 Webhook。
- 可选:选择您希望在提醒规则触发提醒时发送通知的渠道。
- 点击下一步。
- 点击保存。
UDM 映射表
日志字段 | UDM 映射 | 逻辑 |
---|---|---|
accountId |
target.resource.id |
原始日志中的 accountId 值。 |
accountId |
target.resource.product_object_id |
原始日志中的 accountId 值。这会替换已弃用的 resource.id 字段。 |
alertId |
security_result.detection_fields[].key |
键设置为“提醒 ID”。 |
alertId |
security_result.detection_fields[].value |
原始日志中的 alertId 值。 |
alertRuleId |
security_result.rule_id |
原始日志中的 alertRuleId 值。 |
alertRuleName |
security_result.rule_name |
原始日志中的 alertRuleName 值。 |
alertStatus |
security_result.detection_fields[].key |
键设置为“提醒状态”。 |
alertStatus |
security_result.detection_fields[].value |
原始日志中的 alertStatus 值。 |
alertTs |
security_result.detection_fields[].key |
键设置为“alertTs”。 |
alertTs |
security_result.detection_fields[].value |
原始日志中的 alertTs 值,已转换为字符串。 |
callbackUrl |
metadata.url_back_to_product |
原始日志中的 callbackUrl 值。 |
cloudType |
principal.cloud.environment |
如果 cloudType 为“gcp”(不区分大小写),则该值设置为“GOOGLE_CLOUD_PLATFORM”。 |
complianceMetadata[].complianceId |
security_result.detection_fields[].key |
键设置为“complianceId”。 |
complianceMetadata[].complianceId |
security_result.detection_fields[].value |
原始日志中的 complianceMetadata[].complianceId 值。 |
complianceMetadata[].customAssigned |
security_result.detection_fields[].key |
键设置为“customAssigned”。 |
complianceMetadata[].customAssigned |
security_result.detection_fields[].value |
原始日志中的 complianceMetadata[].customAssigned 值,已转换为字符串。 |
complianceMetadata[].policyId |
security_result.detection_fields[].key |
键设置为“政策 ID”。 |
complianceMetadata[].policyId |
security_result.detection_fields[].value |
原始日志中的 complianceMetadata[].policyId 值。 |
complianceMetadata[].requirementId |
security_result.rule_id |
原始日志中的 complianceMetadata[].requirementId 值。 |
complianceMetadata[].requirementName |
security_result.summary |
原始日志中的 complianceMetadata[].requirementName 值。 |
complianceMetadata[].requirementViewOrder |
security_result.detection_fields[].key |
键设置为“requirementViewOrder”。 |
complianceMetadata[].requirementViewOrder |
security_result.detection_fields[].value |
原始日志中的 complianceMetadata[].requirementViewOrder 值,已转换为字符串。 |
complianceMetadata[].sectionDescription |
security_result.detection_fields[].key |
键设置为“sectionDescription”。 |
complianceMetadata[].sectionDescription |
security_result.detection_fields[].value |
原始日志中的 complianceMetadata[].sectionDescription 值。 |
complianceMetadata[].sectionId |
security_result.detection_fields[].key |
键设置为“sectionId”。 |
complianceMetadata[].sectionId |
security_result.detection_fields[].value |
原始日志中的 complianceMetadata[].sectionId 值。 |
complianceMetadata[].sectionLabel |
security_result.detection_fields[].key |
键设置为“sectionLabel”。 |
complianceMetadata[].sectionLabel |
security_result.detection_fields[].value |
原始日志中的 complianceMetadata[].sectionLabel 值。 |
complianceMetadata[].sectionViewOrder |
security_result.detection_fields[].key |
键设置为“sectionViewOrder”。 |
complianceMetadata[].sectionViewOrder |
security_result.detection_fields[].value |
原始日志中的 complianceMetadata[].sectionViewOrder 值,已转换为字符串。 |
complianceMetadata[].standardDescription |
security_result.detection_fields[].key |
键设置为“standardDescription”。 |
complianceMetadata[].standardDescription |
security_result.detection_fields[].value |
原始日志中的 complianceMetadata[].standardDescription 值。 |
complianceMetadata[].standardName |
security_result.rule_name |
原始日志中的 complianceMetadata[].standardName 值。 |
complianceMetadata[].systemDefault |
security_result.detection_fields[].key |
键设置为“systemDefault”。 |
complianceMetadata[].systemDefault |
security_result.detection_fields[].value |
原始日志中的 complianceMetadata[].systemDefault 值,已转换为字符串。 |
create_time |
metadata.event_timestamp ,events[].timestamp |
原始日志中的 create_time 值。 |
data.allocationId |
principal.resource.product_object_id |
原始日志中的 data.allocationId 值。 |
data.publicIp |
principal.ip |
原始日志中的 data.publicIp 值。 |
deleted |
additional.fields[].key |
密钥已设置为“已删除”。 |
deleted |
additional.fields[].value.string_value |
原始日志中的 deleted 值,已转换为字符串。 |
description |
metadata.description |
原始日志中的 description 值。 |
firstSeen |
principal.asset.first_seen_time |
原始日志中 firstSeen 的值,解析为时间戳(UNIX_MS 或 UNIX 格式)。 |
hasFinding |
security_result.detection_fields[].key |
键设置为“hasFinding”。 |
hasFinding |
security_result.detection_fields[].value |
原始日志中的 hasFinding 值,已转换为字符串。 |
lastSeen |
principal.asset.last_discover_time |
原始日志中 lastSeen 的值,解析为时间戳(UNIX_MS 或 UNIX 格式)。 |
不适用 | metadata.event_type |
如果未被日志中的特定事件类型覆盖,则设置为“USER_RESOURCE_ACCESS”。否则,请设置为“GENERIC_EVENT”。 |
不适用 | metadata.product_name |
硬编码为“CASB”。 |
不适用 | metadata.vendor_name |
硬编码为“Palo Alto Networks”。 |
policyDescription |
security_result.detection_fields[].key |
键设置为“policyDescription”。 |
policyDescription |
security_result.detection_fields[].value |
原始日志中的 policyDescription 值。 |
policyId |
security_result.detection_fields[].key |
键设置为“政策 ID”。 |
policyId |
security_result.detection_fields[].value |
原始日志中的 policyId 值。 |
policyLabels |
additional.fields[].key |
键设置为“policyLabels”。 |
policyLabels |
additional.fields[].value.string_value |
原始日志中的 policyLabels 值。 |
policyName |
security_result.description |
原始日志中的 policyName 值。 |
policyRecommendation |
security_result.detection_fields[].key |
键设置为“政策建议”。 |
policyRecommendation |
security_result.detection_fields[].value |
原始日志中的 policyRecommendation 值。 |
policyType |
security_result.detection_fields[].key |
键设置为“政策类型”。 |
policyType |
security_result.detection_fields[].value |
原始日志中的 policyType 值。 |
reason |
security_result.summary |
原始日志中的 reason 值。 |
recommendation |
security_result.detection_fields[].key |
该键设置为“推荐”。 |
recommendation |
security_result.detection_fields[].value |
原始日志中的 recommendation 值。 |
resource.additionalInfo |
principal.resource.attribute.labels[].key |
该键设置为“资源 additionalInfo”。 |
resource.additionalInfo |
principal.resource.attribute.labels[].value |
原始日志中的 resource.additionalInfo 值。 |
resource.cloudAccountGroups |
principal.resource.attribute.labels[].key |
键设置为“resource cloudAccountGroups {index}”。 |
resource.cloudAccountGroups |
principal.resource.attribute.labels[].value |
原始日志中的 resource.cloudAccountGroups[] 值。 |
resource.cloudType |
principal.resource.attribute.labels[].key |
键设置为“resource cloudType”。 |
resource.cloudType |
principal.resource.attribute.labels[].value |
原始日志中的 resource.cloudType 值。 |
resource.data |
principal.resource.attribute.labels[].key |
键设置为“资源数据 {nested_key}”。 |
resource.data |
principal.resource.attribute.labels[].value |
原始日志中的 resource.data[] 值。 |
resource.id |
principal.resource.product_object_id |
原始日志中的 resource.id 值。 |
resource.name |
principal.resource.name |
原始日志中的 resource.name 值。 |
resource.region |
principal.location.country_or_region |
原始日志中的 resource.region 值。 |
resource.regionId |
principal.cloud.availability_zone |
原始日志中的 resource.regionId 值。 |
resource.resourceApiName |
principal.resource.attribute.labels[].key |
键设置为“resource resourceApiName”。 |
resource.resourceApiName |
principal.resource.attribute.labels[].value |
原始日志中的 resource.resourceApiName 值。 |
resource.resourceTags |
principal.resource.attribute.labels[].key |
键设置为“resource resourceTags {nested_key}”。 |
resource.resourceTags |
principal.resource.attribute.labels[].value |
原始日志中的 resource.resourceTags[] 值。 |
resource.resourceTs |
principal.resource.attribute.labels[].key |
键设置为“resource resourceTs”。 |
resource.resourceTs |
principal.resource.attribute.labels[].value |
原始日志中的 resource.resourceTs 值。 |
resource.resourceType |
principal.resource.attribute.labels[].key |
键设置为“resource resourceType”。 |
resource.resourceType |
principal.resource.attribute.labels[].value |
原始日志中的 resource.resourceType 值。 |
resource.rrn |
principal.resource.attribute.labels[].key |
该键设置为“资源 RRN”。 |
resource.rrn |
principal.resource.attribute.labels[].value |
原始日志中的 resource.rrn 值。 |
resource.url |
principal.url |
原始日志中的 resource.url 值。 |
resourceCloudService |
principal.resource.attribute.labels[].key |
该键设置为“资源云服务”。 |
resourceCloudService |
principal.resource.attribute.labels[].value |
原始日志中的 resourceCloudService 值。 |
resourceName |
principal.resource.name |
原始日志中的 resourceName 值。 |
resourceRegion |
principal.location.country_or_region |
原始日志中的 resourceRegion 值。 |
resourceRegionId |
principal.cloud.availability_zone |
原始日志中的 resourceRegionId 值。 |
resourceType |
target.resource.resource_subtype |
原始日志中的 resourceType 值。 |
severity |
security_result.severity |
原始日志中的 severity 值,已转换为大写。映射到 UDM 严重程度值(CRITICAL、HIGH、MEDIUM、LOW、INFORMATIONAL)。 |
source |
principal.application |
原始日志中的 source 值。 |
unifiedAssetId |
principal.asset.asset_id |
原始日志中 unifiedAssetId 的值,以“ASSETID:”为前缀。 |
需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。