收集 Palo Alto Prisma Cloud 警報記錄
總覽
這個剖析器會從 Palo Alto Prisma Cloud 擷取 JSON 格式的快訊記錄,並轉換為 UDM。剖析器會執行資料正規化、類型轉換和條件邏輯,以填入適當的 UDM 欄位。此外,這項工具還會處理記錄資料中的巢狀 JSON 結構和陣列,以擷取相關資訊。
事前準備
請確認您已完成下列事前準備事項:
- Google SecOps 執行個體。
- Palo Alto Prisma Cloud 的特殊權限。
設定動態饋給
在 Google SecOps 平台中,有兩種不同的進入點可設定動態饋給:
- 「SIEM 設定」>「動態消息」
- 內容中心 > 內容包
依序前往「SIEM 設定」>「動態饋給」,設定動態饋給
如要設定動態消息,請按照下列步驟操作:
- 依序前往「SIEM 設定」>「動態消息」。
- 按一下「新增動態消息」。
- 在下一個頁面中,按一下「設定單一動態饋給」。
- 在「動態消息名稱」欄位中,輸入動態消息的名稱,例如「PAN Prisma Cloud Alerts」。
- 選取「Webhook」做為「來源類型」。
- 選取「Palo Alto Prisma Cloud 快訊有效負載」做為「記錄類型」。
- 點選「下一步」。
- 選用:指定下列輸入參數的值:
- 分割分隔符號:用於分隔記錄行的分隔符號,例如
\n
。
- 分割分隔符號:用於分隔記錄行的分隔符號,例如
- 點選「下一步」。
- 在「Finalize」畫面中檢查動態饋給設定,然後按一下「Submit」。
- 按一下「產生密鑰」,產生驗證這個動態消息的密鑰。
- 複製並儲存密鑰。您無法再次查看這個密鑰。如有需要,您可以重新產生新的密鑰,但這項操作會使先前的密鑰失效。
- 在「詳細資料」分頁中,從「端點資訊」欄位複製動態消息端點網址。您需要在用戶端應用程式中指定這個端點網址。
- 按一下 [完成]。
從內容中心設定動態饋給
為下列欄位指定值:
- 分割分隔符號:用於分隔記錄行的分隔符號,例如
\n
。
進階選項
- 動態饋給名稱:系統預先填入的值,用於識別動態饋給。
- 來源類型:將記錄收集到 Google SecOps 的方法。
- 資產命名空間:與動態饋給相關聯的命名空間。
擷取標籤:套用至這個動態饋給所有事件的標籤。
按一下「產生密鑰」,產生驗證這個動態消息的密鑰。
複製並儲存密鑰。您無法再次查看這個密鑰。如有需要,您可以重新產生新的密鑰,但這項操作會使先前的密鑰失效。
在「詳細資料」分頁中,從「端點資訊」欄位複製動態消息端點網址。您需要在用戶端應用程式中指定這個端點網址。
為 Webhook 資訊提供建立 API 金鑰
前往 Google Cloud 控制台 > 憑證。
按一下 [Create credentials] (建立憑證),然後選取 [API key] (API 金鑰)。
將 API 金鑰存取權限制在 Google Security Operations API。
指定端點網址
- 在用戶端應用程式中,指定 webhook 動態饋給中提供的 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
:動態消息端點網址。API_KEY
:用於向 Google Security Operations 進行驗證的 API 金鑰。SECRET
:您產生的密鑰,用於驗證動態饋給。
將 Palo Alto Prisma Cloud Webhook 設定為 Google SecOps
- 登入 Palo Alto Prisma Cloud。
- 依序選取「設定」>「整合與通知」 ((and_then))「整合」。
- 按一下「新增整合」。
- 選取「Webhook」。
- 指定下列輸入參數的值:
- 整合名稱:提供獨一無二的描述性名稱 (例如「Google SecOps」)
- Webhook 網址:輸入 ENDPOINT_URL。
- 選用:提供整合功能的說明。
- 選用:啟用「自訂酬載」> 按一下「下一步」,即可查看或修改自訂酬載。
- 點選「下一步」。
- 測試並儲存整合。
設定 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 |
索引鍵設為「alert 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 |
索引鍵設為「alert status」。 |
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 |
索引鍵設為「policy recommendation」。 |
policyRecommendation |
security_result.detection_fields[].value |
原始記錄中的 policyRecommendation 值。 |
policyType |
security_result.detection_fields[].key |
金鑰設為「Policy Type」。 |
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 |
索引鍵設為「resource 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 |
金鑰會設為「resource data {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 |
金鑰設為「resource rrn」。 |
resource.rrn |
principal.resource.attribute.labels[].value |
原始記錄中的 resource.rrn 值。 |
resource.url |
principal.url |
原始記錄中的 resource.url 值。 |
resourceCloudService |
principal.resource.attribute.labels[].key |
金鑰設為「resource cloud service」。 |
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 專業人員尋求答案。