Recopila registros de Halo de CloudPassage
Compatible con:
Google SecOps
SIEM
Este código del analizador de Logstash transforma los datos de registro JSON de Halo de CloudPassage en un modelo de datos unificado (UDM). Extrae campos relevantes de los registros sin procesar, normaliza las marcas de tiempo, asigna datos a campos de la AUA y enriquece los eventos con contexto adicional, como la gravedad y la información del usuario.
Antes de comenzar
- Asegúrate de tener una instancia de Google SecOps.
- Asegúrate de tener acceso con privilegios a CloudPassage Halo.
Cómo configurar una clave de API en CloudPassage
- Accede a CloudPassage Halo.
- Ve a Configuración > Administración del sitio.
- Haz clic en la pestaña Claves de API.
- Haz clic en Acciones > Nueva clave de API.
- Haz clic en Mostrar para tu clave en la pestaña Claves de API para mostrar los valores.
- Copia los valores de ID de clave y Clave secreta.
Configura un feed en Google SecOps para transferir registros de CloudPassage
- Haz clic en Agregar nueva.
- En el campo Nombre del feed, ingresa un nombre para el feed (por ejemplo, Registros de CloudPassage).
- Selecciona API de terceros como el Tipo de origen.
- Selecciona Cloud Passage como el tipo de registro.
- Haz clic en Siguiente.
- Especifica valores para los siguientes parámetros de entrada:
- Nombre de usuario: Ingresa el ID de clave.
- Secreto: Ingresa la Clave secreta.
- Tipos de eventos: Es el tipo de eventos que se incluirán (si no especificas los tipos de eventos, se usarán los eventos predeterminados de la lista).
- 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.
- Haz clic en Siguiente.
- Revisa la configuración del feed en la pantalla Finalizar y, luego, haz 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 en el registro sin formato. |
actor_ip_address | principal.ip | Se asigna directamente desde el campo actor_ip_address en el registro sin formato. |
actor_username | principal.user.userid | Se asigna directamente desde el campo actor_username en el registro sin formato. |
created_at | metadata.event_timestamp | Se convirtió al formato de marca de tiempo de la AUA desde el campo created_at en el registro sin procesar. |
crítico | security_result.severity | Si critical es verdadero, la gravedad se establece en "CRITICAL". De lo contrario, se establece como "INFORMATIVO" para los eventos y se calcula en función del recuento de hallazgos de los análisis. |
id | metadata.product_log_id | Se asigna directamente desde el campo id en el registro sin procesar de los eventos. |
mensaje | security_result.description | Se extrajo la descripción del campo message con el patrón grok. |
nombre | security_result.summary | Se asigna directamente desde el campo name en el registro sin procesar de los eventos. |
policy_name | security_result.detection_fields.policy_name | Se asigna directamente desde el campo policy_name en el registro sin formato. |
rule_name | security_result.rule_name | Se asigna directamente desde el campo rule_name en el registro sin formato. |
scan.created_at | metadata.event_timestamp | Se convirtió al formato de marca de tiempo de la AUA desde el campo scan.created_at en el registro sin procesar de los análisis. |
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 convirtió en 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 en el registro sin procesar para las búsquedas. |
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 en el registro sin procesar para las búsquedas. |
server_group_name | target.group.attribute.labels.server_group_name | Se asigna directamente desde el campo server_group_name en el registro sin formato. |
server_group_path | target.group.product_object_id | Se asigna directamente desde el campo server_group_path en el registro sin formato. |
server_hostname | target.hostname | Se asigna directamente desde el campo server_hostname en el registro sin procesar de los eventos. |
server_ip_address | target.ip | Se asigna directamente desde el campo server_ip_address en el registro sin formato. |
server_platform | target.platform | Se asigna directamente desde el campo server_platform en el registro sin formato. Se convirtió en mayúsculas. |
server_primary_ip_address | target.ip | Se asigna directamente desde el campo server_primary_ip_address en el registro sin formato. |
server_reported_fqdn | network.dns.authority.name | Se asigna directamente desde el campo server_reported_fqdn en el registro sin formato. |
target_username | target.user.userid | Se asigna directamente desde el campo target_username en el registro sin formato. |
metadata.event_type | Configúralo como "SCAN_UNCATEGORIZED" para los eventos y "SCAN_HOST" para las búsquedas. | |
metadata.log_type | Establece el valor en “CLOUD_PASSAGE”. | |
metadata.product_name | Se estableció en “HALO”. | |
metadata.vendor_name | Establece el valor en "CLOUDPASSAGE". | |
principal.hostname | Se copió desde target.hostname . |
|
security_result.action | Establece el valor en "UNKNOWN_ACTION". | |
security_result.category | Configúralo como "POLICY_VIOLATION". | |
is_alert | Se establece en verdadero si security_result.severity es "CRITICAL". |
|
is_significant | Se establece en verdadero si security_result.severity es "CRITICAL". |
Cambios
2022-06-30
- Mejora
- Se asignó "policy_name" a "security_result.detection_fields".
- Se asignó "server_group_name" a "target.group.attribute.labels".
- Se asignó "server_group_path" a "target.group.product_object_id".
- Se agregó el patrón grok para obtener "description".