Recopila registros de Qualys Vulnerability Management

Compatible con:

Este analizador controla los registros de Qualys Vulnerability Management en formato de clave-valor (KV) o JSON. Extrae detalles de vulnerabilidades, información del host y metadatos de análisis, y los asigna al UDM. El analizador también controla diferentes estructuras de registros, prioriza el análisis de KV y recurre a JSON si es necesario, y divide el array DetectionList en eventos de vulnerabilidad individuales.

Antes de comenzar

Asegúrate de cumplir con los siguientes requisitos previos:

  • Es la instancia de Google Security Operations.
  • Acceso con privilegios a la consola de Qualys VMDR

Opcional: Crea un usuario de API dedicado en Qualys

  1. Accede a la consola de Qualys.
  2. Ve a Usuarios.
  3. Haz clic en Nuevo > Usuario.
  4. Ingresa la información general requerida para el usuario.
  5. Selecciona la pestaña Rol del usuario.
  6. Asegúrate de que el rol tenga seleccionada la casilla de verificación API Access.
  7. Haz clic en Guardar.

Identifica la URL específica de la API de Qualys

Opción 1

Identifica tus URLs como se menciona en la identificación de la plataforma.

Opción 2

  1. Accede a la consola de Qualys.
  2. Ve a Ayuda > Acerca de.
  3. Desplázate para ver esta información en Centro de operaciones de seguridad (SOC).
  4. Copia la URL de la API de Qualys.

Configura feeds

Existen dos puntos de entrada diferentes para configurar feeds en la plataforma de Google SecOps:

  • Configuración de SIEM > Feeds
  • Centro de contenido > Paquetes de contenido

Configura feeds en Configuración del SIEM > Feeds

