Recopila registros de Aqua Security

Compatible con:

Descripció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 la AUA y clasifica los eventos según el campo action, lo que enriquece los datos con contexto de seguridad, como nombres de reglas, descripciones y detalles de CVE.

Antes de comenzar

  • Asegúrate de tener una instancia de Google SecOps.
  • Asegúrate de tener acceso con privilegios a la consola de administración de Aqua Security.

Configura un feed en Google SecOps para transferir los registros de Aqua Security

  1. Ve a Configuración de SIEM > Feeds.
  2. Haz clic en Agregar nueva.
  3. En el campo Nombre del feed, ingresa un nombre para el feed (por ejemplo, Registros de Aqua Security).
  4. Selecciona Webhook como el Tipo de origen.
  5. Selecciona Aqua Security como el Tipo de registro.
  6. Haz clic en Siguiente.
  7. Opcional: Especifica valores para los siguientes parámetros de entrada:
    • Delimitador de división: Es el delimitador que se usa para separar las líneas de registro, como \n.
    • Espacio de nombres de recursos: Es el espacio de nombres de recursos.
    • Etiquetas de transferencia: Es la etiqueta que se aplica a los eventos de este feed.
  8. Haz clic en Siguiente.
  9. Revisa la configuración del feed en la pantalla Finalizar y, luego, haz clic en Enviar.
  10. Haz clic en Generate Secret Key para generar una clave secreta que autentique este feed.
  11. Copia y almacena la clave secreta. No podrás volver a ver esta clave secreta. Si es necesario, puedes volver a generar una clave secreta nueva, pero esta acción hace que la clave secreta anterior quede obsoleta.
  12. En la pestaña Detalles, copia la URL del extremo del feed del campo Información del extremo. Debes especificar esta URL de extremo en tu aplicación cliente.
  13. Haz clic en Listo.

Crea una clave de API para el feed de webhook

  1. Ve a consola de Google Cloud > Credenciales.

    Ir a Credenciales

  2. Haz clic en Crear credenciales y selecciona Clave de API.

  3. Restringe el acceso de la clave de API a la API de Chronicle.

Especifica la URL del extremo

  1. En tu aplicación cliente, especifica la URL del extremo HTTPS que se proporciona en el feed de webhook.
  2. Habilita la autenticación especificando la clave de API y la clave secreta como parte del encabezado personalizado en el siguiente formato:

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

    Recomendación: Especifica la clave de API como un 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 con parámetros de consulta en el siguiente formato:

    ENDPOINT_URL?key=API_KEY&secret=SECRET
    

    Reemplaza lo siguiente:

    • ENDPOINT_URL: Es la URL del extremo del feed.
    • API_KEY: Es la clave de API para autenticar en Google SecOps.
    • SECRET: Es la clave secreta que generaste para autenticar el feed.

Cómo crear un webhook en Aqua Security para Google SecOps

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

Tabla de asignación de UDM

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

Cambios

2024-10-10

  • Mejora:
  • Se agregó compatibilidad con los nuevos registros.