Raccogli i log di scansione di Qualys
Questo parser estrae i campi dai log JSON di Qualys Scan, normalizza i timestamp e li mappa all'UDM. Gestisce vari tipi di eventi Qualys, inclusi eventi generici e accessi utente, compilando i campi UDM con informazioni e metadati di sicurezza pertinenti.
Prima di iniziare
- Assicurati di avere un'istanza Google Security Operations.
- Assicurati di disporre dell'accesso privilegiato alla console Qualys VMDR.
(Facoltativo) Crea un utente API dedicato in Qualys
- Accedi alla console Qualys.
- Vai a Utenti.
- Fai clic su Nuovo > Utente.
- Inserisci le Informazioni generali richieste per l'utente.
- Seleziona la scheda Ruolo utente.
- Assicurati che per il ruolo sia selezionata la casella di controllo Accesso API.
- Fai clic su Salva.
Identifica l'URL API Qualys specifico
Opzione 1
Identifica i tuoi URL come indicato nell'identificazione della piattaforma.
Opzione 2
- Accedi alla console Qualys.
- Vai a Guida > Informazioni.
- Scorri per visualizzare queste informazioni in Security Operations Center (SOC).
- Copia l'URL dell'API Qualys.
Configura un feed in Google SecOps per importare i log di scansione di Qulays
- Vai a Impostazioni SIEM > Feed.
- Fai clic su Aggiungi nuovo.
- Nel campo Nome feed, inserisci un nome per il feed (ad esempio Log di scansione Qualys).
- Seleziona API di terze parti come Tipo di origine.
- Seleziona Scansione Qualys come tipo di log.
- Fai clic su Avanti.
- Specifica i valori per i seguenti parametri di input:
- Nome utente: inserisci il nome utente dell'utente dedicato.
- Secret: inserisci la password per l'utente dedicato.
- Percorso completo dell'API: fornisci l'URL del server dell'API Qualys non codificato (ad esempio
qualysapi.qg2.apps.qualys.eu
). - Tipo di API: seleziona il tipo di scansione da importare.
- Spazio dei nomi degli asset: lo spazio dei nomi degli asset.
- Etichette di importazione: l'etichetta applicata agli eventi di questo feed.
- Fai clic su Avanti.
- Controlla la configurazione del feed nella schermata Concludi e poi fai clic su Invia.
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logica |
---|---|---|
Category |
security_result.category_details |
Mappato direttamente dal campo Category . |
ID |
metadata.product_log_id |
Mappato direttamente dal campo ID . Convertito in stringa. |
LaunchDatetime |
metadata.event_timestamp |
Utilizzato come timestamp dell'evento se ScanInput.ScanDatetime e UpdateDate non sono presenti. Analizzata nel formato "ISO8601". |
Ref |
additional.fields[1].key additional.fields[1].value.string_value |
Mappato a additional.fields con chiave "ScanReference" se ScanReference non è presente. |
ScanDetails.Status |
security_result.detection_fields[0].key security_result.detection_fields[0].value |
Mappato a security_result.detection_fields con chiave "ScanDetails Status". |
ScanInput.Network.ID |
additional.fields[0].key additional.fields[0].value.string_value |
Mappato a additional.fields con la chiave "ID rete ScanInput". |
ScanInput.Network.Name |
additional.fields[1].key additional.fields[1].value.string_value |
Mappato a additional.fields con la chiave "ScanInput Network Name". |
ScanInput.OptionProfile.ID |
additional.fields[2].key additional.fields[2].value.string_value |
Mappato a additional.fields con la chiave "ID profilo opzione ScanInput". |
ScanInput.OptionProfile.Name |
additional.fields[3].key additional.fields[3].value.string_value |
Mappato a additional.fields con la chiave "Nome profilo opzione ScanInput". |
ScanInput.ScanDatetime |
metadata.event_timestamp |
Utilizzato come timestamp dell'evento, se presente. Analizzata nel formato "ISO8601". |
ScanInput.Title |
metadata.description |
Mappato direttamente dal campo ScanInput.Title . |
ScanInput.Username |
principal.user.userid |
Mappato direttamente dal campo ScanInput.Username . |
ScanReference |
additional.fields[4].key additional.fields[4].value.string_value |
Mappato a additional.fields con la chiave "ScanReference". |
Statement |
metadata.description |
Mappato direttamente dal campo Statement se ScanInput.Title e Title non sono presenti. |
Status |
security_result.detection_fields[0].key security_result.detection_fields[0].value |
Mappato a security_result.detection_fields con chiave "Stato". |
SubCategory |
security_result.description |
Mappato direttamente dal campo SubCategory . |
Technologies[].ID |
security_result.detection_fields[0].value |
Mappato direttamente dal campo Technologies[].ID . Convertito in stringa. Componente di un oggetto security_result ripetuto. |
Technologies[].Name |
security_result.detection_fields[1].value |
Mappato direttamente dal campo Technologies[].Name . Componente di un oggetto security_result ripetuto. |
Technologies[].Rationale |
security_result.detection_fields[2].value |
Mappato direttamente dal campo Technologies[].Rationale . Componente di un oggetto security_result ripetuto. |
Title |
metadata.description |
Mappato direttamente dal campo Title se ScanInput.Title e Statement non sono presenti. |
Type |
additional.fields[2].key additional.fields[2].value.string_value |
Mappato a additional.fields con la chiave "Tipo". |
UpdateDate |
metadata.event_timestamp |
Utilizzato come timestamp dell'evento se ScanInput.ScanDatetime non è presente. Analizzata nel formato "ISO8601". |
Userlogin |
target.user.userid |
Mappato direttamente dal campo Userlogin . Impostato su "AUTHTYPE_UNSPECIFIED" se è presente Userlogin . Impostato su "GENERIC_EVENT". Modificato in "USER_LOGIN" se è presente Userlogin . Modificato in "USER_UNCATEGORIZED" se metadata_event_type è "GENERIC_EVENT" e ScanInput.Username è presente. Impostato su "QUALYS_SCAN". Impostato su "QUALYS_SCAN". Imposta su "ID" per ogni tecnologia. Componente di un oggetto security_result ripetuto. Imposta su "Nome" per ogni tecnologia. Componente di un oggetto security_result ripetuto. Imposta su "Motivazione" per ogni tecnologia. Componente di un oggetto security_result ripetuto. |
Modifiche
2023-04-21
- Parser appena creato.
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.