Coletar registros de alertas do Palo Alto Prisma Cloud

Compatível com:

Visão geral

Esse analisador extrai registros de alertas do Palo Alto Prisma Cloud no formato JSON, transformando-os no UDM. O analisador realiza normalização de dados, conversões de tipo e lógica condicional para preencher os campos adequados do UDM. Ele também processa estruturas JSON aninhadas e matrizes nos dados de registro para extrair informações relevantes.

Antes de começar

Verifique se você atende aos seguintes pré-requisitos:

  • Instância do Google SecOps.
  • Acesso privilegiado ao Prisma Cloud da Palo Alto.

Configurar feeds

Há dois pontos de entrada diferentes para configurar feeds na plataforma do Google SecOps:

  • Configurações do SIEM > Feeds
  • Central de conteúdo > Pacotes de conteúdo

Configure feeds em "Configurações do SIEM" > "Feeds".

Para configurar um feed, siga estas etapas:

  1. Acesse Configurações do SIEM > Feeds.
  2. Clique em Adicionar novo feed.
  3. Na próxima página, clique em Configurar um único feed.
  4. No campo Nome do feed, insira um nome para o feed, por exemplo, Alertas do Prisma Cloud da PAN.
  5. Selecione Webhook como o Tipo de origem.
  6. Selecione Payload de alertas do Palo Alto Prisma Cloud como o Tipo de registro.
  7. Clique em Próxima.
  8. Opcional: especifique valores para os seguintes parâmetros de entrada:
    • Delimitador de divisão: o delimitador usado para separar linhas de registro, como \n.
  9. Clique em Próxima.
  10. Revise a configuração do feed na tela Finalizar e clique em Enviar.
  11. Clique em Gerar chave secreta para autenticar o feed.
  12. Copie e armazene a chave secreta. Não é possível ver essa chave secreta novamente. Se necessário, você pode gerar uma nova chave secreta, mas isso torna a anterior obsoleta.
  13. Na guia Detalhes, copie o URL do endpoint do feed no campo Informações do endpoint. É necessário especificar esse URL de endpoint no aplicativo cliente.
  14. Clique em Concluído.

Configurar feeds na Central de conteúdo

Especifique valores para os seguintes campos:

  • Delimitador de divisão: o delimitador usado para separar linhas de registro, como \n.

Opções avançadas

  • Nome do feed:um valor pré-preenchido que identifica o feed.
  • Tipo de origem:método usado para coletar registros no Google SecOps.
  • Namespace do recurso:namespace associado ao feed.
  • Rótulos de ingestão:rótulos aplicados a todos os eventos deste feed.

  • Clique em Gerar chave secreta para autenticar o feed.

  • Copie e armazene a chave secreta. Não é possível ver essa chave secreta novamente. Se necessário, você pode gerar uma nova chave secreta, mas isso torna a anterior obsoleta.

  • Na guia Detalhes, copie o URL do endpoint do feed no campo Informações do endpoint. É necessário especificar esse URL de endpoint no aplicativo cliente.

Criar uma chave de API para o feed de webhook

  1. Acesse console doGoogle Cloud > Credenciais.

    Ir para Credenciais

  2. Clique em Criar credenciais e, em seguida, selecione Chave de API.

  3. Restrinja o acesso da chave de API à API Google Security Operations.

Especifique o URL do endpoint

  1. No aplicativo cliente, especifique o URL do endpoint HTTPS fornecido no feed do webhook.
  2. Ative a autenticação especificando a chave de API e a chave secreta como parte do cabeçalho personalizado no seguinte formato:

    X-goog-api-key = API_KEY
    X-Webhook-Access-Key = SECRET
    

    Recomendação: especifique a chave de API como um cabeçalho em vez de no URL.

  3. Se o cliente de webhook não aceitar cabeçalhos personalizados, especifique a chave de API e a chave secreta usando parâmetros de consulta no seguinte formato:

    ENDPOINT_URL?key=API_KEY&secret=SECRET
    

    Substitua:

    • ENDPOINT_URL: o URL do endpoint do feed.
    • API_KEY: a chave de API para autenticar no Google Security Operations.
    • SECRET: a chave secreta gerada para autenticar o feed.

Configurar o webhook da Palo Alto Prisma Cloud para o Google SecOps

  1. Faça login no Prisma Cloud da Palo Alto.
  2. Selecione Configurações > Integrações e notificações ((and_then)) Integrações.
  3. Clique em Adicionar integração.
  4. Selecione Webhook.
  5. Especifique valores para os seguintes parâmetros de entrada:
    • Nome da integração: forneça um nome exclusivo e descritivo (por exemplo, Google SecOps).
    • URL do webhook: insira o ENDPOINT_URL.
    • Opcional: forneça uma Descrição da integração.
    • Opcional: ative Payload personalizado > clique em Próxima para revisar ou alterar o payload personalizado.
  6. Clique em Próxima.
  7. Testar e Salvar integração.

