Collecter les journaux de Qualys Vulnerability Management

Compatible avec :

Ce parseur gère les journaux de Qualys Vulnerability Management au format clé/valeur ou JSON. Il extrait les détails des failles, les informations sur l'hôte et les métadonnées d'analyse, puis les mappe à l'UDM. Le parseur gère également différentes structures de journaux, en privilégiant l'analyse clé/valeur et en revenant au format JSON si nécessaire. Il divise le tableau DetectionList en événements de failles individuels.

Avant de commencer

Assurez-vous de remplir les conditions suivantes :

  • Instance Google Security Operations
  • Accès privilégié à la console Qualys VMDR

Facultatif : Créer un utilisateur API dédié dans Qualys

  1. Connectez-vous à la console Qualys.
  2. Accédez à Users (Utilisateurs).
  3. Cliquez sur New (Nouveau) > User (Utilisateur).
  4. Saisissez les General Information (Informations générales) requises pour l'utilisateur.
  5. Sélectionnez l'onglet User Role (Rôle utilisateur).
  6. Assurez-vous que la case API Access (Accès à l'API) est cochée pour le rôle.
  7. Cliquez sur Save (Enregistrer).

Identifier votre URL d'API Qualys spécifique

Option 1

Identifiez vos URL comme indiqué dans l'identification de la plate-forme.

Option 2

  1. Connectez-vous à la console Qualys.
  2. Accédez à Help (Aide) > About (À propos).
  3. Faites défiler la page pour afficher ces informations sous Centre des opérations de sécurité (SOC).
  4. Copiez l'URL de l'API Qualys.

Configurer des flux

Pour configurer un flux, procédez comme suit :

  1. Accédez à SIEM Settings (Paramètres SIEM) > Feeds (Flux).
  2. Cliquez sur Add New Feed (Ajouter un flux).
  3. Sur la page suivante, cliquez sur Configure a single feed (Configurer un seul flux).
  4. Dans le champ Feed name (Nom du flux), saisissez un nom pour le flux, par exemple Qualys VM Logs (Journaux de VM Qualys).
  5. Sélectionnez Third Party API (API tierce) comme Source type (Type de source).
  6. Sélectionnez Qualys VM comme type de journal.
  7. Cliquez sur Next (Suivant).
  8. Spécifiez les valeurs des paramètres d'entrée suivants :
    • Username (Nom d'utilisateur) : saisissez le nom d'utilisateur.
    • Secret (Code secret) : saisissez le mot de passe.
    • API Full Path (Chemin d'accès complet de l'API) : indiquez l'URL du serveur d'API Qualys (par exemple, <qualys_base_url>/api/2.0/fo/asset/host/vm/detection/?action=list), où <qualys_base_url> est l'URL de base du serveur d'API Qualys sur lequel votre compte est hébergé.
  9. Cliquez sur Next (Suivant).
  10. Vérifiez la configuration du flux dans l'écran Finalize (Finaliser), puis cliquez sur Submit (Envoyer).

Table de mappage UDM

Champ du journal Mappage UDM Logique
DETECTION.FIRST_FOUND_DATETIME extensions.vulns.vulnerabilities.first_found Analysé à partir du champ DETECTION.FIRST_FOUND_DATETIME, en convertissant la valeur de chaîne en un horodatage.
DETECTION.LAST_FOUND_DATETIME extensions.vulns.vulnerabilities.last_found Analysé à partir du champ DETECTION.LAST_FOUND_DATETIME, en convertissant la valeur de chaîne en un horodatage.
DETECTION.QID extensions.vulns.vulnerabilities.name Concatène "QID: " avec la valeur de DETECTION.QID.
DETECTION.RESULTS extensions.vulns.vulnerabilities.description Mappe directement au champ de description. Également utilisé pour extraire network.ip_protocol et principal.port à l'aide de grok.
DETECTION.SEVERITY extensions.vulns.vulnerabilities.severity Mappé à partir de DETECTION.SEVERITY. Les valeurs 0, 1 et 2 deviennent "LOW" (Faible) ; 3 et 4 deviennent "MEDIUM" (Moyenne) ; 5, 6 et 7 deviennent "HIGH" (Élevée).
DETECTION.STATUS extensions.vulns.vulnerabilities.about.labels Ajouté en tant que libellé avec la clé "Detection status" (État de la détection).
DETECTION.TYPE extensions.vulns.vulnerabilities.about.labels Ajouté en tant que libellé avec la clé "Detection type" (Type de détection).
DNS principal.hostname Mappe directement à principal.hostname.
DNSData.DOMAIN principal.domain.name Mappe directement à principal.domain.name.
HOST.ASSET_ID principal.asset_id Concatène "QUALYS:" avec la valeur de HOST.ASSET_ID.
HOST.DNS principal.hostname Mappe directement à principal.hostname si DNS est vide.
HOST.DNS_DATA.DOMAIN principal.domain.name Mappe directement à principal.domain.name si DNSData.DOMAIN est vide.
HOST.ID metadata.product_log_id Mappe directement à metadata.product_log_id.
HOST.IP principal.ip Mappe directement à principal.ip si IP est vide.
HOST.LAST_SCAN_DATETIME extensions.vulns.vulnerabilities.scan_start_time Analysé à partir du champ HOST.LAST_SCAN_DATETIME, en convertissant la valeur de chaîne en un horodatage.
HOST.LAST_VM_SCANNED_DATE extensions.vulns.vulnerabilities.scan_end_time Analysé à partir du champ HOST.LAST_VM_SCANNED_DATE, en convertissant la valeur de chaîne en un horodatage.
HOST.NETBIOS additional.fields Ajouté en tant que libellé avec la clé "HOST NETBIOS".
HOST.OS principal.platform_version Mappe directement à principal.platform_version si OS est vide.
HOST.QG_HOSTID additional.fields Ajouté en tant que libellé avec la clé "HOST QG_HOSTID".
HOST.TRACKING_METHOD additional.fields Ajouté en tant que libellé avec la clé "HOST TRACKING_METHOD".
HOST_ID principal.asset_id Concatène "QUALYS:" avec la valeur de HOST_ID.
ID metadata.product_log_id Mappe directement à metadata.product_log_id.
IP principal.ip Mappe directement à principal.ip.
LastScanDateTime extensions.vulns.vulnerabilities.scan_start_time Analysé à partir du champ LastScanDateTime, en convertissant la valeur de chaîne en un horodatage.
LastVMAuthScanDuration additional.fields Ajouté en tant que libellé avec la clé "LastVMAuthScanDuration".
LastVMScanDate extensions.vulns.vulnerabilities.scan_end_time Analysé à partir du champ LastVMScanDate, en convertissant la valeur de chaîne en un horodatage.
LastVMScanDuration additional.fields Ajouté en tant que libellé avec la clé "LastVMScanDuration".
LAST_FOUND_DATETIME extensions.vulns.vulnerabilities.last_found Analysé à partir du champ LAST_FOUND_DATETIME, en convertissant la valeur de chaîne en un horodatage.
LAST_SCAN_DATETIME extensions.vulns.vulnerabilities.scan_start_time Analysé à partir du champ LAST_SCAN_DATETIME, en convertissant la valeur de chaîne en un horodatage.
LAST_VM_SCANNED_DATE extensions.vulns.vulnerabilities.scan_end_time Analysé à partir du champ LAST_VM_SCANNED_DATE, en convertissant la valeur de chaîne en un horodatage.
NETBIOS additional.fields Ajouté en tant que libellé avec la clé "NETBIOS".
NetworkID additional.fields Ajouté en tant que libellé avec la clé "NetworkID".
NETWORK_ID additional.fields Ajouté en tant que libellé avec la clé "NetworkID".
OS principal.platform_version Mappe directement à principal.platform_version.
Os principal.platform_version Mappe directement à principal.platform_version si OS est vide.
QID extensions.vulns.vulnerabilities.name Concatène "QID: " avec la valeur de QID.
QgHostID principal.asset_id Définit principal.asset_id sur "Host Id:%{QgHostID}".
SEVERITY extensions.vulns.vulnerabilities.severity Mappé à partir de SEVERITY. Les valeurs 0, 1 et 2 deviennent "LOW" (Faible) ; 3 et 4 deviennent "MEDIUM" (Moyenne) ; 5, 6 et 7 deviennent "HIGH" (Élevée).
TRACKING_METHOD additional.fields Ajouté en tant que libellé avec la clé "TRACKING_METHOD".
TrackingMethod additional.fields Ajouté en tant que libellé avec la clé "TRACKING_METHOD".
N/A metadata.vendor_name Codé en dur sur "Qualys".
N/A metadata.product_name Codé en dur sur "Vulnerability Management".
N/A metadata.event_type Défini sur "SCAN_VULN_HOST" si _vulns n'est pas vide, sur "STATUS_UPDATE" si prin_host ou IP ne sont pas vides, et sur "GENERIC_EVENT" sinon.
N/A metadata.log_type Extrait du champ log_type du journal brut.
N/A principal.platform Déterminé à partir de OS, Os ou HOST.OS. Si l'un de ces éléments contient "Linux", la plate-forme est définie sur "LINUX". Si l'un de ces éléments contient "Windows", la plate-forme est définie sur "WINDOWS". Si l'un de ces éléments contient "mac" ou "IOS", la plate-forme est définie sur "MAC".
detection.DType extensions.vulns.vulnerabilities.about.resource.attribute.labels Ajouté en tant que libellé avec la clé "Detection Type" (Type de détection) dans le tableau des failles pour les événements analysés à partir du champ DetectionList.
detection.FirstFoundTime extensions.vulns.vulnerabilities.first_found Analysé à partir du champ detection.FirstFoundTime, en convertissant la valeur de chaîne en un horodatage dans le tableau des failles pour les événements analysés à partir du champ DetectionList.
detection.LastFoundTime extensions.vulns.vulnerabilities.last_found Analysé à partir du champ detection.LastFoundTime, en convertissant la valeur de chaîne en un horodatage dans le tableau des failles pour les événements analysés à partir du champ DetectionList.
detection.LastProcessedDatetime extensions.vulns.vulnerabilities.about.resource.attribute.labels Ajouté en tant que libellé avec la clé "LastProcessedDatetime" dans le tableau des failles pour les événements analysés à partir du champ DetectionList.
detection.LastTestDateTime extensions.vulns.vulnerabilities.about.resource.attribute.labels Ajouté en tant que libellé avec la clé "LastTestDateTime" dans le tableau des failles pour les événements analysés à partir du champ DetectionList.
detection.LastUpdateDateTime extensions.vulns.vulnerabilities.about.resource.attribute.labels Ajouté en tant que libellé avec la clé "LastUpdateDateTime" dans le tableau des failles pour les événements analysés à partir du champ DetectionList.
detection.Qid extensions.vulns.vulnerabilities.name Concatène "QID: " avec la valeur de detection.Qid dans le tableau des failles pour les événements analysés à partir du champ DetectionList.
detection.Results extensions.vulns.vulnerabilities.description Mappe directement au champ de description dans le tableau des failles pour les événements analysés à partir du champ DetectionList. Les tabulations et les sauts de ligne sont remplacés par des espaces.
detection.Severity extensions.vulns.vulnerabilities.severity Mappé à partir de detection.Severity. Les valeurs 0, 1 et 2 deviennent "LOW" (Faible) ; 3 et 4 deviennent "MEDIUM" (Moyenne) ; 5, 6 et 7 deviennent "HIGH" (Élevée) dans le tableau des failles pour les événements analysés à partir du champ DetectionList.
detection.Status extensions.vulns.vulnerabilities.about.resource.attribute.labels Ajouté en tant que libellé avec la clé "Detection status" (État de la détection) dans le tableau des failles pour les événements analysés à partir du champ DetectionList.
detection.TimesFound extensions.vulns.vulnerabilities.about.resource.attribute.labels Ajouté en tant que libellé avec la clé "TimesFound" dans le tableau des failles pour les événements analysés à partir du champ DetectionList.
timestamp metadata.event_timestamp, timestamp Le champ timestamp du journal brut est utilisé à la fois pour l'horodatage de l'événement et pour l'horodatage de premier niveau.

Journal des modifications

Consulter le journal des modifications de ce parseur

Vous avez encore besoin d'aide ? Obtenez des réponses auprès des membres de la communauté et des professionnels de Google SecOps.