Prisma Cloud de Palo Alto Networks

En este documento, se proporciona orientación para integrar Palo Alto Networks Prisma Cloud con el módulo de SOAR de Google Security Operations. En la plataforma de SecOps de Google, la integración de Palo Alto Networks Prisma Cloud se llama Palo Alto Prisma Cloud.

Versión de la integración: 3.0

Integra Prisma Cloud en Google SecOps

La integración requiere los siguientes parámetros:

Parámetro Descripción
API Root Obligatorio

Es la raíz de la API de la instancia de Prisma Cloud.

El valor predeterminado es https://api3.prismacloud.io.

Access Key ID Obligatorio

Es el ID de clave de acceso de la cuenta de Prisma Cloud.

Secret Access Key Obligatorio

Es la clave de acceso secreta de la cuenta de Prisma Cloud.

Verify SSL Obligatorio

Si se selecciona esta opción, Google SecOps verifica que el certificado SSL para la conexión al servidor de Prisma Cloud sea válido.

Esta opción se selecciona de forma predeterminada.

Si es necesario, puedes realizar cambios más adelante. Después de configurar una instancia de Prisma Cloud, puedes usarla en los cuadernos de estrategias. Para obtener información sobre cómo configurar y admitir varias instancias de Prisma Cloud, consulta Compatibilidad con varias instancias.

Si quieres obtener instrucciones para configurar una integración en Google SecOps, consulta Configura integraciones.

Acciones

A continuación, se muestra la lista de acciones disponibles en la integración de Prisma Cloud:

Enriquece los recursos

Usa Prisma Cloud para enriquecer la información sobre un recurso.

Esta acción no se ejecuta en las entidades de Google SecOps. Para obtener más información sobre las entidades admitidas, consulta ¿Qué tipos de entidades admitimos?.

Entradas de acción

La acción requiere los siguientes parámetros:

Parámetro Descripción
Asset Identifiers Obligatorio

Es una lista separada por comas de los identificadores de recursos para los que deseas recuperar los detalles.

Un identificador de activo es un ID de activo o un nombre de recurso restringido (RRR) de activo.

Resultados de la acción

La acción proporciona los siguientes resultados:

Tipo de salida de la acción Disponibilidad del resultado de la acción
Adjunto del muro de casos No disponible
Vínculo al muro de casos No disponible
Tabla del muro de casos No disponible
Tabla de enriquecimiento No disponible
Resultado de JSON Disponible
Resultado de secuencia de comandos Disponible
Mensajes de salida Disponible
Resultado de JSON

En el siguiente ejemplo, se describe el resultado JSON que se recibe cuando se usa la acción Enrich Assets:

{
    "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
        }
    ]
}
Resultado de secuencia de comandos

En la siguiente tabla, se describen los valores del resultado de la secuencia de comandos cuando se usa la acción Enrich Assets:

Nombre del resultado de la secuencia de comandos Valor
is_success Verdadero o falso
Mensajes de salida

En un muro de casos, la acción Enriquecer recursos proporciona los siguientes mensajes de salida:

Mensaje de salida Descripción del mensaje

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.

La acción se completó correctamente.
Error executing action "Enrich Assets". Reason: ERROR_REASON

No se pudo realizar la acción.

Verifica la conexión al servidor, los parámetros de entrada o las credenciales.

Ping

Usa esta acción para probar la conectividad con el servidor de Prisma Cloud.

Entradas de acción

Ninguno

Resultados de la acción

La acción proporciona los siguientes resultados:

Tipo de salida de la acción Disponibilidad del resultado de la acción
Adjunto del muro de casos No disponible
Vínculo al muro de casos No disponible
Tabla del muro de casos No disponible
Tabla de enriquecimiento No disponible
Resultado de JSON No disponible
Resultado de secuencia de comandos Disponible
Mensajes de salida Disponible
Resultado de secuencia de comandos

En la siguiente tabla, se describen los valores del resultado de la secuencia de comandos cuando se usa la acción Ping:

Nombre del resultado de la secuencia de comandos Valor
is_success Verdadero o falso
Mensajes de salida

En un muro de casos, la acción Ping proporciona los siguientes mensajes de salida:

Mensaje de salida Descripción del mensaje
Successfully connected to the Palo Alto Prisma Cloud server with the provided connection parameters! La acción se completó correctamente.
Failed to connect to the Palo Alto Prisma Cloud server! Error is ERROR_REASON

No se pudo realizar la acción.

Verifica la conexión al servidor, los parámetros de entrada o las credenciales.

Responder a la alerta

Usa Prisma Cloud para responder a una alerta.

Esta acción no se ejecuta en las entidades de Google SecOps. Para obtener más información sobre las entidades admitidas, consulta ¿Qué tipos de entidades admitimos?.

Entradas de acción

La acción requiere los siguientes parámetros:

Parámetro Descripción
Alert ID Obligatorio

ID de la alerta de respuesta.

Response Type Optional

Es el estado de una alerta.

Si se selecciona el valor Snooze, se requiere el parámetro Tiempo de posponer.

