Palo Alto Networks Prisma Cloud
本文提供指南,說明如何整合 Palo Alto Networks Prisma Cloud 與 Google Security Operations 的 SOAR 模組。在 Google SecOps 平台中,Palo Alto Networks Prisma Cloud 的整合功能稱為「Palo Alto Prisma Cloud」。
整合版本:3.0
整合 Prisma Cloud 與 Google SecOps
整合作業需要下列參數:
參數 | 說明 |
---|---|
API Root |
必要 Prisma Cloud 執行個體的 API 根目錄。 預設值為 |
Access Key ID |
必要 Prisma Cloud 帳戶的存取金鑰 ID。 |
Secret Access Key |
必要 Prisma Cloud 帳戶的存取密鑰。 |
Verify SSL |
必要 如果選取這個選項,Google SecOps 會驗證連線至 Prisma Cloud 伺服器的 SSL 憑證是否有效。 (此為預設選項)。 |
如有需要,您可以在稍後階段進行變更。設定 Prisma Cloud 執行個體後,您可以在劇本中使用該執行個體。如要瞭解如何設定及支援多個 Prisma Cloud 執行個體,請參閱「支援多個執行個體」。
如需在 Google SecOps 中設定整合功能的操作說明,請參閱「設定整合功能」。
動作
以下列出 Prisma Cloud 整合功能可執行的動作:
充實資產
使用 Prisma Cloud 充實資源資訊。
這項操作不會在 Google SecOps 實體上執行。如要進一步瞭解支援的實體,請參閱「我們支援哪些實體類型」。
動作輸入內容
這項動作需要下列參數:
參數 | 說明 |
---|---|
Asset Identifiers |
必要 以半形逗號分隔的資產 ID 清單,用於擷取詳細資料。 資產 ID 或資產受限資源名稱 (RRN)。 |
動作輸出內容
這個動作會提供下列輸出內容:
動作輸出類型 | 動作輸出內容可用性 |
---|---|
案件總覽附件 | 無法使用 |
案件總覽連結 | 無法使用 |
案件訊息牆表格 | 無法使用 |
補充資訊表格 | 無法使用 |
JSON 結果 | 可用 |
指令碼結果 | 可用 |
輸出訊息 | 可用 |
JSON 結果
以下範例說明使用「Enrich Assets」動作時收到的 JSON 結果輸出內容:
{
"id":"2dcffa4a51d892bcf48ed80652e75650",
"externalAssetId":"5115585594921894848",
"cloudType":"gcp",
"createdTs":1707216238063,
"insertTs":1707216238063,
"dynamicData":null,
"data":{
"id":"5115585594921894848",
"kind":"compute#instance",
"name":"example-name-rgmn",
"tags":{
"items":[
"example-name"
],
"fingerprint":"ycXN3kijHZc="
},
"zone":"https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/us-central1-a",
"disks":[
{
"boot":true,
"kind":"compute#attachedDisk",
"mode":"READ_WRITE",
"type":"PERSISTENT",
"index":0,
"source":"https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/us-central1-a/disks/example-name-rgmn",
"licenses":[
"https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/global/licenses/LICENSE_ID"
],
"interface":"SCSI",
"autoDelete":true,
"deviceName":"persistent-disk-0",
"diskSizeGb":"30",
"architecture":"X86_64",
"guestOsFeatures":[
{
"type":"GVNIC"
},
{
"type":"SEV_CAPABLE"
},
{
"type":"UEFI_COMPATIBLE"
},
{
"type":"VIRTIO_SCSI_MULTIQUEUE"
}
],
"shieldedInstanceInitialState":{
"dbxs":[
]
}
}
],
"labels":{
"goog-ccm":"true",
"goog-solutions-console-solution-id":"java-application",
"goog-solutions-console-deployment-name":"java-application"
},
"status":"RUNNING",
"metadata":{
"kind":"compute#metadata",
"items":[
{
"key":"created-by",
"value":"projects/PROJECT_ID/regions/us-central1/instanceGroupManagers/example-name"
},
{
"key":"instance-template",
"value":"projects/PROJECT_ID/global/instanceTemplates/xwiki-us-central1-a-temp"
},
{
"key":"startup-script",
"value":"#! /bin/bash\n\nsed -i \"s/$(echo JGROUP_BUCKET | sed -e 's/\\([[\/.*]\\|\\]\\)/\\\\&/g')/$(echo xwiki-jgroup-PROJECT_ID-gce | sed -e 's/[\/&]/\\\\&/g')/g\" /usr/lib/xwiki/WEB-INF/observation/remote/jgroups/tcp.xml\nsed -i \"s/$(echo ACCESS_KEY | sed -e 's/\\([[\/.*]\\|\\]\\)/\\\\&/g')/$(echo GOOG1E | sed -e 's/[\/&]/\\\\&/g')/g\" /usr/lib/xwiki/WEB-INF/observation/remote/jgroups/tcp.xml\nsed -i \"s/$(echo SECRET_KEY | sed -e 's/\\([[\/.*]\\|\\]\\)/\\\\&/g')/$(echo IvgTtIJJq+68sI9XISo2qMXGyONmFDf7U9QuegN/ | sed -e 's/[\/&]/\\\\&/g')/g\" /usr/lib/xwiki/WEB-INF/observation/remote/jgroups/tcp.xml\n\nDB_PASS=\"$(gcloud secrets versions access --secret xwiki-db-password latest --project PROJECT_NAME)\"\n\nbash /home/xwiki_startup.sh \"203.0.113.2\" \"xwiki\" \"${DB_PASS}\" \"203.0.113.242\"\nbash /home/xwiki_deploy_flavor.sh \"203.0.113.2\" \"xwiki\" \"${DB_PASS}\" \"203.0.113.242\"\n"
}
],
"fingerprint":"_s0ui1yxFME="
},
"selfLink":"https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/us-central1-a/instances/example-name-rgmn",
"scheduling":{
"preemptible":false,
"automaticRestart":true,
"onHostMaintenance":"MIGRATE",
"provisioningModel":"STANDARD"
},
"cpuPlatform":"Intel Cascade Lake",
"fingerprint":"YBMt5z3lxpI=",
"machineType":"https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/us-central1-a/machineTypes/n2-standard-2",
"minCpuPlatform":"Intel Cascade Lake",
"serviceAccounts":[
{
"email":"example@developer.gserviceaccount.com",
"scopes":[
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/compute",
"https://www.googleapis.com/auth/devstorage.full_control",
"https://www.googleapis.com/auth/devstorage.read_only",
"https://www.googleapis.com/auth/logging.write",
"https://www.googleapis.com/auth/monitoring.write",
"https://www.googleapis.com/auth/service.management.readonly",
"https://www.googleapis.com/auth/servicecontrol",
"https://www.googleapis.com/auth/trace.append"
]
}
],
"startRestricted":false,
"labelFingerprint":"Cy_Kdpu4cz8=",
"creationTimestamp":"2024-02-05T16:28:31.856-08:00",
"networkInterfaces":[
{
"kind":"compute#networkInterface",
"name":"nic0",
"network":"https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/global/networks/NETWORK_ID",
"networkIP":"203.0.113.2",
"stackType":"IPV4_ONLY",
"subnetwork":"https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/us-central1/subnetworks/SUBNETWORK_ID",
"fingerprint":"lpKHF5wzhv4="
}
],
"deletionProtection":false,
"lastStartTimestamp":"2024-02-05T16:28:47.038-08:00",
"shieldedInstanceConfig":{
"enableVtpm":true,
"enableSecureBoot":false,
"enableIntegrityMonitoring":true
},
"shieldedInstanceIntegrityPolicy":{
"updateAutoLearnPolicy":true
}
},
"name":"example-name-rgmn",
"regionId":"us-central1",
"regionName":"US",
"riskGrade":"B",
"stateId":null,
"url":"https://console.cloud.google.comhttps://console.cloud.google.com/compute/instancesDetail/zones/us-central1-a/instances/example-name-rgmn?project=PROJECT_NAME",
"vpcId":null,
"vpcName":null,
"relationshipCounts":1,
"vulnerabilityCounts":{
"critical":17,
"high":38,
"knownExploits":{
"critical":0,
"high":0,
"low":0,
"medium":0
},
"low":31,
"medium":59,
"old":{
"critical":0,
"high":0,
"low":0,
"medium":0
},
"patchable":{
"critical":17,
"high":38,
"low":5,
"medium":26
}
},
"vpcExternalAssetId":null,
"tags":{
"goog-ccm":true,
"xwiki-us-central1-autoscale":"",
"goog-solutions-console-deployment-name":"java-application",
"goog-solutions-console-solution-id":"java-application"
},
"assetType":"Google Compute Engine VM Instance",
"serviceName":"Google Compute Engine",
"resourceType":"Google Compute Engine VM Instance",
"accountGroup":"account",
"accountName":"Example-Name",
"assetClassId":"compute",
"assetClass":"Compute",
"deleted":false,
"problem":[
],
"alertsCount":[
{
"count":5,
"severity":"high"
},
{
"count":3,
"severity":"critical"
},
{
"count":2,
"severity":"low"
}
],
"attributes":{
"altAssetId":"example-name-rgmn.us-central1-a.c.PROJECT_NAME.internal",
"name":"example-name-rgmn.us-central1-a.c.PROJECT_NAME.internal",
"provider":"gcp",
"accountID":"example-account",
"region":"us-central1-a",
"resourceName":"5115585594921894848",
"osRelease":"focal",
"osDistro":"ubuntu",
"distro":"Ubuntu 20.04.5 LTS",
"scannedBy":"Agentless",
"docker":"",
"kubernetes":"",
"cluster":"",
"vmImage":"hsa-xwiki-vm-img-latest",
"collections":[
"All"
],
"scanPassed":true,
"stage":"run",
"lastScanTime":"2024-02-12T18:25:39.39Z"
},
"alertCountBySeverity":[
{
"severity":"high",
"count":5
},
{
"severity":"critical",
"count":3
},
{
"severity":"low",
"count":2
}
]
}
指令碼結果
下表說明使用「Enrich Assets」動作時,指令碼結果輸出的值:
指令碼結果名稱 | 值 |
---|---|
is_success | True 或 False |
輸出訊息
在案件總覽中,「豐富資產」動作會提供下列輸出訊息:
輸出訊息 | 訊息說明 |
---|---|
|
動作成功。 |
Error executing action "Enrich Assets". Reason:
ERROR_REASON |
動作失敗。 檢查伺服器的連線、輸入參數或憑證。 |
乒乓
使用這項動作測試與 Prisma Cloud 伺服器的連線。
動作輸入內容
無
動作輸出內容
這個動作會提供下列輸出內容:
動作輸出類型 | 動作輸出內容可用性 |
---|---|
案件總覽附件 | 無法使用 |
案件總覽連結 | 無法使用 |
案件訊息牆表格 | 無法使用 |
補充資訊表格 | 無法使用 |
JSON 結果 | 無法使用 |
指令碼結果 | 可用 |
輸出訊息 | 可用 |
指令碼結果
下表說明使用 Ping 動作時,指令碼結果輸出的值:
指令碼結果名稱 | 值 |
---|---|
is_success | True 或 False |
輸出訊息
在案件總覽頁面中,「Ping」動作會提供下列輸出訊息:
輸出訊息 | 訊息說明 |
---|---|
Successfully connected to the Palo Alto Prisma Cloud server with
the provided connection parameters! |
動作成功。 |
Failed to connect to the Palo Alto Prisma Cloud server! Error is
ERROR_REASON |
動作失敗。 檢查伺服器的連線、輸入參數或憑證。 |
回覆快訊
使用 Prisma Cloud 回應快訊。
這項操作不會在 Google SecOps 實體上執行。如要進一步瞭解支援的實體,請參閱「我們支援哪些實體類型」。
動作輸入內容
這項動作需要下列參數:
參數 | 說明 |
---|---|
Alert ID |
必要 回覆警示的 ID。 |
Response Type |
選用 快訊狀態。 如果選取
|
Snooze Time |
選用 延後時間 (以小時為單位)。 |
Dismiss Note |
選用 附註,說明為何要駁回。 |
動作輸出內容
這個動作會提供下列輸出內容:
動作輸出類型 | 動作輸出內容可用性 |
---|---|
案件總覽附件 | 無法使用 |
案件總覽連結 | 無法使用 |
案件訊息牆表格 | 無法使用 |
補充資訊表格 | 無法使用 |
JSON 結果 | 可用 |
指令碼結果 | 可用 |
輸出訊息 | 可用 |
JSON 結果
以下範例說明使用「回應快訊」動作時收到的 JSON 結果輸出內容:
{
"response_status": {"Reopened", "Snoozed", "Dismissed", "Remediated", "No Remediation Applied."}
}
指令碼結果
下表說明使用「回應快訊」動作時,指令碼結果輸出的值:
指令碼結果名稱 | 值 |
---|---|
is_success | True 或 False |
輸出訊息
在案件總覽頁面中,「Ping」動作會提供下列輸出訊息:
輸出訊息 | 訊息說明 |
---|---|
Successfully responded to an alert with ID
ALERT_ID in Palo Alto Prisma
Cloud. |
動作成功。 |
Error executing action "Respond To Alert". Reason: Alert with
ID ALERT_ID wasn't found in Palo
Alto Prisma Cloud. Please check the spelling. |
動作失敗。 找不到快訊。檢查拼字。 |
Error executing action "Respond To Alert". Reason: The Response
Type parameter is misconfigured. Select a valid value for the Response
Type parameter. |
動作失敗。 檢查「回應類型」參數值。 |
Error executing action "Respond To Alert". Reason: Action
couldn't respond to alert with ID
ALERT_ID in Palo Alto Prisma Cloud.
Please check the action configuration parameters. |
動作失敗。 檢查輸入參數值。 |
Error executing action "Respond To Alert". Reason:
The Response Type parameter was set to "Snooze". Make sure that the Snooze
Time parameter value is configured and valid. |
動作失敗。 檢查「暫緩時間」參數值。 |
Error executing action "Respond To Alert". Reason:
ERROR_REASON |
動作失敗。 檢查伺服器的連線、輸入參數或憑證。 |
連接器
如需在 Google SecOps 中設定連接器的詳細操作說明,請參閱「設定連接器」。
Palo Alto Prisma Cloud - Alerts Connector
使用這個連接器從 Prisma Cloud 提取快訊。
動態清單會搭配 policy.name 參數運作,如下列範例所示:
"filters": [
{
"operator": "=",
"name": "policy.name",
"value": "Google Cloud VM instance that is internet reachable with unrestricted access (203.0.113.0/24)"
},
{
"operator": "=",
"name": "policy.name",
"value": "Compute Engine with IAM write access level"
}
]
連接器輸入內容
連接器需要下列參數:
參數 | 說明 |
---|---|
Product Field Name |
必要 要擷取產品欄位名稱的來源欄位名稱。 預設值為 |
Event Field Name |
必要 要擷取事件欄位名稱的來源欄位名稱。 預設值為 |
Environment Field Name |
選填
儲存環境名稱的欄位名稱。 如果找不到環境欄位,系統會將環境設為預設環境。 |
Environment Regex Pattern |
選填
要在 使用預設值 如果規則運算式模式為空值或空白,或環境值為空值,最終環境結果就是預設環境。 |
API Root |
必要
Prisma Cloud 執行個體的 API 根目錄。 預設值為 |
Access Key ID |
必要
Prisma Cloud 帳戶的存取金鑰 ID。 |
Secret Access Key |
必要
Prisma Cloud 帳戶的存取密鑰。 |
Lowest Severity to Fetch |
選填
要擷取的最低快訊嚴重程度。 如果未提供任何值,連接器會擷取所有嚴重程度的快訊。 可能的值包括:
|
Max Hours Backwards |
選用 連接器首次開始擷取事件前的小時數。首次啟用連接器後,這個參數只會套用至初始連接器疊代。 預設值為 1 小時。 |
Max Alerts To Fetch |
選填
單一連接器疊代中要處理的快訊數量。 預設值為 100。最大值為 1000。 |
Use dynamic list as a blocklist |
必要
如果選取,動態清單會做為封鎖清單使用。 預設為未選取。 |
Verify SSL |
必要
如果選取這個選項,Google SecOps 會驗證連線至 Prisma Cloud 伺服器的 SSL 憑證是否有效。 預設為未選取。 |
Proxy Server Address |
選用 要使用的 Proxy 伺服器位址。 |
Proxy Username |
選用 用於驗證的 Proxy 使用者名稱。 |
Proxy Password |
選用 用於驗證的 Proxy 密碼。 |
連接器事件
以下是連接器事件的範例:
{
"id": "ID",
"status": "open",
"reason": "NEW_ALERT",
"firstSeen": 1706971601230,
"lastSeen": 1706971601230,
"alertTime": 1706971601230,
"lastUpdated": 1707806767098,
"saveSearchId": "b1ccf7df-d2c8-4588-8d06-b62738fd9745",
"policy": {
"policyId": "45488d62-6abe-4938-9b7a-aaa44858540e",
"name": "Data destruction risk due to a publicly exposed and vulnerable Google Cloud VM instance with delete permissions",
"policyType": "attack_path",
"systemDefault": true,
"description": "This policy idnces as soon as possible.",
"severity": "critical",
"recommendation": "The followinge vulnerabilities quickly.",
"labels": [
"Prisma_Cloud"
],
"lastModifiedOn": 1702006359544,
"lastModifiedBy": "user@example.com",
"deleted": false,
"findingTypes": [],
"remediable": false
},
"alertRules": [
{
"policyScanConfigId": "9612cba4-4f76-44ec-b11f-9c01ba9a4c04",
"name": "Default Alert Rule",
"enabled": true,
"scanAll": true,
"target": {
"accountGroups": [],
"excludedAccounts": [],
"regions": [],
"tags": []
},
"createdBy": "example@example.com",
"alertRuleNotificationConfig": [],
"allowAutoRemediate": false,
"notifyOnOpen": true,
"notifyOnSnoozed": false,
"notifyOnDismissed": false,
"notifyOnResolved": false
}
],
"resource": {
"id": "ID",
"name": "gke-gke-pc-pool-1-4e52a225-12id",
"account": "Example-Account",
"accountId": "ACCOUNT_ID",
"cloudAccountGroups": [
"Default Account Group"
],
"region": "US",
"regionId": "us-central1",
"resourceType": "INSTANCE",
"resourceApiName": "gcloud-compute-instances-list",
"cloudServiceName": "Google Compute Engine",
"data": {},
"cloudType": "gcp",
"resourceTs": 1706915178410,
"internalResourceId": "INTERNAL_RESOURCE_ID",
"cloudAccountOwners": [
"user1@example.com",
"user2@example.com"
],
"unifiedAssetId": "393924d2b306c07490b19615c6e1a265",
"resourceConfigJsonAvailable": false,
"resourceDetailsAvailable": true
},
"networkAnomaly": false
}
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。