Recoger registros de Aqua Security

Disponible en:

Información general

Este analizador extrae campos de los registros de Aqua Security y los transforma en el modelo de datos unificado (UDM). Analiza el campo message como JSON, extrae el usuario, la IP de origen y otros campos relevantes, los asigna a campos de UDM y clasifica los eventos en función del campo action, lo que enriquece los datos con contexto de seguridad, como nombres de reglas, descripciones y detalles de CVE.

Antes de empezar

Asegúrate de que cumples los siguientes requisitos previos:

  • Instancia de Google SecOps.
  • Acceso privilegiado a la consola de gestión de Aqua Security.

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, introduce un nombre para el feed (por ejemplo, Registros de Aqua Security).
  5. Selecciona Webhook como Tipo de fuente.
  6. Selecciona Aqua Security 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.
    • Espacio de nombres de recursos: el espacio de nombres de recursos.
    • Etiquetas de ingestión: la etiqueta aplicada a los eventos de este feed.
  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 Google Cloud consola > 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 Chronicle.

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 SecOps.
    • SECRET: la clave secreta que has generado para autenticar el feed.

Crear un webhook en Aqua Security para Google SecOps

  1. Inicia sesión en la consola de Aqua Security.
  2. Ve a Ajustes > Webhook de resultados de análisis de imágenes.
  3. Marca la casilla Habilitar el envío de resultados de análisis de imágenes.
  4. Introduce <ENDPOINT_URL>, seguido de <API_KEY> y <SECRET>.
  5. Haz clic en Guardar.

Tabla de asignación de UDM

Campo de registro (ascendente) Asignación de UDM Lógica
jsonPayload.action metadata.event_type Se asigna en función del valor de "jsonPayload.action". Consulta el código del analizador para ver las asignaciones específicas.
jsonPayload.action security_result.summary Asignación directa.
jsonPayload.adjective target.file.full_path Se asigna directamente si "jsonPayload.container" está vacío.
jsonPayload.category target.asset.category Asignación directa.
jsonPayload.cfappname target.application Asignación directa.
jsonPayload.cfspace principal.user.userid Se asigna directamente si 'jsonPayload.user' está vacío.
jsonPayload.command principal.ip Se ha extraído con el patrón grok "user %{GREEDYDATA:user_id} \(%{IP:src_ip}\)".
jsonPayload.command principal.user.userid Se ha extraído con el patrón grok "user %{GREEDYDATA:user_id} \(%{IP:src_ip}\)".
jsonPayload.container target.asset.product_object_id Asignación directa.
jsonPayload.data security_result.detection_fields Se analizan como pares clave-valor y se asignan a campos concretos de "security_result.detection_fields".
jsonPayload.description security_result.description Se asigna directamente si "jsonPayload.reason" está vacío.
jsonPayload.host principal.hostname Asignación directa.
jsonPayload.hostgroup target.group.group_display_name Asignación directa.
jsonPayload.hostid target.asset_id Se ha asignado como "ID de host: %{jsonPayload.hostid}".
jsonPayload.hostip target.ip Asignación directa.
jsonPayload.image target.file.full_path Asignación directa.
jsonPayload.level security_result.action Se asigna el valor "ALLOW" si 'jsonPayload.level' es "success".
jsonPayload.reason security_result.description Asignación directa.
jsonPayload.rule security_result.rule_name Asignación directa.
jsonPayload.user principal.user.userid Asignación directa.
jsonPayload.vm_location target.asset.location.name Asignación directa.
jsonPayload.vm_name target.resource.name Asignación directa.
resource.labels.instance_id target.resource.id Asignación directa.
resource.labels.project_id target.asset.attribute.cloud.project.id Asignación directa.
resource.labels.zone target.asset.attribute.cloud.availability_zone Asignación directa.
timestamp metadata.event_timestamp Se asigna directamente después de convertirlo al formato ISO 8601.
extensions.auth.type Se asigna el valor "SSO" si 'jsonPayload.description' contiene "SAML". De lo contrario, se asigna el valor "AUTHTYPE_UNSPECIFIED" si 'jsonPayload.action' es "login" o "Login".
metadata.log_type Se ha definido como "AQUA_SECURITY".
metadata.product_name Se ha definido como "AQUA_SECURITY".
metadata.vendor_name Se ha definido como "AQUA_SECURITY".
target.asset.attribute.cloud.environment Se ha definido como "GOOGLE_CLOUD_PLATFORM".
target.resource.type Asigna el valor "VIRTUAL_MACHINE".

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