Recoger registros de alertas de Palo Alto Prisma Cloud

Disponible en:

Información general

Este analizador extrae registros de alertas de Palo Alto Prisma Cloud en formato JSON y los transforma en UDM. El analizador realiza la normalización de datos, las conversiones de tipos y la lógica condicional para rellenar los campos de UDM adecuados. También gestiona estructuras JSON anidadas y arrays en los datos de registro para extraer información relevante.

Antes de empezar

Asegúrate de que cumples los siguientes requisitos previos:

  • Instancia de Google SecOps.
  • Acceso privilegiado a Palo Alto Prisma Cloud.

Configurar feeds

Para configurar un feed, sigue estos pasos:

  1. Ve a Configuración de SIEM > Feeds.
  2. Haz clic en Añadir feed.
  3. En la página siguiente, haga clic en Configurar un solo feed.
  4. En el campo Nombre del feed, escriba un nombre para el feed (por ejemplo, Alertas de Prisma Cloud de PAN).
  5. Selecciona Webhook como Tipo de fuente.
  6. Seleccione Carga útil de alertas de Palo Alto Prisma Cloud como Tipo de registro.
  7. Haz clic en Siguiente.
  8. Opcional: Especifica los valores de los siguientes parámetros de entrada:
    • Delimitador de división: el delimitador que se usa para separar las líneas de registro, como \n.
  9. Haz clic en Siguiente.
  10. Revise la configuración del feed en la pantalla Finalizar y, a continuación, haga clic en Enviar.
  11. Haz clic en Generar clave secreta para generar una clave secreta que autentique este feed.
  12. Copia y guarda la clave secreta. No podrás volver a ver esta clave secreta. Si es necesario, puedes volver a generar una clave secreta, pero esta acción hará que la clave secreta anterior quede obsoleta.
  13. En la pestaña Detalles, copia la URL del endpoint del feed del campo Información del endpoint. Debes especificar esta URL de endpoint en tu aplicación cliente.
  14. Haz clic en Listo.

Crear una clave de API para la feed de webhook

  1. Ve a la consolaGoogle Cloud > Credenciales.

    Ir a Credenciales

  2. Haz clic en Crear credenciales y, a continuación, selecciona Clave de API.

  3. Restringe el acceso de la clave de API a la API Google Security Operations.

Especificar la URL del endpoint

  1. En tu aplicación cliente, especifica la URL del endpoint HTTPS proporcionada en el feed de webhook.
  2. Para habilitar la autenticación, especifica la clave de API y la clave secreta como parte del encabezado personalizado con el siguiente formato:

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

    Recomendación: Especifica la clave de API como encabezado en lugar de hacerlo en la URL.

  3. Si tu cliente de webhook no admite encabezados personalizados, puedes especificar la clave de API y la clave secreta mediante parámetros de consulta con el siguiente formato:

    ENDPOINT_URL?key=API_KEY&secret=SECRET
    

    Haz los cambios siguientes:

    • ENDPOINT_URL: URL del endpoint del feed.
    • API_KEY: la clave de API para autenticarte en Google Security Operations.
    • SECRET: la clave secreta que has generado para autenticar el feed.

Configurar el webhook de Palo Alto Prisma Cloud en Google SecOps

  1. Inicia sesión en Palo Alto Prisma Cloud.
  2. Selecciona Configuración > Integraciones y notificaciones ((and_then)) Integraciones.
  3. Haz clic en Add Integration (Añadir integración).
  4. Selecciona Webhook.
  5. Especifique valores para los siguientes parámetros de entrada:
    • Nombre de la integración: proporciona un nombre único y descriptivo (por ejemplo, Google SecOps).
    • URL del webhook: introduce ENDPOINT_URL.
    • Opcional: Proporcione una descripción de la integración.
    • Opcional: Habilita Carga útil personalizada > haz clic en Siguiente para revisar o modificar la carga útil personalizada.
  6. Haz clic en Siguiente.
  7. Probar y Guardar integración.

Configurar alertas de Palo Alto Prisma Cloud

  1. En la consola de Palo Alto Prisma Cloud, ve a Alerts (Alertas) > View Alert Rules (Ver reglas de alertas).
  2. Selecciona una regla de alerta para editarla.
  3. Opcional: Crea una alerta para Infraestructura de nube.
  4. Opcional: Crea una alerta para Carga de trabajo en la nube.
  5. Ve a Configurar notificaciones.
  6. Selecciona Webhook.
  7. Opcional: Selecciona los canales a los que quieras enviar notificaciones de las alertas activadas por la regla de alerta.
  8. Haz clic en Siguiente.
  9. Haz clic en Guardar.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
