Recoger registros de gestión de vulnerabilidades de Qualys

Disponible en:

Este analizador gestiona los registros de gestión de vulnerabilidades de Qualys en formato de pares clave-valor o JSON. Extrae los detalles de las vulnerabilidades, la información del host y los metadatos de los análisis, y los asigna al UDM. El analizador también gestiona diferentes estructuras de registro, prioriza el análisis de clave-valor y recurre a JSON si es necesario, y divide la matriz DetectionList en eventos de vulnerabilidad individuales.

Antes de empezar

Asegúrate de que cumples los siguientes requisitos previos:

  • Instancia de Google Security Operations.
  • Acceso privilegiado a la consola de Qualys VMDR.

Opcional: Crea un usuario de API específico en Qualys

  1. Inicia sesión en la consola de Qualys.
  2. Ve a Usuarios.
  3. Haz clic en Nuevo > Usuario.
  4. Introduce la información general necesaria del usuario.
  5. Selecciona la pestaña Rol de usuario.
  6. Asegúrate de que el rol tenga marcada la casilla Acceso a la API.
  7. Haz clic en Guardar.

Identificar tu URL de API de Qualys específica

Opción 1

Identifique sus URLs tal como se indica en la sección Identificación de la plataforma.

Opción 2

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

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 Feed name (Nombre del feed), introduce un nombre para el feed; por ejemplo, Qualys VM Logs (Registros de VM de Qualys).
  5. Seleccione API de terceros como Tipo de fuente.
  6. Seleccione Qualys VM como tipo de registro.
  7. Haz clic en Siguiente.
  8. Especifique los valores de los siguientes parámetros de entrada:
    • Nombre de usuario: introduce el nombre de usuario.
    • Secreto: introduce 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), donde <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. 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