Valores posibles:
  • Descartar
  • Posponer
  • Reabrir
  • Corregir
Snooze Time Optional

Es el tiempo de posposición en horas.

Dismiss Note Optional

Nota para justificar el rechazo.

Resultados de la acción

La acción proporciona los siguientes resultados:

Tipo de salida de la acción Disponibilidad del resultado de la acción
Adjunto del muro de casos No disponible
Vínculo al muro de casos No disponible
Tabla del muro de casos No disponible
Tabla de enriquecimiento No disponible
Resultado de JSON Disponible
Resultado de secuencia de comandos Disponible
Mensajes de salida Disponible
Resultado de JSON

En el siguiente ejemplo, se describe el resultado JSON que se recibe cuando se usa la acción Respond To Alert:

{
"response_status": {"Reopened", "Snoozed", "Dismissed", "Remediated", "No Remediation Applied."} 
}
Resultado de secuencia de comandos

En la siguiente tabla, se describen los valores del resultado de la secuencia de comandos cuando se usa la acción Respond to Alert:

Nombre del resultado de la secuencia de comandos Valor
is_success Verdadero o falso
Mensajes de salida

En un muro de casos, la acción Ping proporciona los siguientes mensajes de salida:

Mensaje de salida Descripción del mensaje
Successfully responded to an alert with ID ALERT_ID in Palo Alto Prisma Cloud. La acción se completó correctamente.
Error executing action "Respond To Alert". Reason: Alert with ID ALERT_ID wasn't found in Palo Alto Prisma Cloud. Please check the spelling.

No se pudo realizar la acción.

No se encontró la alerta. Verifica la ortografía.

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

No se pudo realizar la acción.

Comprueba el valor del parámetro Response Type.

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.

No se pudo realizar la acción.

Verifica los valores de los parámetros de entrada.

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.

No se pudo realizar la acción.

Verifica el valor del parámetro Snooze Time.

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

No se pudo realizar la acción.

Verifica la conexión al servidor, los parámetros de entrada o las credenciales.

Conectores

Si quieres obtener instrucciones detalladas para configurar un conector en Google SecOps, consulta Cómo configurar el conector.

Palo Alto Prisma Cloud: conector de alertas

Usa este conector para extraer alertas de Prisma Cloud.

La lista dinámica funciona con el parámetro policy.name, como se muestra en el siguiente ejemplo:

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

Entradas del conector

El conector requiere los siguientes parámetros:

Parámetro Descripción
Product Field Name Obligatorio

Nombre del campo de origen para recuperar el nombre del campo del producto.

El valor predeterminado es policy_policyType.

Event Field Name Obligatorio

Nombre del campo de origen para recuperar el nombre del campo del evento.

El valor predeterminado es resource_cloudType.

Environment Field Name Optional

Nombre del campo en el que se almacena el nombre del entorno.

Si no se encuentra el campo del entorno, se establece el entorno predeterminado.

Environment Regex Pattern Optional

Es un patrón de expresión regular que se ejecutará en el valor que se encuentra en el campo Environment Field Name. Este parámetro te permite manipular el campo del entorno con la lógica de expresiones regulares.

Usa el valor predeterminado .* para recuperar el valor Environment Field Name sin procesar requerido.

Si el patrón de expresión regular es nulo o está vacío, o si el valor del entorno es nulo, el resultado final del entorno es el entorno predeterminado.

API Root Obligatorio

Es la raíz de la API de la instancia de Prisma Cloud.

El valor predeterminado es https://api3.prismacloud.io.

Access Key ID Obligatorio

Es el ID de clave de acceso de la cuenta de Prisma Cloud.

Secret Access Key Obligatorio

Es la clave de acceso secreta de la cuenta de Prisma Cloud.

Lowest Severity to Fetch Optional

Es la gravedad más baja de las alertas que se recuperarán.

Si no proporcionas ningún valor, el conector ingiere alertas con todos los niveles de gravedad.

Valores posibles:
  • Crítico
  • Alto
  • Medio
  • Baja
  • Informativo
Max Hours Backwards Optional

Cantidad de horas antes de que el conector comience a recuperar incidentes por primera vez. Este parámetro solo se aplica una vez a la iteración inicial del conector después de que lo habilitas por primera vez.

El valor predeterminado es 1 hora.

Max Alerts To Fetch Optional

Es la cantidad de alertas que se procesarán en una iteración del conector.

El valor predeterminado es 100. El valor máximo es 1,000.

Use dynamic list as a blocklist Obligatorio

Si se selecciona, la lista dinámica se usa como lista de bloqueo.

No está seleccionada de forma predeterminada.

Verify SSL Obligatorio

Si se selecciona esta opción, Google SecOps verifica que el certificado SSL para la conexión al servidor de Prisma Cloud sea válido.

No está seleccionada de forma predeterminada.

Proxy Server Address Optional

Dirección del servidor proxy que se usará.

Proxy Username Optional

Nombre de usuario del proxy para la autenticación.

Proxy Password Optional

Contraseña del proxy para la autenticación.

Eventos del conector

A continuación, se muestra un ejemplo de un evento del conector:

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

¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.