Configurar alertas da Palo Alto Prisma Cloud

  1. No console do Palo Alto Prisma Cloud, acesse Alertas > Ver regras de alerta.
  2. Selecione uma regra de alerta para editar.
  3. Opcional: Criar um alerta para Infraestrutura de nuvem.
  4. Opcional: criar um alerta para carga de trabalho na nuvem.
  5. Acesse Configurar notificações.
  6. Selecione Webhook.
  7. Opcional: selecione os canais em que você quer enviar notificações de alertas acionados pela regra de alerta.
  8. Clique em Próxima.
  9. Clique em Salvar.

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
accountId target.resource.id O valor de accountId do registro bruto.
accountId target.resource.product_object_id O valor de accountId do registro bruto. Isso substitui o campo resource.id descontinuado.
alertId security_result.detection_fields[].key A chave é definida como "ID do alerta".
alertId security_result.detection_fields[].value O valor de alertId do registro bruto.
alertRuleId security_result.rule_id O valor de alertRuleId do registro bruto.
alertRuleName security_result.rule_name O valor de alertRuleName do registro bruto.
alertStatus security_result.detection_fields[].key A chave é definida como "status do alerta".
alertStatus security_result.detection_fields[].value O valor de alertStatus do registro bruto.
alertTs security_result.detection_fields[].key A chave é definida como "alertTs".
alertTs security_result.detection_fields[].value O valor de alertTs do registro bruto, convertido em uma string.
callbackUrl metadata.url_back_to_product O valor de callbackUrl do registro bruto.
cloudType principal.cloud.environment Se cloudType for "gcp" (sem distinção entre maiúsculas e minúsculas), o valor será definido como "GOOGLE_CLOUD_PLATFORM".
complianceMetadata[].complianceId security_result.detection_fields[].key A chave é definida como "complianceId".
complianceMetadata[].complianceId security_result.detection_fields[].value O valor de complianceMetadata[].complianceId do registro bruto.
complianceMetadata[].customAssigned security_result.detection_fields[].key A chave é definida como "customAssigned".
complianceMetadata[].customAssigned security_result.detection_fields[].value O valor de complianceMetadata[].customAssigned do registro bruto, convertido em uma string.
complianceMetadata[].policyId security_result.detection_fields[].key A chave é definida como "ID da política".
complianceMetadata[].policyId security_result.detection_fields[].value O valor de complianceMetadata[].policyId do registro bruto.
complianceMetadata[].requirementId security_result.rule_id O valor de complianceMetadata[].requirementId do registro bruto.
complianceMetadata[].requirementName security_result.summary O valor de complianceMetadata[].requirementName do registro bruto.
complianceMetadata[].requirementViewOrder security_result.detection_fields[].key A chave é definida como "requirementViewOrder".
complianceMetadata[].requirementViewOrder security_result.detection_fields[].value O valor de complianceMetadata[].requirementViewOrder do registro bruto, convertido em uma string.
complianceMetadata[].sectionDescription security_result.detection_fields[].key A chave é definida como "sectionDescription".
complianceMetadata[].sectionDescription security_result.detection_fields[].value O valor de complianceMetadata[].sectionDescription do registro bruto.
complianceMetadata[].sectionId security_result.detection_fields[].key A chave é definida como "sectionId".
complianceMetadata[].sectionId security_result.detection_fields[].value O valor de complianceMetadata[].sectionId do registro bruto.
complianceMetadata[].sectionLabel security_result.detection_fields[].key A chave é definida como "sectionLabel".
complianceMetadata[].sectionLabel security_result.detection_fields[].value O valor de complianceMetadata[].sectionLabel do registro bruto.
complianceMetadata[].sectionViewOrder security_result.detection_fields[].key A chave é definida como "sectionViewOrder".
complianceMetadata[].sectionViewOrder security_result.detection_fields[].value O valor de complianceMetadata[].sectionViewOrder do registro bruto, convertido em uma string.
complianceMetadata[].standardDescription security_result.detection_fields[].key A chave é definida como "standardDescription".
complianceMetadata[].standardDescription security_result.detection_fields[].value O valor de complianceMetadata[].standardDescription do registro bruto.
complianceMetadata[].standardName security_result.rule_name O valor de complianceMetadata[].standardName do registro bruto.
complianceMetadata[].systemDefault security_result.detection_fields[].key A chave é definida como "systemDefault".
complianceMetadata[].systemDefault security_result.detection_fields[].value O valor de complianceMetadata[].systemDefault do registro bruto, convertido em uma string.
create_time metadata.event_timestamp, events[].timestamp O valor de create_time do registro bruto.
data.allocationId principal.resource.product_object_id O valor de data.allocationId do registro bruto.
data.publicIp principal.ip O valor de data.publicIp do registro bruto.
deleted additional.fields[].key A chave está definida como "deleted".
deleted additional.fields[].value.string_value O valor de deleted do registro bruto, convertido em uma string.
description metadata.description O valor de description do registro bruto.
firstSeen principal.asset.first_seen_time O valor de firstSeen do registro bruto, analisado como um carimbo de data/hora (formato UNIX_MS ou UNIX).
hasFinding security_result.detection_fields[].key A chave é definida como "hasFinding".
hasFinding security_result.detection_fields[].value O valor de hasFinding do registro bruto, convertido em uma string.
lastSeen principal.asset.last_discover_time O valor de lastSeen do registro bruto, analisado como um carimbo de data/hora (formato UNIX_MS ou UNIX).
N/A metadata.event_type Definido como "USER_RESOURCE_ACCESS" se não for substituído por um tipo de evento específico do registro. Caso contrário, defina como "GENERIC_EVENT".
N/A metadata.product_name Codificado como "CASB".
N/A metadata.vendor_name Codificado como "Palo Alto Networks".
policyDescription security_result.detection_fields[].key A chave é definida como "policyDescription".
policyDescription security_result.detection_fields[].value O valor de policyDescription do registro bruto.
policyId security_result.detection_fields[].key A chave é definida como "ID da política".
policyId security_result.detection_fields[].value O valor de policyId do registro bruto.
policyLabels additional.fields[].key A chave é definida como "policyLabels".
policyLabels additional.fields[].value.string_value O valor de policyLabels do registro bruto.
policyName security_result.description O valor de policyName do registro bruto.
policyRecommendation security_result.detection_fields[].key A chave é definida como "recomendação de política".
policyRecommendation security_result.detection_fields[].value O valor de policyRecommendation do registro bruto.
policyType security_result.detection_fields[].key A chave é definida como "Tipo de política".
policyType security_result.detection_fields[].value O valor de policyType do registro bruto.
reason security_result.summary O valor de reason do registro bruto.
recommendation security_result.detection_fields[].key A chave está definida como "Recommendation".
recommendation security_result.detection_fields[].value O valor de recommendation do registro bruto.
resource.additionalInfo principal.resource.attribute.labels[].key A chave é definida como "resource additionalInfo".
resource.additionalInfo principal.resource.attribute.labels[].value O valor de resource.additionalInfo do registro bruto.
resource.cloudAccountGroups principal.resource.attribute.labels[].key A chave é definida como "resource cloudAccountGroups {index}".
resource.cloudAccountGroups principal.resource.attribute.labels[].value O valor de resource.cloudAccountGroups[] do registro bruto.
resource.cloudType principal.resource.attribute.labels[].key A chave é definida como "resource cloudType".
resource.cloudType principal.resource.attribute.labels[].value O valor de resource.cloudType do registro bruto.
resource.data principal.resource.attribute.labels[].key A chave é definida como "resource data {nested_key}".
resource.data principal.resource.attribute.labels[].value O valor de resource.data[] do registro bruto.
resource.id principal.resource.product_object_id O valor de resource.id do registro bruto.
resource.name principal.resource.name O valor de resource.name do registro bruto.
resource.region principal.location.country_or_region O valor de resource.region do registro bruto.
resource.regionId principal.cloud.availability_zone O valor de resource.regionId do registro bruto.
resource.resourceApiName principal.resource.attribute.labels[].key A chave é definida como "resource resourceApiName".
resource.resourceApiName principal.resource.attribute.labels[].value O valor de resource.resourceApiName do registro bruto.
resource.resourceTags principal.resource.attribute.labels[].key A chave é definida como "resource resourceTags {nested_key}".
resource.resourceTags principal.resource.attribute.labels[].value O valor de resource.resourceTags[] do registro bruto.
resource.resourceTs principal.resource.attribute.labels[].key A chave é definida como "resource resourceTs".
resource.resourceTs principal.resource.attribute.labels[].value O valor de resource.resourceTs do registro bruto.
resource.resourceType principal.resource.attribute.labels[].key A chave é definida como "resource resourceType".
resource.resourceType principal.resource.attribute.labels[].value O valor de resource.resourceType do registro bruto.
resource.rrn principal.resource.attribute.labels[].key A chave é definida como "resource rrn".
resource.rrn principal.resource.attribute.labels[].value O valor de resource.rrn do registro bruto.
resource.url principal.url O valor de resource.url do registro bruto.
resourceCloudService principal.resource.attribute.labels[].key A chave é definida como "resource cloud service".
resourceCloudService principal.resource.attribute.labels[].value O valor de resourceCloudService do registro bruto.
resourceName principal.resource.name O valor de resourceName do registro bruto.
resourceRegion principal.location.country_or_region O valor de resourceRegion do registro bruto.
resourceRegionId principal.cloud.availability_zone O valor de resourceRegionId do registro bruto.
resourceType target.resource.resource_subtype O valor de resourceType do registro bruto.
severity security_result.severity O valor de severity do registro bruto, convertido para maiúsculas. Mapeado para valores de gravidade da UDM (CRITICAL, HIGH, MEDIUM, LOW, INFORMATIONAL).
source principal.application O valor de source do registro bruto.
unifiedAssetId principal.asset.asset_id O valor de unifiedAssetId do registro bruto, com o prefixo "ASSETID:".

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