Palo Alto Networks Prisma Cloud

Questo documento fornisce indicazioni su come integrare Palo Alto Networks Prisma Cloud con il modulo SOAR di Google Security Operations. Nella piattaforma Google SecOps, l'integrazione per Palo Alto Networks Prisma Cloud è chiamata Palo Alto Prisma Cloud.

Versione integrazione: 3.0

Integra Prisma Cloud con Google SecOps

L'integrazione richiede i seguenti parametri:

Parametro Descrizione
API Root Obbligatorio

La radice dell'API dell'istanza Prisma Cloud.

Il valore predefinito è https://api3.prismacloud.io.

Access Key ID Obbligatorio

L'ID chiave di accesso dell'account Prisma Cloud.

Secret Access Key Obbligatorio

La chiave di accesso segreta dell'account Prisma Cloud.

Verify SSL Obbligatorio

Se selezionata, Google SecOps verifica che il certificato SSL per la connessione al server Prisma Cloud sia valido.

Questa opzione è selezionata per impostazione predefinita.

Se necessario, potrai apportare modifiche in un secondo momento. Dopo aver configurato un'istanza di Prisma Cloud, puoi utilizzarla nei playbook. Per informazioni sulla configurazione e sul supporto di più istanze di Prisma Cloud, vedi Supporto di più istanze.

Per istruzioni su come configurare un'integrazione in Google SecOps, consulta la sezione Configurare le integrazioni.

Azioni

Di seguito è riportato l'elenco delle azioni disponibili nell'integrazione di Prisma Cloud:

Arricchisci gli asset

Utilizza Prisma Cloud per arricchire le informazioni su una risorsa.

Questa azione non viene eseguita sulle entità Google SecOps. Per ulteriori informazioni sulle entità supportate, vedi Quali tipi di entità supportiamo.

Input azione

L'azione richiede i seguenti parametri:

Parametro Descrizione
Asset Identifiers Obbligatorio

Un elenco separato da virgole di identificatori delle risorse per cui vuoi recuperare i dettagli.

Un identificatore della risorsa è un ID risorsa o un nome risorsa con limitazioni (RRN) della risorsa.

Output dell'azione

L'azione fornisce i seguenti output:

Tipo di output dell'azione Disponibilità dell'output dell'azione
Allegato della bacheca casi Non disponibile
Link alla bacheca richieste Non disponibile
Tabella della bacheca casi Non disponibile
Tabella di arricchimento Non disponibile
Risultato JSON Disponibile
Risultato dello script Disponibile
Messaggi di output Disponibile
Risultato JSON

Il seguente esempio descrive l'output del risultato JSON ricevuto quando si utilizza l'azione Arricchisci asset:

{
    "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
        }
    ]
}
Risultato dello script

La seguente tabella descrive i valori dell'output del risultato dello script quando si utilizza l'azione Arricchisci asset:

Nome del risultato dello script Valore
is_success Vero o falso
Messaggi di output

In una bacheca richieste, l'azione Arricchisci asset fornisce i seguenti messaggi di output:

Messaggio di output Descrizione del messaggio

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.

Azione riuscita.
Error executing action "Enrich Assets". Reason: ERROR_REASON

Azione non riuscita.

Controlla la connessione al server, i parametri di input o le credenziali.

Dindin

Utilizza questa azione per testare la connettività al server Prisma Cloud.

Input azione

Nessuno.

Output dell'azione

L'azione fornisce i seguenti output:

Tipo di output dell'azione Disponibilità dell'output dell'azione
Allegato della bacheca casi Non disponibile
Link alla bacheca richieste Non disponibile
Tabella della bacheca casi Non disponibile
Tabella di arricchimento Non disponibile
Risultato JSON Non disponibile
Risultato dello script Disponibile
Messaggi di output Disponibile
Risultato dello script

La seguente tabella descrive i valori dell'output del risultato dello script quando utilizzi l'azione Ping:

Nome del risultato dello script Valore
is_success Vero o falso
Messaggi di output

In una bacheca richieste, l'azione Ping fornisce i seguenti messaggi di output:

Messaggio di output Descrizione del messaggio
Successfully connected to the Palo Alto Prisma Cloud server with the provided connection parameters! Azione riuscita.
Failed to connect to the Palo Alto Prisma Cloud server! Error is ERROR_REASON

Azione non riuscita.

Controlla la connessione al server, i parametri di input o le credenziali.

Rispondi all'avviso

Utilizza Prisma Cloud per rispondere a un avviso.

Questa azione non viene eseguita sulle entità Google SecOps. Per ulteriori informazioni sulle entità supportate, vedi Quali tipi di entità supportiamo.

Input azione

L'azione richiede i seguenti parametri:

Parametro Descrizione
Alert ID Obbligatorio

ID dell'avviso di risposta.

Response Type Optional

Uno stato di avviso.

Se è selezionato il valore Snooze, è obbligatorio il parametro Ora di posticipo.

Valori possibili:
  • Ignora
  • Posticipa
  • Riapri
  • Correggi
Snooze Time Optional

Il tempo di posticipo in ore.

Dismiss Note Optional