accountId target.resource.id El valor de accountId del registro sin procesar.
accountId target.resource.product_object_id El valor de accountId del registro sin procesar. Esto anula el campo resource.id, que está obsoleto.
alertId security_result.detection_fields[].key La clave es "alert id".
alertId security_result.detection_fields[].value El valor de alertId del registro sin procesar.
alertRuleId security_result.rule_id El valor de alertRuleId del registro sin procesar.
alertRuleName security_result.rule_name El valor de alertRuleName del registro sin procesar.
alertStatus security_result.detection_fields[].key La clave se ha definido como "alert status".
alertStatus security_result.detection_fields[].value El valor de alertStatus del registro sin procesar.
alertTs security_result.detection_fields[].key La clave es "alertTs".
alertTs security_result.detection_fields[].value El valor de alertTs del registro sin procesar, convertido en una cadena.
callbackUrl metadata.url_back_to_product El valor de callbackUrl del registro sin procesar.
cloudType principal.cloud.environment Si cloudType es "gcp" (sin distinguir entre mayúsculas y minúsculas), el valor se define como "GOOGLE_CLOUD_PLATFORM".
complianceMetadata[].complianceId security_result.detection_fields[].key La clave es "complianceId".
complianceMetadata[].complianceId security_result.detection_fields[].value El valor de complianceMetadata[].complianceId del registro sin procesar.
complianceMetadata[].customAssigned security_result.detection_fields[].key La clave es "customAssigned".
complianceMetadata[].customAssigned security_result.detection_fields[].value El valor de complianceMetadata[].customAssigned del registro sin procesar, convertido en una cadena.
complianceMetadata[].policyId security_result.detection_fields[].key La clave es "Policy Id".
complianceMetadata[].policyId security_result.detection_fields[].value El valor de complianceMetadata[].policyId del registro sin procesar.
complianceMetadata[].requirementId security_result.rule_id El valor de complianceMetadata[].requirementId del registro sin procesar.
complianceMetadata[].requirementName security_result.summary El valor de complianceMetadata[].requirementName del registro sin procesar.
complianceMetadata[].requirementViewOrder security_result.detection_fields[].key La clave es "requirementViewOrder".
complianceMetadata[].requirementViewOrder security_result.detection_fields[].value El valor de complianceMetadata[].requirementViewOrder del registro sin procesar, convertido en una cadena.
complianceMetadata[].sectionDescription security_result.detection_fields[].key La clave es "sectionDescription".
complianceMetadata[].sectionDescription security_result.detection_fields[].value El valor de complianceMetadata[].sectionDescription del registro sin procesar.
complianceMetadata[].sectionId security_result.detection_fields[].key La clave es "sectionId".
complianceMetadata[].sectionId security_result.detection_fields[].value El valor de complianceMetadata[].sectionId del registro sin procesar.
complianceMetadata[].sectionLabel security_result.detection_fields[].key La clave es "sectionLabel".
complianceMetadata[].sectionLabel security_result.detection_fields[].value El valor de complianceMetadata[].sectionLabel del registro sin procesar.
complianceMetadata[].sectionViewOrder security_result.detection_fields[].key La clave es "sectionViewOrder".
complianceMetadata[].sectionViewOrder security_result.detection_fields[].value El valor de complianceMetadata[].sectionViewOrder del registro sin procesar, convertido en una cadena.
complianceMetadata[].standardDescription security_result.detection_fields[].key La clave es "standardDescription".
complianceMetadata[].standardDescription security_result.detection_fields[].value El valor de complianceMetadata[].standardDescription del registro sin procesar.
complianceMetadata[].standardName security_result.rule_name El valor de complianceMetadata[].standardName del registro sin procesar.
complianceMetadata[].systemDefault security_result.detection_fields[].key La clave se ha definido como "systemDefault".
complianceMetadata[].systemDefault security_result.detection_fields[].value El valor de complianceMetadata[].systemDefault del registro sin procesar, convertido en una cadena.
create_time metadata.event_timestamp, events[].timestamp El valor de create_time del registro sin procesar.
data.allocationId principal.resource.product_object_id El valor de data.allocationId del registro sin procesar.
data.publicIp principal.ip El valor de data.publicIp del registro sin procesar.
deleted additional.fields[].key La clave se establece como "deleted" (eliminada).
deleted additional.fields[].value.string_value El valor de deleted del registro sin procesar, convertido en una cadena.
description metadata.description El valor de description del registro sin procesar.
firstSeen principal.asset.first_seen_time El valor de firstSeen del registro sin procesar, analizado como una marca de tiempo (formato UNIX_MS o UNIX).
hasFinding security_result.detection_fields[].key La clave es "hasFinding".
hasFinding security_result.detection_fields[].value El valor de hasFinding del registro sin procesar, convertido en una cadena.
lastSeen principal.asset.last_discover_time El valor de lastSeen del registro sin procesar, analizado como una marca de tiempo (formato UNIX_MS o UNIX).
N/A metadata.event_type Se asigna el valor "USER_RESOURCE_ACCESS" si no se sustituye por un tipo de evento específico del registro. De lo contrario, se asigna el valor "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 La clave es "policyDescription".
policyDescription security_result.detection_fields[].value El valor de policyDescription del registro sin procesar.
policyId security_result.detection_fields[].key La clave es "Policy Id".
policyId security_result.detection_fields[].value El valor de policyId del registro sin procesar.
policyLabels additional.fields[].key La clave es "policyLabels".
policyLabels additional.fields[].value.string_value El valor de policyLabels del registro sin procesar.
policyName security_result.description El valor de policyName del registro sin procesar.
policyRecommendation security_result.detection_fields[].key La clave se ha definido como "policy recommendation".
policyRecommendation security_result.detection_fields[].value El valor de policyRecommendation del registro sin procesar.
policyType security_result.detection_fields[].key La clave es "Policy Type".
policyType security_result.detection_fields[].value El valor de policyType del registro sin procesar.
reason security_result.summary El valor de reason del registro sin procesar.
recommendation security_result.detection_fields[].key La clave es "Recommendation".
recommendation security_result.detection_fields[].value El valor de recommendation del registro sin procesar.
resource.additionalInfo principal.resource.attribute.labels[].key La clave es "resource additionalInfo".
resource.additionalInfo principal.resource.attribute.labels[].value El valor de resource.additionalInfo del registro sin procesar.
resource.cloudAccountGroups principal.resource.attribute.labels[].key La clave se define como "resource cloudAccountGroups {index}".
resource.cloudAccountGroups principal.resource.attribute.labels[].value El valor de resource.cloudAccountGroups[] del registro sin procesar.
resource.cloudType principal.resource.attribute.labels[].key La clave es "resource cloudType".
resource.cloudType principal.resource.attribute.labels[].value El valor de resource.cloudType del registro sin procesar.
resource.data principal.resource.attribute.labels[].key La clave se define como "resource data {nested_key}".
resource.data principal.resource.attribute.labels[].value El valor de resource.data[] del registro sin procesar.
resource.id principal.resource.product_object_id El valor de resource.id del registro sin procesar.
resource.name principal.resource.name El valor de resource.name del registro sin procesar.
resource.region principal.location.country_or_region El valor de resource.region del registro sin procesar.
resource.regionId principal.cloud.availability_zone El valor de resource.regionId del registro sin procesar.
resource.resourceApiName principal.resource.attribute.labels[].key La clave es "resource resourceApiName".
resource.resourceApiName principal.resource.attribute.labels[].value El valor de resource.resourceApiName del registro sin procesar.
resource.resourceTags principal.resource.attribute.labels[].key La clave se define como "resource resourceTags {nested_key}".
resource.resourceTags principal.resource.attribute.labels[].value El valor de resource.resourceTags[] del registro sin procesar.
resource.resourceTs principal.resource.attribute.labels[].key La clave es "resource resourceTs".
resource.resourceTs principal.resource.attribute.labels[].value El valor de resource.resourceTs del registro sin procesar.
resource.resourceType principal.resource.attribute.labels[].key La clave es "resource resourceType".
resource.resourceType principal.resource.attribute.labels[].value El valor de resource.resourceType del registro sin procesar.
resource.rrn principal.resource.attribute.labels[].key La clave es "rrn de recurso".
resource.rrn principal.resource.attribute.labels[].value El valor de resource.rrn del registro sin procesar.
resource.url principal.url El valor de resource.url del registro sin procesar.
resourceCloudService principal.resource.attribute.labels[].key La clave se ha definido como "servicio en la nube de recursos".
resourceCloudService principal.resource.attribute.labels[].value El valor de resourceCloudService del registro sin procesar.
resourceName principal.resource.name El valor de resourceName del registro sin procesar.
resourceRegion principal.location.country_or_region El valor de resourceRegion del registro sin procesar.
resourceRegionId principal.cloud.availability_zone El valor de resourceRegionId del registro sin procesar.
resourceType target.resource.resource_subtype El valor de resourceType del registro sin procesar.
severity security_result.severity El valor de severity del registro sin procesar, convertido a mayúsculas. Asignado a los valores de gravedad del UDM (CRITICAL, HIGH, MEDIUM, LOW e INFORMATIONAL).
source principal.application El valor de source del registro sin procesar.
unifiedAssetId principal.asset.asset_id El valor de unifiedAssetId del registro sin procesar, con el prefijo "ASSETID:".

¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.