Raccogliere i log di Qualys Vulnerability Management

Supportato in:

Questo parser gestisce i log di Qualys Vulnerability Management in formato chiave-valore (KV) o JSON. Estrae i dettagli delle vulnerabilità, le informazioni sull'host e i metadati della scansione, mappandoli su UDM. Il parser gestisce anche diverse strutture di log, dando la priorità all'analisi KV e tornando a JSON se necessario, e suddivide l'array DetectionList in singoli eventi di vulnerabilità.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Istanza Google Security Operations.
  • Accesso con privilegi alla console Qualys VMDR.

(Facoltativo) Crea un utente API dedicato in Qualys

  1. Accedi alla console Qualys.
  2. Vai a Utenti.
  3. Fai clic su Nuovo > Utente.
  4. Inserisci le informazioni generali richieste per l'utente.
  5. Seleziona la scheda Ruolo utente.
  6. Assicurati che la casella di controllo Accesso API sia selezionata per il ruolo.
  7. Fai clic su Salva.

Identificare l'URL API Qualys specifico

Opzione 1

Identifica i tuoi URL come indicato nell'identificazione della piattaforma.

Opzione 2

  1. Accedi alla console Qualys.
  2. Vai ad Aiuto > Informazioni.
  3. Scorri per visualizzare queste informazioni nella sezione Security Operations Center (SOC).
  4. Copia l'URL dell'API Qualys.

Configurare i feed

Esistono due diversi punti di accesso per configurare i feed nella piattaforma Google SecOps:

  • Impostazioni SIEM > Feed
  • Hub dei contenuti > Pacchetti di contenuti

Configura i feed da Impostazioni SIEM > Feed

Per configurare un feed:

  1. Vai a Impostazioni SIEM > Feed.
  2. Fai clic su Aggiungi nuovo feed.
  3. Nella pagina successiva, fai clic su Configura un singolo feed.
  4. Nel campo Nome feed, inserisci un nome per il feed, ad esempio Qualys VM Logs.
  5. Seleziona API di terze parti come Tipo di origine.
  6. Seleziona Qualys VM come tipo di log.
  7. Fai clic su Avanti.
  8. Specifica i valori per i seguenti parametri di input:
    • Nome utente: inserisci il nome utente.
    • Secret (Segreto): inserisci la password.
    • Percorso completo API: fornisci l'URL del server API Qualys (ad esempio https://<qualys_base_url>/api/2.0/fo/asset/host/?action=list), dove <qualys_base_url> è l'URL di base del server API Qualys in cui si trova il tuo account.
  9. Fai clic su Avanti.
  10. Controlla la configurazione del feed nella schermata Finalizza e poi fai clic su Invia.

Configurare i feed dall'hub dei contenuti

Specifica i valori per i seguenti campi:

  • Nome utente: inserisci il nome utente.
  • Secret (Segreto): inserisci la password.
  • Percorso completo API: fornisci l'URL del server API Qualys (ad esempio https://<qualys_base_url>/api/2.0/fo/asset/host/?action=list), dove <qualys_base_url> è l'URL di base del server API Qualys in cui si trova il tuo account.

Opzioni avanzate

  • Nome feed: un valore precompilato che identifica il feed.
  • Tipo di origine: metodo utilizzato per raccogliere i log in Google SecOps.
  • Spazio dei nomi dell'asset: lo spazio dei nomi associato al feed.
  • Etichette di importazione: etichette applicate a tutti gli eventi di questo feed.

Tabella di mappatura UDM