DETECTION.FIRST_FOUND_DATETIME extensions.vulns.vulnerabilities.first_found Se ha analizado a partir del campo DETECTION.FIRST_FOUND_DATETIME y se ha convertido el valor de cadena en una marca de tiempo.
DETECTION.LAST_FOUND_DATETIME extensions.vulns.vulnerabilities.last_found Se ha analizado a partir del campo DETECTION.LAST_FOUND_DATETIME y se ha convertido el valor de 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 mediante grok.
DETECTION.SEVERITY extensions.vulns.vulnerabilities.severity Mapeado de 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 ha añadido como etiqueta con la clave "Estado de detección".
DETECTION.TYPE extensions.vulns.vulnerabilities.about.labels Se ha añadido como etiqueta con la clave "Detection type".
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 ha analizado a partir del campo HOST.LAST_SCAN_DATETIME y se ha convertido el valor de cadena en una marca de tiempo.
HOST.LAST_VM_SCANNED_DATE extensions.vulns.vulnerabilities.scan_end_time Se ha analizado a partir del campo HOST.LAST_VM_SCANNED_DATE y se ha convertido el valor de cadena en una marca de tiempo.
HOST.NETBIOS additional.fields Se ha añadido como 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 ha añadido como etiqueta con la clave "HOST QG_HOSTID".
HOST.TRACKING_METHOD additional.fields Se ha añadido como 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 ha analizado a partir del campo LastScanDateTime y se ha convertido el valor de cadena en una marca de tiempo.
LastVMAuthScanDuration additional.fields Se ha añadido como etiqueta con la clave "LastVMAuthScanDuration".
LastVMScanDate extensions.vulns.vulnerabilities.scan_end_time Se ha analizado a partir del campo LastVMScanDate y se ha convertido el valor de cadena en una marca de tiempo.
LastVMScanDuration additional.fields Se ha añadido como etiqueta con la clave "LastVMScanDuration".
LAST_FOUND_DATETIME extensions.vulns.vulnerabilities.last_found Se ha analizado a partir del campo LAST_FOUND_DATETIME y se ha convertido el valor de cadena en una marca de tiempo.
LAST_SCAN_DATETIME extensions.vulns.vulnerabilities.scan_start_time Se ha analizado a partir del campo LAST_SCAN_DATETIME y se ha convertido el valor de cadena en una marca de tiempo.
LAST_VM_SCANNED_DATE extensions.vulns.vulnerabilities.scan_end_time Se ha analizado a partir del campo LAST_VM_SCANNED_DATE y se ha convertido el valor de cadena en una marca de tiempo.
NETBIOS additional.fields Se ha añadido como etiqueta con la clave "NETBIOS".
NetworkID additional.fields Se ha añadido como etiqueta con la clave "NetworkID".
NETWORK_ID additional.fields Se ha añadido como 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 Asigna a principal.asset_id el valor "Host Id:%{QgHostID}".
SEVERITY extensions.vulns.vulnerabilities.severity Mapeado de 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 ha añadido como etiqueta con la clave "TRACKING_METHOD".
TrackingMethod additional.fields Se ha añadido como etiqueta con la clave "TRACKING_METHOD".
N/A metadata.vendor_name Codificado como "Qualys".
N/A metadata.product_name Se ha codificado como "Gestión de vulnerabilidades".
N/A metadata.event_type Se asigna el valor "SCAN_VULN_HOST" si _vulns no está vacío, "STATUS_UPDATE" si prin_host o IP no están vacíos y "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 alguna de ellas contiene "Linux", la plataforma se define como "LINUX". Si alguna contiene "Windows", la plataforma se define como "WINDOWS". Si alguna contiene "mac" o "IOS", la plataforma se define como "MAC".
detection.DType extensions.vulns.vulnerabilities.about.resource.attribute.labels Se añade como una etiqueta con la clave "Detection Type" en la matriz de vulnerabilidades de los eventos analizados del campo DetectionList.
detection.FirstFoundTime extensions.vulns.vulnerabilities.first_found Se analiza a partir del campo detection.FirstFoundTime y se convierte el valor de cadena en una marca de tiempo en la matriz de vulnerabilidades de los eventos analizados a partir del campo DetectionList.
detection.LastFoundTime extensions.vulns.vulnerabilities.last_found Se analiza a partir del campo detection.LastFoundTime y se convierte el valor de cadena en una marca de tiempo en la matriz de vulnerabilidades de los eventos analizados a partir del campo DetectionList.
detection.LastProcessedDatetime extensions.vulns.vulnerabilities.about.resource.attribute.labels Se añade como una etiqueta con la clave "LastProcessedDatetime" en la matriz de vulnerabilidades de los eventos analizados del campo DetectionList.
detection.LastTestDateTime extensions.vulns.vulnerabilities.about.resource.attribute.labels Se añade como etiqueta con la clave "LastTestDateTime" en la matriz de vulnerabilidades de los eventos analizados del campo DetectionList.
detection.LastUpdateDateTime extensions.vulns.vulnerabilities.about.resource.attribute.labels Se añade como una etiqueta con la clave "LastUpdateDateTime" en la matriz de vulnerabilidades de los eventos analizados del campo DetectionList.
detection.Qid extensions.vulns.vulnerabilities.name Concatena "QID: " con el valor de detection.Qid en la matriz de vulnerabilidades de los eventos analizados del campo DetectionList.
detection.Results extensions.vulns.vulnerabilities.description Se asigna directamente al campo de descripción de la matriz de vulnerabilidades de los eventos analizados del campo DetectionList. Las tabulaciones y los saltos de línea se sustituyen por espacios.
detection.Severity extensions.vulns.vulnerabilities.severity Mapeado de 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" en la matriz de vulnerabilidades de los eventos analizados del campo DetectionList.
detection.Status extensions.vulns.vulnerabilities.about.resource.attribute.labels Se añade como una etiqueta con la clave "Detection status" (Estado de detección) en la matriz de vulnerabilidades de los eventos analizados del campo DetectionList.
detection.TimesFound extensions.vulns.vulnerabilities.about.resource.attribute.labels Se añade como una etiqueta con la clave "TimesFound" en la matriz de vulnerabilidades de los eventos analizados del 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? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.