Prisma Cloud da Palo Alto Networks

Este documento fornece orientações sobre como integrar o Palo Alto Networks Prisma Cloud ao módulo SOAR do Google Security Operations. Na plataforma Google SecOps, a integração da Palo Alto Networks Prisma Cloud é chamada de Palo Alto Prisma Cloud.

Versão da integração: 3.0

Integrar o Prisma Cloud ao Google SecOps

A integração requer os seguintes parâmetros:

Parâmetro Descrição
API Root Obrigatório

A raiz da API da instância do Prisma Cloud.

O valor padrão é https://api3.prismacloud.io.

Access Key ID Obrigatório

O ID da chave de acesso da conta do Prisma Cloud.

Secret Access Key Obrigatório

A chave de acesso do secret da conta do Prisma Cloud.

Verify SSL Obrigatório

Se selecionada, o Google SecOps verifica se o certificado SSL da conexão com o servidor do Prisma Cloud é válido.

Essa opção é selecionada por padrão.

Você pode fazer mudanças mais tarde, se necessário. Depois de configurar uma instância do Prisma Cloud, é possível usá-la em playbooks. Para informações sobre como configurar e oferecer suporte a várias instâncias do Prisma Cloud, consulte Suporte a várias instâncias.

Para instruções sobre como configurar uma integração no Google SecOps, consulte Configurar integrações.

Ações

Confira a lista de ações disponíveis na integração do Prisma Cloud:

Enriquecer recursos

Use o Prisma Cloud para enriquecer informações sobre um recurso.

Essa ação não é executada em entidades do Google SecOps. Para mais informações sobre as entidades compatíveis, consulte Quais tipos de entidades são compatíveis?.

Entradas de ação

A ação exige os seguintes parâmetros:

Parâmetro Descrição
Asset Identifiers Obrigatório

Uma lista separada por vírgulas de identificadores de recursos para os quais você quer buscar detalhes.

Um identificador de recurso é um ID de recurso ou um nome de recurso restrito (RRN).

Saídas de ação

A ação fornece as seguintes saídas:

Tipo de saída da ação Disponibilidade da saída da ação
Anexo do Painel de Casos Indisponível
Link do Painel de Casos Indisponível
Tabela do painel de casos Indisponível
Tabela de enriquecimento Indisponível
Resultado JSON Disponível
Resultado do script Disponível
Mensagens de saída Disponível
Resultado JSON

O exemplo a seguir descreve a saída do resultado JSON recebida ao usar a ação "Enriquecer recursos":

