Collecter les journaux d'analyse Qualys

Compatible avec :

Ce parseur extrait les champs des journaux JSON d'analyse Qualys, normalise les codes temporels et les mappe à l'UDM. Il gère différents types d'événements Qualys, y compris les événements génériques et les connexions utilisateur, en remplissant les champs UDM avec les informations de sécurité et les métadonnées pertinentes.

Avant de commencer

Assurez-vous de remplir les conditions préalables suivantes :

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

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

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

Identifier votre URL d'API Qualys spécifique

Option 1

Identifiez vos URL comme indiqué dans la section Identification de la plate-forme.

Option 2

  1. Connectez-vous à la console Qualys.
  2. Accédez à Aide > À 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

Il existe deux points d'entrée différents pour configurer les flux dans la plate-forme Google SecOps :

  • Paramètres SIEM> Flux
  • Plate-forme de contenu > Packs de contenu

Configurer des flux à partir de Paramètres SIEM > Flux

Pour configurer un flux, procédez comme suit :

  1. Accédez à Paramètres SIEM > Flux.
  2. Cliquez sur Add New Feed (Ajouter un flux).
  3. Sur la page suivante, cliquez sur Configurer un seul flux.
  4. Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple, Journaux d'analyse Qualys).
  5. Sélectionnez API tierce comme Type de source.
  6. Sélectionnez Analyse Qualys comme type de journal.
  7. Cliquez sur Suivant.
  8. Spécifiez les valeurs des paramètres d'entrée suivants :
    • Nom d'utilisateur : saisissez le nom d'utilisateur dédié.
    • Secret : saisissez le mot de passe de l'utilisateur dédié.
    • Chemin d'accès complet à l'API : indiquez l'URL du serveur de l'API Qualys en texte brut (par exemple, qualysapi.qg2.apps.qualys.eu).
    • Type d'API : sélectionnez le type d'analyse que vous souhaitez ingérer.
  9. Cliquez sur Suivant.
  10. Vérifiez la configuration du flux sur l'écran Finaliser, puis cliquez sur Envoyer.

Configurer des flux depuis le Hub de contenu

Indiquez les valeurs des champs suivants :

  • Nom d'utilisateur : saisissez le nom d'utilisateur dédié.
  • Secret : saisissez le mot de passe de l'utilisateur dédié.
  • Chemin d'accès complet à l'API : indiquez l'URL du serveur de l'API Qualys en texte brut (par exemple, qualysapi.qg2.apps.qualys.eu).
  • Type d'API : sélectionnez le type d'analyse que vous souhaitez ingérer.

Options avancées

  • Nom du flux : valeur préremplie qui identifie le flux.
  • Type de source : méthode utilisée pour collecter les journaux dans Google SecOps.
  • Espace de noms de l'élément : espace de noms associé au flux.
  • Libellés d'ingestion : libellés appliqués à tous les événements de ce flux.

Table de mappage UDM

Champ de journal Mappage UDM Logique
Category security_result.category_details Mappé directement à partir du champ Category.
ID metadata.product_log_id Mappé directement à partir du champ ID. Converti en chaîne.
LaunchDatetime metadata.event_timestamp Utilisé comme horodatage d'événement si ScanInput.ScanDatetime et UpdateDate ne sont pas présents. Analysé au format "ISO8601".
Ref additional.fields[1].key
additional.fields[1].value.string_value
Mappé sur additional.fields avec la clé "ScanReference" si ScanReference n'est pas présent.
ScanDetails.Status security_result.detection_fields[0].key
security_result.detection_fields[0].value
Mappé à security_result.detection_fields avec la clé "ScanDetails Status".
ScanInput.Network.ID additional.fields[0].key
additional.fields[0].value.string_value
Mappé à additional.fields avec la clé "ScanInput Network ID".
ScanInput.Network.Name additional.fields[1].key
additional.fields[1].value.string_value
Mappé à additional.fields avec la clé "ScanInput Network Name".
ScanInput.OptionProfile.ID additional.fields[2].key
additional.fields[2].value.string_value
Mappé sur additional.fields avec la clé "ScanInput Option Profile ID".
ScanInput.OptionProfile.Name additional.fields[3].key
additional.fields[3].value.string_value
Mappé sur additional.fields avec la clé "ScanInput Option Profile Name".
ScanInput.ScanDatetime metadata.event_timestamp Utilisé comme code temporel de l'événement, le cas échéant. Analysé au format "ISO8601".
ScanInput.Title metadata.description Mappé directement à partir du champ ScanInput.Title.
ScanInput.Username principal.user.userid Mappé directement à partir du champ ScanInput.Username.
ScanReference additional.fields[4].key
additional.fields[4].value.string_value
Mappé sur additional.fields avec la clé "ScanReference".
Statement metadata.description Directement mappé à partir du champ Statement si ScanInput.Title et Title ne sont pas présents.
Status security_result.detection_fields[0].key
security_result.detection_fields[0].value
Mappé à security_result.detection_fields avec la clé "Status".
SubCategory security_result.description Mappé directement à partir du champ SubCategory.
Technologies[].ID security_result.detection_fields[0].value Mappé directement à partir du champ Technologies[].ID. Converti en chaîne. Partie d'un objet security_result répété.
Technologies[].Name security_result.detection_fields[1].value Mappé directement à partir du champ Technologies[].Name. Partie d'un objet security_result répété.
Technologies[].Rationale security_result.detection_fields[2].value Mappé directement à partir du champ Technologies[].Rationale. Partie d'un objet security_result répété.
Title metadata.description Directement mappé à partir du champ Title si ScanInput.Title et Statement ne sont pas présents.
Type additional.fields[2].key
additional.fields[2].value.string_value
Mappé sur additional.fields avec la clé "Type".
UpdateDate metadata.event_timestamp Utilisé comme code temporel de l'événement si ScanInput.ScanDatetime n'est pas présent. Analysé au format "ISO8601".
Userlogin target.user.userid Mappé directement à partir du champ Userlogin. Définissez sur "AUTHTYPE_UNSPECIFIED" si Userlogin est présent. Défini sur "GENERIC_EVENT". Passé à "USER_LOGIN" si Userlogin est présent. Passé à "USER_UNCATEGORIZED" si metadata_event_type est "GENERIC_EVENT" et que ScanInput.Username est présent. Définissez-le sur "QUALYS_SCAN". Définissez-le sur "QUALYS_SCAN". Définissez la valeur sur "ID" pour chaque technologie. Partie d'un objet security_result répété. Définissez "Nom" pour chaque technologie. Partie d'un objet security_result répété. Définissez la valeur "Justification" pour chaque technologie. Partie d'un objet security_result répété.

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