Recoger registros de CloudPassage Halo
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
- Inicia sesión en CloudPassage Halo.
- Ve a Ajustes > Administración del sitio.
- Haz clic en la pestaña Claves de API.
- Haz clic en Acciones > Nueva clave de API.
- En la pestaña Claves de API, haz clic en Mostrar para ver los valores de tu clave.
- Copia los valores de ID de clave y Clave secreta.
Configurar feeds
Para configurar un feed, sigue estos pasos:
- Ve a Configuración de SIEM > Feeds.
- Haz clic en Añadir feed.
- En la página siguiente, haga clic en Configurar un solo feed.
- En el campo Nombre del feed, introduce un nombre para el feed (por ejemplo, Registros de CloudPassage).
- Seleccione API de terceros como Tipo de fuente.
- Seleccione Cloud Passage como Tipo de registro.
- Haz clic en Siguiente.
- 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).
- Haz clic en Siguiente.
- 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.