Campo log Mappatura UDM Logic
DETECTION.FIRST_FOUND_DATETIME extensions.vulns.vulnerabilities.first_found Analizzato dal campo DETECTION.FIRST_FOUND_DATETIME, convertendo il valore della stringa in un timestamp.
DETECTION.LAST_FOUND_DATETIME extensions.vulns.vulnerabilities.last_found Analizzato dal campo DETECTION.LAST_FOUND_DATETIME, convertendo il valore della stringa in un timestamp.
DETECTION.QID extensions.vulns.vulnerabilities.name Concatena "QID: " con il valore di DETECTION.QID.
DETECTION.RESULTS extensions.vulns.vulnerabilities.description Corrisponde direttamente al campo della descrizione. Utilizzato anche per estrarre network.ip_protocol e principal.port utilizzando grok.
DETECTION.SEVERITY extensions.vulns.vulnerabilities.severity Mappato da DETECTION.SEVERITY. I valori 0, 1 e 2 diventano "LOW"; 3 e 4 diventano "MEDIUM"; 5, 6 e 7 diventano "HIGH".
DETECTION.STATUS extensions.vulns.vulnerabilities.about.labels Aggiunto come etichetta con la chiave "Stato rilevamento".
DETECTION.TYPE extensions.vulns.vulnerabilities.about.labels Aggiunto come etichetta con la chiave "Tipo di rilevamento".
DNS principal.hostname Corrisponde direttamente a principal.hostname.
DNSData.DOMAIN principal.domain.name Corrisponde direttamente a principal.domain.name.
HOST.ASSET_ID principal.asset_id Concatena "QUALYS:" con il valore di HOST.ASSET_ID.
HOST.DNS principal.hostname Mappa direttamente principal.hostname se DNS è vuoto.
HOST.DNS_DATA.DOMAIN principal.domain.name Mappa direttamente principal.domain.name se DNSData.DOMAIN è vuoto.
HOST.ID metadata.product_log_id Corrisponde direttamente a metadata.product_log_id.
HOST.IP principal.ip Mappa direttamente principal.ip se IP è vuoto.
HOST.LAST_SCAN_DATETIME extensions.vulns.vulnerabilities.scan_start_time Analizzato dal campo HOST.LAST_SCAN_DATETIME, convertendo il valore della stringa in un timestamp.
HOST.LAST_VM_SCANNED_DATE extensions.vulns.vulnerabilities.scan_end_time Analizzato dal campo HOST.LAST_VM_SCANNED_DATE, convertendo il valore della stringa in un timestamp.
HOST.NETBIOS additional.fields Aggiunto come etichetta con la chiave "HOST NETBIOS".
HOST.OS principal.platform_version Mappa direttamente principal.platform_version se OS è vuoto.
HOST.QG_HOSTID additional.fields Aggiunto come etichetta con la chiave "HOST QG_HOSTID".
HOST.TRACKING_METHOD additional.fields Aggiunto come etichetta con la chiave "HOST TRACKING_METHOD".
HOST_ID principal.asset_id Concatena "QUALYS:" con il valore di HOST_ID.
ID metadata.product_log_id Corrisponde direttamente a metadata.product_log_id.
IP principal.ip Corrisponde direttamente a principal.ip.
LastScanDateTime extensions.vulns.vulnerabilities.scan_start_time Analizzato dal campo LastScanDateTime, convertendo il valore della stringa in un timestamp.
LastVMAuthScanDuration additional.fields Aggiunto come etichetta con la chiave "LastVMAuthScanDuration".
LastVMScanDate extensions.vulns.vulnerabilities.scan_end_time Analizzato dal campo LastVMScanDate, convertendo il valore della stringa in un timestamp.
LastVMScanDuration additional.fields Aggiunto come etichetta con la chiave "LastVMScanDuration".
LAST_FOUND_DATETIME extensions.vulns.vulnerabilities.last_found Analizzato dal campo LAST_FOUND_DATETIME, convertendo il valore della stringa in un timestamp.
LAST_SCAN_DATETIME extensions.vulns.vulnerabilities.scan_start_time Analizzato dal campo LAST_SCAN_DATETIME, convertendo il valore della stringa in un timestamp.
LAST_VM_SCANNED_DATE extensions.vulns.vulnerabilities.scan_end_time Analizzato dal campo LAST_VM_SCANNED_DATE, convertendo il valore della stringa in un timestamp.
NETBIOS additional.fields Aggiunto come etichetta con la chiave "NETBIOS".
NetworkID additional.fields Aggiunto come etichetta con la chiave "NetworkID".
NETWORK_ID additional.fields Aggiunto come etichetta con la chiave "NetworkID".
OS principal.platform_version Corrisponde direttamente a principal.platform_version.
Os principal.platform_version Mappa direttamente principal.platform_version se OS è vuoto.
QID extensions.vulns.vulnerabilities.name Concatena "QID: " con il valore di QID.
QgHostID principal.asset_id Imposta principal.asset_id su "Host Id:%{QgHostID}".
SEVERITY extensions.vulns.vulnerabilities.severity Mappato da SEVERITY. I valori 0, 1 e 2 diventano "LOW"; 3 e 4 diventano "MEDIUM"; 5, 6 e 7 diventano "HIGH".
TRACKING_METHOD additional.fields Aggiunto come etichetta con la chiave "TRACKING_METHOD".
TrackingMethod additional.fields Aggiunto come etichetta con la chiave "TRACKING_METHOD".
N/D metadata.vendor_name Codificato in modo permanente su "Qualys".
N/D metadata.product_name Codificato in modo permanente su "Gestione delle vulnerabilità".
N/D metadata.event_type Impostato su "SCAN_VULN_HOST" se _vulns non è vuoto, "STATUS_UPDATE" se prin_host o IP non sono vuoti e "GENERIC_EVENT" in caso contrario.
N/D metadata.log_type Estratto dal campo log_type del log non elaborato.
N/D principal.platform Determinato da OS, Os o HOST.OS. Se uno di questi contiene "Linux", la piattaforma è impostata su "LINUX". Se uno qualsiasi contiene "Windows", la piattaforma è impostata su "WINDOWS". Se uno qualsiasi contiene "mac" o "IOS", la piattaforma è impostata su "MAC".
detection.DType extensions.vulns.vulnerabilities.about.resource.attribute.labels Aggiunto come etichetta con la chiave "Tipo di rilevamento" all'interno dell'array delle vulnerabilità per gli eventi analizzati dal campo DetectionList.
detection.FirstFoundTime extensions.vulns.vulnerabilities.first_found Analizzato dal campo detection.FirstFoundTime, convertendo il valore stringa in un timestamp all'interno dell'array delle vulnerabilità per gli eventi analizzati dal campo DetectionList.
detection.LastFoundTime extensions.vulns.vulnerabilities.last_found Analizzato dal campo detection.LastFoundTime, convertendo il valore stringa in un timestamp all'interno dell'array delle vulnerabilità per gli eventi analizzati dal campo DetectionList.
detection.LastProcessedDatetime extensions.vulns.vulnerabilities.about.resource.attribute.labels Aggiunto come etichetta con la chiave "LastProcessedDatetime" all'interno dell'array delle vulnerabilità per gli eventi analizzati dal campo DetectionList.
detection.LastTestDateTime extensions.vulns.vulnerabilities.about.resource.attribute.labels Aggiunto come etichetta con la chiave "LastTestDateTime" all'interno dell'array delle vulnerabilità per gli eventi analizzati dal campo DetectionList.
detection.LastUpdateDateTime extensions.vulns.vulnerabilities.about.resource.attribute.labels Aggiunto come etichetta con la chiave "LastUpdateDateTime" all'interno dell'array delle vulnerabilità per gli eventi analizzati dal campo DetectionList.
detection.Qid extensions.vulns.vulnerabilities.name Concatena "QID: " con il valore di detection.Qid all'interno dell'array delle vulnerabilità per gli eventi analizzati dal campo DetectionList.
detection.Results extensions.vulns.vulnerabilities.description Corrisponde direttamente al campo della descrizione all'interno dell'array delle vulnerabilità per gli eventi analizzati dal campo DetectionList. Le tabulazioni e i nuovi paragrafi vengono sostituiti con spazi.
detection.Severity extensions.vulns.vulnerabilities.severity Mappato da detection.Severity. I valori 0, 1 e 2 diventano "LOW"; 3 e 4 diventano "MEDIUM"; 5, 6 e 7 diventano "HIGH" all'interno dell'array delle vulnerabilità per gli eventi analizzati dal campo DetectionList.
detection.Status extensions.vulns.vulnerabilities.about.resource.attribute.labels Aggiunto come etichetta con la chiave "Detection status" (Stato rilevamento) all'interno dell'array delle vulnerabilità per gli eventi analizzati dal campo DetectionList.
detection.TimesFound extensions.vulns.vulnerabilities.about.resource.attribute.labels Aggiunto come etichetta con la chiave "TimesFound" all'interno dell'array delle vulnerabilità per gli eventi analizzati dal campo DetectionList.
timestamp metadata.event_timestamp, timestamp Il campo timestamp del log non elaborato viene utilizzato sia per il timestamp dell'evento sia per il timestamp di primo livello.

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.