Recoger registros de CloudPassage Halo

Disponible en:

Este código de analizador de Logstash transforma los datos de registro JSON de CloudPassage Halo en un modelo de datos unificado (UDM). Extrae los campos relevantes de los registros sin procesar, normaliza las marcas de tiempo, asigna los datos a los campos de UDM y enriquece los eventos con contexto adicional, como la gravedad y la información del usuario.

Antes de empezar

Asegúrate de que cumples los siguientes requisitos previos:

  • Instancia de Google SecOps.
  • Acceso privilegiado a CloudPassage Halo.

Configurar una clave de API en CloudPassage

  1. Inicia sesión en CloudPassage Halo.
  2. Ve a Ajustes > Administración del sitio.
  3. Haz clic en la pestaña Claves de API.
  4. Haz clic en Acciones > Nueva clave de API.
  5. En la pestaña Claves de API, haz clic en Mostrar para ver los valores de tu clave.
  6. Copia los valores de ID de clave y Clave secreta.

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 CloudPassage).
  5. Seleccione API de terceros como Tipo de fuente.
  6. Seleccione Cloud Passage como Tipo de registro.
  7. Haz clic en Siguiente.
  8. Especifique valores para los siguientes parámetros de entrada:
    • Nombre de usuario: introduce el ID de clave.
    • Secreto: introduce la clave secreta.
    • Tipos de evento: tipo de eventos que se incluirán (si no especifica ningún tipo de evento, se usarán los eventos predeterminados de la lista).
  9. Haz clic en Siguiente.
  10. Revise la configuración del feed en la pantalla Finalizar y, a continuación, haga clic en Enviar.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
actor_country principal.location.country_or_region Se asigna directamente desde el campo actor_country del registro sin procesar.
actor_ip_address principal.ip Se asigna directamente desde el campo actor_ip_address del registro sin procesar.
actor_username principal.user.userid Se asigna directamente desde el campo actor_username del registro sin procesar.
created_at metadata.event_timestamp Se ha convertido al formato de marca de tiempo de UDM a partir del campo created_at del registro sin procesar.
crítico security_result.severity Si critical es true, la gravedad se define como "CRITICAL". De lo contrario, se asigna el valor "INFORMATIONAL" a los eventos y se calcula en función del número de resultados de los análisis.
id metadata.product_log_id Se asigna directamente desde el campo id del registro sin procesar de los eventos.
mensaje security_result.description Descripción extraída del campo message mediante un patrón grok.
name security_result.summary Se asigna directamente desde el campo name del registro sin procesar de los eventos.
policy_name security_result.detection_fields.policy_name Se asigna directamente desde el campo policy_name del registro sin procesar.
rule_name security_result.rule_name Se asigna directamente desde el campo rule_name del registro sin procesar.
scan.created_at metadata.event_timestamp Se ha convertido al formato de marca de tiempo de UDM a partir del campo scan.created_at del registro sin procesar de las comprobaciones.
scan.critical_findings_count security_result.description Se usa para calcular la descripción de los eventos de análisis. También se usa para determinar el nivel de gravedad.
scan.module security_result.summary Se usa para generar el resumen de los eventos de análisis. Se ha convertido a mayúsculas.
scan.non_critical_findings_count security_result.description Se usa para calcular la descripción de los eventos de análisis. También se usa para determinar el nivel de gravedad.
scan.ok_findings_count security_result.description Se usa para calcular la descripción de los eventos de análisis.
scan.server_hostname target.hostname Se asigna directamente desde el campo scan.server_hostname del registro sin procesar de los análisis.
scan.status security_result.summary Se usa para generar el resumen de los eventos de análisis.
scan.url metadata.url_back_to_product Se asigna directamente desde el campo scan.url del registro sin procesar de los análisis.
server_group_name target.group.attribute.labels.server_group_name Se asigna directamente desde el campo server_group_name del registro sin procesar.
server_group_path target.group.product_object_id Se asigna directamente desde el campo server_group_path del registro sin procesar.
server_hostname target.hostname Se asigna directamente desde el campo server_hostname del registro sin procesar de los eventos.
server_ip_address target.ip Se asigna directamente desde el campo server_ip_address del registro sin procesar.
server_platform target.platform Se asigna directamente desde el campo server_platform del registro sin procesar. Se ha convertido a mayúsculas.
server_primary_ip_address target.ip Se asigna directamente desde el campo server_primary_ip_address del registro sin procesar.
server_reported_fqdn network.dns.authority.name Se asigna directamente desde el campo server_reported_fqdn del registro sin procesar.
target_username target.user.userid Se asigna directamente desde el campo target_username del registro sin procesar.
metadata.event_type Se asigna el valor "SCAN_UNCATEGORIZED" a los eventos y "SCAN_HOST" a los análisis.
metadata.log_type Se establece en "CLOUD_PASSAGE".
metadata.product_name Selecciona "HALO".
metadata.vendor_name Asigna el valor "CLOUDPASSAGE".
principal.hostname Copiado de target.hostname.
security_result.action Se ha definido como "UNKNOWN_ACTION".
security_result.category Se le asigna el valor "POLICY_VIOLATION".

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