Una nota per giustificare un licenziamento.

Output dell'azione

L'azione fornisce i seguenti output:

Tipo di output dell'azione Disponibilità dell'output dell'azione
Allegato della bacheca casi Non disponibile
Link alla bacheca richieste Non disponibile
Tabella della bacheca casi Non disponibile
Tabella di arricchimento Non disponibile
Risultato JSON Disponibile
Risultato dello script Disponibile
Messaggi di output Disponibile
Risultato JSON

Il seguente esempio descrive l'output del risultato JSON ricevuto quando si utilizza l'azione Rispondi all'avviso:

{
"response_status": {"Reopened", "Snoozed", "Dismissed", "Remediated", "No Remediation Applied."} 
}
Risultato dello script

La tabella seguente descrive i valori dell'output del risultato dello script quando utilizzi l'azione Rispondi all'avviso:

Nome del risultato dello script Valore
is_success Vero o falso
Messaggi di output

In una bacheca richieste, l'azione Ping fornisce i seguenti messaggi di output:

Messaggio di output Descrizione del messaggio
Successfully responded to an alert with ID ALERT_ID in Palo Alto Prisma Cloud. Azione riuscita.
Error executing action "Respond To Alert". Reason: Alert with ID ALERT_ID wasn't found in Palo Alto Prisma Cloud. Please check the spelling.

Azione non riuscita.

L'avviso non è stato trovato. Controlla l'ortografia.

Error executing action "Respond To Alert". Reason: The Response Type parameter is misconfigured. Select a valid value for the Response Type parameter.

Azione non riuscita.

Controlla il valore del parametro Response Type (Tipo di risposta).

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.

Azione non riuscita.

Controlla i valori dei parametri di input.

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.

Azione non riuscita.

Controlla il valore parametro Snooze Time.

Error executing action "Respond To Alert". Reason: ERROR_REASON

Azione non riuscita.

Controlla la connessione al server, i parametri di input o le credenziali.

Connettori

Per istruzioni dettagliate sulla configurazione di un connettore in Google SecOps, vedi Configurazione del connettore.

Palo Alto Prisma Cloud - Alerts Connector

Utilizza questo connettore per estrarre gli avvisi da Prisma Cloud.

L'elenco dinamico funziona con il parametro policy.name, come mostrato nell'esempio seguente:

"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"
 }
]

Input del connettore

Il connettore richiede i seguenti parametri:

Parametro Descrizione
Product Field Name Obbligatorio

Il nome del campo di origine per recuperare il nome del campo prodotto.

Il valore predefinito è policy_policyType.

Event Field Name Obbligatorio

Il nome del campo di origine per recuperare il nome del campo dell'evento.

Il valore predefinito è resource_cloudType.

Environment Field Name Optional

Il nome del campo in cui è memorizzato il nome dell'ambiente.

Se il campo ambiente non viene trovato, l'ambiente viene impostato sull'ambiente predefinito.

Environment Regex Pattern Optional

Un pattern di espressione regolare da eseguire sul valore trovato nel campo Environment Field Name. Questo parametro ti consente di manipolare il campo dell'ambiente utilizzando la logica delle espressioni regolari.

Utilizza il valore predefinito .* per recuperare il valore Environment Field Name non elaborato richiesto.

Se il pattern dell'espressione regolare è nullo o vuoto oppure il valore dell'ambiente è nullo, il risultato finale dell'ambiente è l'ambiente predefinito.

API Root Obbligatorio

La radice dell'API dell'istanza Prisma Cloud.

Il valore predefinito è https://api3.prismacloud.io.

Access Key ID Obbligatorio

L'ID chiave di accesso dell'account Prisma Cloud.

Secret Access Key Obbligatorio

La chiave di accesso segreta dell'account Prisma Cloud.

Lowest Severity to Fetch Optional

La gravità minima degli avvisi da recuperare.

Se non fornisci alcun valore, il connettore acquisisce avvisi con tutte le gravità.

Valori possibili:
  • Critico
  • Alta
  • Medie
  • Bassa
  • Informativo
Max Hours Backwards Optional

Il numero di ore prima che il connettore inizi a recuperare gli incidenti. Questo parametro viene applicato una sola volta all'iterazione iniziale del connettore dopo averlo attivato per la prima volta.

Il valore predefinito è 1 ora.

Max Alerts To Fetch Optional

Il numero di avvisi da elaborare in un'iterazione del connettore.

Il valore predefinito è 100. Il valore massimo è 1000.

Use dynamic list as a blocklist Obbligatorio

Se selezionata, la lista dinamica viene utilizzata come blocklist.

Non selezionato per impostazione predefinita.

Verify SSL Obbligatorio

Se selezionata, Google SecOps verifica che il certificato SSL per la connessione al server Prisma Cloud sia valido.

Non selezionato per impostazione predefinita.

Proxy Server Address Optional

Indirizzo del server proxy da utilizzare.

Proxy Username Optional

Nome utente proxy per l'autenticazione.

Proxy Password Optional

Password del proxy per l'autenticazione.

Eventi del connettore

Di seguito è riportato un esempio di evento del connettore:

{
 "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
}

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.