{
    "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 do script

A tabela a seguir descreve os valores da saída do resultado do script ao usar a ação "Enriquecer recursos":

Nome do resultado do script Valor
is_success True ou false
Mensagens de saída

Em um painel de casos, a ação "Enriquecer recursos" fornece as seguintes mensagens de saída:

Mensagem de resposta Descrição da mensagem

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.

A ação foi concluída.
Error executing action "Enrich Assets". Reason: ERROR_REASON

Falha na ação.

Verifique a conexão com o servidor, os parâmetros de entrada ou as credenciais.

Ping

Use essa ação para testar a conectividade com o servidor do Prisma Cloud.

Entradas de ação

Nenhuma.

Saídas de ação

A ação fornece as seguintes saídas:

Tipo de saída da ação Disponibilidade da saída da ação
Anexo do Painel de Casos Indisponível
Link do Painel de Casos Indisponível
Tabela do painel de casos Indisponível
Tabela de enriquecimento Indisponível
Resultado JSON Indisponível
Resultado do script Disponível
Mensagens de saída Disponível
Resultado do script

A tabela a seguir descreve os valores da saída do resultado do script ao usar a ação "Ping":

Nome do resultado do script Valor
is_success True ou false
Mensagens de saída

Em um quadro de casos, a ação "Ping" fornece as seguintes mensagens de saída:

Mensagem de resposta Descrição da mensagem
Successfully connected to the Palo Alto Prisma Cloud server with the provided connection parameters! A ação foi concluída.
Failed to connect to the Palo Alto Prisma Cloud server! Error is ERROR_REASON

Falha na ação.

Verifique a conexão com o servidor, os parâmetros de entrada ou as credenciais.

Responder ao alerta

Use o Prisma Cloud para responder a um alerta.

Essa ação não é executada em entidades do Google SecOps. Para mais informações sobre as entidades compatíveis, consulte Quais tipos de entidades são compatíveis?.

Entradas de ação

A ação exige os seguintes parâmetros:

Parâmetro Descrição
Alert ID Obrigatório

ID do alerta de resposta.

Response Type Opcional

Um status de alerta.

Se o valor Snooze for selecionado, o parâmetro Tempo de adiamento será obrigatório.

Valores possíveis:
  • Dispensar
  • Adiar
  • Reabrir
  • Corrigir
Snooze Time Opcional

O tempo de adiamento em horas.

Dismiss Note Opcional

Uma observação para justificar uma dispensa.

Saídas de ação

A ação fornece as seguintes saídas:

Tipo de saída da ação Disponibilidade da saída da ação
Anexo do Painel de Casos Indisponível
Link do Painel de Casos Indisponível
Tabela do painel de casos Indisponível
Tabela de enriquecimento Indisponível
Resultado JSON Disponível
Resultado do script Disponível
Mensagens de saída Disponível
Resultado JSON

O exemplo a seguir descreve a saída do resultado JSON recebida ao usar a ação "Responder ao alerta":

{
"response_status": {"Reopened", "Snoozed", "Dismissed", "Remediated", "No Remediation Applied."} 
}
Resultado do script

A tabela a seguir descreve os valores da saída do resultado do script ao usar a ação "Responder ao alerta":

Nome do resultado do script Valor
is_success True ou false
Mensagens de saída

Em um quadro de casos, a ação "Ping" fornece as seguintes mensagens de saída:

Mensagem de resposta Descrição da mensagem
Successfully responded to an alert with ID ALERT_ID in Palo Alto Prisma Cloud. A ação foi concluída.
Error executing action "Respond To Alert". Reason: Alert with ID ALERT_ID wasn't found in Palo Alto Prisma Cloud. Please check the spelling.

Falha na ação.

O alerta não foi encontrado. Verifique a ortografia.

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

Falha na ação.

Verifique o valor do parâmetro Tipo de resposta.

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.

Falha na ação.

Verifique os valores dos 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.

Falha na ação.

Verifique o valor do parâmetro Tempo de adiamento.

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

Falha na ação.

Verifique a conexão com o servidor, os parâmetros de entrada ou as credenciais.

Conectores

Para instruções detalhadas sobre como configurar um conector no Google SecOps, consulte Configurar o conector.

Palo Alto Prisma Cloud: conector de alertas

Use esse conector para extrair alertas do Prisma Cloud.

A lista dinâmica funciona com o parâmetro policy.name, conforme mostrado no exemplo a seguir:

"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 do conector

O conector exige os seguintes parâmetros:

Parâmetro Descrição
Product Field Name Obrigatório

O nome do campo de origem para recuperar o nome do campo do produto.

O valor padrão é policy_policyType.

Event Field Name Obrigatório

O nome do campo de origem para recuperar o nome do campo de evento.

O valor padrão é resource_cloudType.

Environment Field Name Opcional

O nome do campo em que o nome do ambiente é armazenado.

Se o campo de ambiente não for encontrado, ele será definido como o ambiente padrão.

Environment Regex Pattern Opcional

Um padrão de expressão regular a ser executado no valor encontrado no campo Environment Field Name. Com esse parâmetro, é possível manipular o campo "environment" usando a lógica de expressão regular.

Use o valor padrão .* para extrair o valor Environment Field Name bruto necessário.

Se o padrão de expressão regular for nulo ou vazio, ou se o valor do ambiente for nulo, o resultado final do ambiente será o ambiente padrão.

API Root Obrigatório

A raiz da API da instância do Prisma Cloud.

O valor padrão é https://api3.prismacloud.io.

Access Key ID Obrigatório

O ID da chave de acesso da conta do Prisma Cloud.

Secret Access Key Obrigatório

A chave de acesso secreta da conta do Prisma Cloud.

Lowest Severity to Fetch Opcional

A menor gravidade dos alertas a serem buscados.

Se você não informar um valor, o conector vai ingerir alertas de todas as gravidades.

Valores possíveis:
  • Crítico
  • Alta
  • Médio
  • Baixo
  • Informativa
Max Hours Backwards Opcional

O número de horas antes de o conector começar a recuperar incidentes. Esse parâmetro é aplicado apenas uma vez à iteração inicial do conector depois que você o ativa pela primeira vez.

O valor padrão é 1 hora.

Max Alerts To Fetch Opcional

O número de alertas a serem processados em uma iteração do conector.

O valor padrão é 100. O valor máximo é 1.000.

Use dynamic list as a blocklist Obrigatório

Se selecionada, a lista dinâmica será usada como uma lista de bloqueio.

Não selecionada por padrão.

Verify SSL Obrigatório

Se selecionada, o Google SecOps verifica se o certificado SSL da conexão com o servidor do Prisma Cloud é válido.

Não selecionada por padrão.

Proxy Server Address Opcional

Endereço do servidor proxy a ser usado.

Proxy Username Opcional

Nome de usuário do proxy para autenticação.

Proxy Password Opcional

Senha do proxy para autenticação.

Eventos do conector

Confira um exemplo de evento de 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
}

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.