Collecter les journaux d'analyse Qualys
Cet analyseur extrait des champs des journaux JSON Qualys Scan, normalise les codes temporels et les met en correspondance avec l'UDM. Il gère différents types d'événements Qualys, y compris les événements génériques et les connexions des utilisateurs, en remplissant les champs UDM avec des informations et des métadonnées de sécurité pertinentes.
Avant de commencer
- Assurez-vous de disposer d'une instance Google Security Operations.
- Assurez-vous de disposer d'un accès privilégié à la console Qualys VMDR.
Facultatif: Créer un utilisateur d'API dédié dans Qualys
- Connectez-vous à la console Qualys.
- Accédez à Utilisateurs.
- Cliquez sur Nouveau > Utilisateur.
- Saisissez les informations générales requises pour l'utilisateur.
- Sélectionnez l'onglet Rôle utilisateur.
- Assurez-vous que la case Accès aux API est cochée pour le rôle.
- 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
- Connectez-vous à la console Qualys.
- Accédez à Aide > À propos.
- Faites défiler la page pour afficher ces informations sous "Centre des opérations de sécurité (SOC)".
- Copiez l'URL de l'API Qualys.
Configurer un flux dans Google SecOps pour ingérer les journaux de l'analyse Qulays
- Accédez à Paramètres du SIEM > Flux.
- Cliquez sur Ajouter.
- Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple, Journaux d'analyse Qualys).
- Sélectionnez API tierce comme type de source.
- Sélectionnez Qualys Scan comme type de journal.
- Cliquez sur Suivant.
- Spécifiez les valeurs des paramètres d'entrée suivants :
- Nom d'utilisateur: saisissez le nom d'utilisateur de l'utilisateur dédié.
- Secret: saisissez le mot de passe de l'utilisateur dédié.
- Chemin d'accès complet de l'API: fournissez l'URL du serveur de l'API Qualys (par exemple,
qualysapi.qg2.apps.qualys.eu
). - Type d'API: sélectionnez le type d'analyse que vous souhaitez ingérer.
- Espace de noms des éléments: espace de noms des éléments.
- Libellés d'ingestion: libellé appliqué aux événements de ce flux.
- Cliquez sur Suivant.
- Vérifiez la configuration du flux dans l'écran Finaliser, puis cliquez sur Envoyer.
Tableau 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 code temporel d'événement si ScanInput.ScanDatetime et UpdateDate ne sont pas présents. Analyse 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é sur security_result.detection_fields avec la clé "ScanDetails Status". |
ScanInput.Network.ID |
additional.fields[0].key additional.fields[0].value.string_value |
Mappé sur additional.fields avec la clé "ID de réseau ScanInput". |
ScanInput.Network.Name |
additional.fields[1].key additional.fields[1].value.string_value |
Mappé sur 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é "ID de profil d'option ScanInput". |
ScanInput.OptionProfile.Name |
additional.fields[3].key additional.fields[3].value.string_value |
Mappé sur additional.fields avec la clé "Nom du profil d'option ScanInput". |
ScanInput.ScanDatetime |
metadata.event_timestamp |
Utilisé comme code temporel de l'événement, le cas échéant. Analyse 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 |
Mappé directement à 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é sur security_result.detection_fields avec la clé "État". |
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 |
Mappé directement à 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 d'événement si ScanInput.ScanDatetime n'est pas présent. Analyse au format "ISO8601". |
Userlogin |
target.user.userid |
Mappé directement à partir du champ Userlogin . Définissez cette valeur sur "AUTHTYPE_UNSPECIFIED" si Userlogin est présent. Défini sur "GENERIC_EVENT". Remplacement par "USER_LOGIN" si Userlogin est présent. Remplacement par "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 la valeur sur "Nom" pour chaque technologie. Partie d'un objet security_result répété. Définissez la valeur "Rationale" pour chaque technologie. Partie d'un objet security_result répété. |
Modifications
2023-04-21
- Analyseur nouvellement créé.
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.