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 é |
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 |
---|---|
|
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 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 é |
Event Field Name |
Obrigatório O nome do campo de origem para recuperar o nome do campo de evento. O valor padrão é |
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 Use o valor padrão 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 é |
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:
|
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.