Para configurar un feed, sigue estos pasos:

  1. Ve a Configuración del SIEM > Feeds.
  2. Haz clic en Agregar feed nuevo.
  3. En la siguiente página, haz clic en Configurar un solo feed.
  4. En el campo Nombre del feed, ingresa un nombre para el feed, por ejemplo, Registros de VM de Qualys.
  5. Selecciona API de terceros como el Tipo de origen.
  6. Selecciona Qualys VM como el tipo de registro.
  7. Haz clic en Siguiente.
  8. Especifica valores para los siguientes parámetros de entrada:
    • Nombre de usuario: Ingresa el nombre de usuario.
    • Secreto: Ingresa la contraseña.
    • Ruta completa de la API: Proporciona la URL del servidor de la API de Qualys (por ejemplo, https://<qualys_base_url>/api/2.0/fo/asset/host/?action=list), en la que <qualys_base_url> es la URL base del servidor de la API de Qualys en el que se encuentra tu cuenta.
  9. Haz clic en Siguiente.
  10. Revisa la configuración del feed en la pantalla Finalizar y, luego, haz clic en Enviar.

Configura feeds desde el Centro de contenido

Especifica valores para los siguientes campos:

  • Nombre de usuario: Ingresa el nombre de usuario.
  • Secreto: Ingresa la contraseña.
  • Ruta completa de la API: Proporciona la URL del servidor de la API de Qualys (por ejemplo, https://<qualys_base_url>/api/2.0/fo/asset/host/?action=list), en la que <qualys_base_url> es la URL base del servidor de la API de Qualys en el que se encuentra tu cuenta.

Opciones avanzadas

  • Nombre del feed: Es un valor completado previamente que identifica el feed.
  • Tipo de fuente: Es el método que se usa para recopilar registros en Google SecOps.
  • Espacio de nombres del activo: Es el espacio de nombres asociado con el feed.
  • Etiquetas de transferencia: Son las etiquetas que se aplican a todos los eventos de este feed.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
DETECTION.FIRST_FOUND_DATETIME extensions.vulns.vulnerabilities.first_found Se analizó a partir del campo DETECTION.FIRST_FOUND_DATETIME y se convirtió el valor de la cadena en una marca de tiempo.
DETECTION.LAST_FOUND_DATETIME extensions.vulns.vulnerabilities.last_found Se analizó a partir del campo DETECTION.LAST_FOUND_DATETIME y se convirtió el valor de la cadena en una marca de tiempo.
DETECTION.QID extensions.vulns.vulnerabilities.name Concatena "QID: " con el valor de DETECTION.QID.
DETECTION.RESULTS extensions.vulns.vulnerabilities.description Se asigna directamente al campo de descripción. También se usa para extraer network.ip_protocol y principal.port con Grok.
DETECTION.SEVERITY extensions.vulns.vulnerabilities.severity Se asignó desde DETECTION.SEVERITY. Los valores 0, 1 y 2 se convierten en "LOW"; los valores 3 y 4 se convierten en "MEDIUM"; y los valores 5, 6 y 7 se convierten en "HIGH".
DETECTION.STATUS extensions.vulns.vulnerabilities.about.labels Se agregó como una etiqueta con la clave "Estado de detección".
DETECTION.TYPE extensions.vulns.vulnerabilities.about.labels Se agregó como una etiqueta con la clave "Tipo de detección".
DNS principal.hostname Se asigna directamente a principal.hostname.
DNSData.DOMAIN principal.domain.name Se asigna directamente a principal.domain.name.
HOST.ASSET_ID principal.asset_id Concatena "QUALYS:" con el valor de HOST.ASSET_ID.
HOST.DNS principal.hostname Se asigna directamente a principal.hostname si DNS está vacío.
HOST.DNS_DATA.DOMAIN principal.domain.name Se asigna directamente a principal.domain.name si DNSData.DOMAIN está vacío.
HOST.ID metadata.product_log_id Se asigna directamente a metadata.product_log_id.
HOST.IP principal.ip Se asigna directamente a principal.ip si IP está vacío.
HOST.LAST_SCAN_DATETIME extensions.vulns.vulnerabilities.scan_start_time Se analizó a partir del campo HOST.LAST_SCAN_DATETIME y se convirtió el valor de la cadena en una marca de tiempo.
HOST.LAST_VM_SCANNED_DATE extensions.vulns.vulnerabilities.scan_end_time Se analizó a partir del campo HOST.LAST_VM_SCANNED_DATE y se convirtió el valor de la cadena en una marca de tiempo.
HOST.NETBIOS additional.fields Se agregó como una etiqueta con la clave "HOST NETBIOS".
HOST.OS principal.platform_version Se asigna directamente a principal.platform_version si OS está vacío.
HOST.QG_HOSTID additional.fields Se agregó como una etiqueta con la clave "HOST QG_HOSTID".
HOST.TRACKING_METHOD additional.fields Se agregó como una etiqueta con la clave "HOST TRACKING_METHOD".
HOST_ID principal.asset_id Concatena "QUALYS:" con el valor de HOST_ID.
ID metadata.product_log_id Se asigna directamente a metadata.product_log_id.
IP principal.ip Se asigna directamente a principal.ip.
LastScanDateTime extensions.vulns.vulnerabilities.scan_start_time Se analizó a partir del campo LastScanDateTime y se convirtió el valor de la cadena en una marca de tiempo.
LastVMAuthScanDuration additional.fields Se agregó como una etiqueta con la clave "LastVMAuthScanDuration".
LastVMScanDate extensions.vulns.vulnerabilities.scan_end_time Se analizó a partir del campo LastVMScanDate y se convirtió el valor de la cadena en una marca de tiempo.
LastVMScanDuration additional.fields Se agregó como una etiqueta con la clave "LastVMScanDuration".
LAST_FOUND_DATETIME extensions.vulns.vulnerabilities.last_found Se analizó a partir del campo LAST_FOUND_DATETIME y se convirtió el valor de la cadena en una marca de tiempo.
LAST_SCAN_DATETIME extensions.vulns.vulnerabilities.scan_start_time Se analizó a partir del campo LAST_SCAN_DATETIME y se convirtió el valor de la cadena en una marca de tiempo.
LAST_VM_SCANNED_DATE extensions.vulns.vulnerabilities.scan_end_time Se analizó a partir del campo LAST_VM_SCANNED_DATE y se convirtió el valor de la cadena en una marca de tiempo.
NETBIOS additional.fields Se agregó como una etiqueta con la clave "NETBIOS".
NetworkID additional.fields Se agregó como una etiqueta con la clave "NetworkID".
NETWORK_ID additional.fields Se agregó como una etiqueta con la clave "NetworkID".
OS principal.platform_version Se asigna directamente a principal.platform_version.
Os principal.platform_version Se asigna directamente a principal.platform_version si OS está vacío.
QID extensions.vulns.vulnerabilities.name Concatena "QID: " con el valor de QID.
QgHostID principal.asset_id Establece principal.asset_id en "Host Id:%{QgHostID}".
SEVERITY extensions.vulns.vulnerabilities.severity Se asignó desde SEVERITY. Los valores 0, 1 y 2 se convierten en "LOW"; los valores 3 y 4 se convierten en "MEDIUM"; y los valores 5, 6 y 7 se convierten en "HIGH".
TRACKING_METHOD additional.fields Se agregó como una etiqueta con la clave "TRACKING_METHOD".
TrackingMethod additional.fields Se agregó como una etiqueta con la clave "TRACKING_METHOD".
N/A metadata.vendor_name Se codificó de forma rígida como "Qualys".
N/A metadata.product_name Se codificó como "Administración de vulnerabilidades".
N/A metadata.event_type Se establece en "SCAN_VULN_HOST" si _vulns no está vacío, en "STATUS_UPDATE" si prin_host o IP no están vacíos y en "GENERIC_EVENT" en los demás casos.
N/A metadata.log_type Se toma del campo log_type del registro sin procesar.
N/A principal.platform Se determina a partir de OS, Os o HOST.OS. Si alguno de estos contiene "Linux", la plataforma se establece en "LINUX". Si alguno contiene "Windows", la plataforma se establece en "WINDOWS". Si alguno contiene "mac" o "IOS", la plataforma se establece en "MAC".
detection.DType extensions.vulns.vulnerabilities.about.resource.attribute.labels Se agregó como una etiqueta con la clave "Detection Type" dentro del array de vulnerabilidades para los eventos analizados desde el campo DetectionList.
detection.FirstFoundTime extensions.vulns.vulnerabilities.first_found Se analizó a partir del campo detection.FirstFoundTime y se convirtió el valor de cadena en una marca de tiempo dentro del array de vulnerabilidades para los eventos analizados a partir del campo DetectionList.
detection.LastFoundTime extensions.vulns.vulnerabilities.last_found Se analizó a partir del campo detection.LastFoundTime y se convirtió el valor de cadena en una marca de tiempo dentro del array de vulnerabilidades para los eventos analizados a partir del campo DetectionList.
detection.LastProcessedDatetime extensions.vulns.vulnerabilities.about.resource.attribute.labels Se agrega como una etiqueta con la clave "LastProcessedDatetime" dentro del array de vulnerabilidades para los eventos analizados desde el campo DetectionList.
detection.LastTestDateTime extensions.vulns.vulnerabilities.about.resource.attribute.labels Se agrega como una etiqueta con la clave "LastTestDateTime" dentro del array de vulnerabilidades para los eventos analizados desde el campo DetectionList.
detection.LastUpdateDateTime extensions.vulns.vulnerabilities.about.resource.attribute.labels Se agrega como una etiqueta con la clave "LastUpdateDateTime" dentro del array de vulnerabilidades para los eventos analizados desde el campo DetectionList.
detection.Qid extensions.vulns.vulnerabilities.name Concatena "QID: " con el valor de detection.Qid dentro del array de vulnerabilidades para los eventos analizados desde el campo DetectionList.
detection.Results extensions.vulns.vulnerabilities.description Se asigna directamente al campo de descripción dentro del array de vulnerabilidades para los eventos analizados desde el campo DetectionList. Las tabulaciones y los saltos de línea se reemplazan por espacios.
detection.Severity extensions.vulns.vulnerabilities.severity Se asignó desde detection.Severity. Los valores 0, 1 y 2 se convierten en "LOW"; los valores 3 y 4 se convierten en "MEDIUM"; y los valores 5, 6 y 7 se convierten en "HIGH" dentro del array de vulnerabilidades para los eventos analizados desde el campo DetectionList.
detection.Status extensions.vulns.vulnerabilities.about.resource.attribute.labels Se agrega como una etiqueta con la clave "Estado de detección" dentro del array de vulnerabilidades para los eventos analizados desde el campo DetectionList.
detection.TimesFound extensions.vulns.vulnerabilities.about.resource.attribute.labels Se agrega como una etiqueta con la clave "TimesFound" dentro del array de vulnerabilidades para los eventos analizados desde el campo DetectionList.
timestamp metadata.event_timestamp, timestamp El campo timestamp del registro sin procesar se usa tanto para la marca de tiempo del evento como para la marca de tiempo de nivel superior.

¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.