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 根。

默认值为 https://api3.prismacloud.io

Access Key ID 必需

Prisma Cloud 账号的访问密钥 ID。

Secret Access Key 必需

Prisma Cloud 账号的私有访问密钥。

Verify SSL 必需

如果选中此复选框,Google SecOps 会验证与 Prisma Cloud 服务器的连接所用的 SSL 证书是否有效。

此选项将会默认选中。

如有必要,您可以在稍后阶段进行更改。配置 Prisma Cloud 实例后,您可以在 playbook 中使用该实例。如需了解如何配置和支持 Prisma Cloud 的多个实例,请参阅支持多个实例

如需了解如何在 Google SecOps 中配置集成,请参阅配置集成

操作

以下是 Prisma Cloud 集成中可用的操作列表:

丰富素材资源

使用 Prisma Cloud 丰富有关资源的信息。

此操作不适用于 Google SecOps 实体。如需详细了解支持的实体,请参阅我们支持哪些实体类型

操作输入

该操作需要以下参数:

参数 说明
Asset Identifiers 必需

以英文逗号分隔的资产标识符列表,用于指定要获取详细信息的资产。

素材资源标识符可以是素材资源 ID,也可以是素材资源受限资源名称 (RRN)。

操作输出

该操作提供以下输出:

操作输出类型 操作输出可用性
案例墙附件 不可用
案例墙链接 不可用
“支持请求墙”表格 不可用
丰富化表 不可用
JSON 结果 可用
脚本结果 可用
输出消息 可用
JSON 结果

以下示例介绍了使用“丰富素材资源”操作时收到的 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
        }
    ]
}
脚本结果

下表介绍了使用“丰富资产”操作时脚本结果输出的值:

脚本结果名称
is_success True 或 False
输出消息

在案例墙上,“丰富素材资源”操作会提供以下输出消息:

输出消息 消息说明

Successfully enriched the following resources using information from Palo Alto Prisma Cloud: ASSET_ID

Action wasn't able to enrich the following assets using information from Palo Alto Prisma Cloud: ASSET_ID

None of the provided assets were enriched.

操作成功。
Error executing action "Enrich Assets". Reason: ERROR_REASON

操作失败。

检查与服务器的连接、输入参数或凭据。

Ping

使用此操作测试与 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 值,则必须设置延迟时间参数。

可能的值:
  • 关闭
  • 延后
  • 重新打开
  • 修复
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 - 提醒连接器

使用此连接器从 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 必需

用于检索产品字段名称的源字段名称。

默认值为 policy_policyType

Event Field Name 必需

用于检索事件字段名称的源字段名称。

默认值为 resource_cloudType

Environment Field Name 可选

存储环境名称的字段的名称。

如果找不到环境字段,则将环境设置为默认环境。

Environment Regex Pattern 可选

要对 Environment Field Name 字段中的值运行的正则表达式模式。此参数可让您使用正则表达式逻辑来操纵环境字段。

使用默认值 .* 可检索所需的原始 Environment Field Name 值。

如果正则表达式模式为 null 或空,或者环境值为 null,则最终环境结果为默认环境。

API Root 必需

Prisma Cloud 实例的 API 根。

默认值为 https://api3.prismacloud.io

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 Username 可选

用于进行身份验证的代理用户名。

Proxy Password 可选

用于进行身份验证的代理密码。

连接器事件

以下是连接器事件的示例:

{
 "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 专业人士那里获得解答。