Collecter les journaux de sécurité ServiceNow

Compatible avec:

Présentation

Cet analyseur extrait les données des événements de sécurité à partir des journaux JSON ServiceNow, en mappant les champs pertinents sur l'UDM. Il gère différents types d'événements, comme les connexions et les modifications d'autorisations, et renseigne les informations sur l'utilisateur principal/cible, les adresses IP et les métadonnées, comme les informations sur le fournisseur et le produit.

Avant de commencer

  • Assurez-vous de disposer d'une instance Google SecOps.
  • Assurez-vous de disposer d'un accès privilégié à ServiceNow Security.

Configurer un flux dans Google SecOps pour ingérer les journaux de sécurité ServiceNow

  1. Accédez à Paramètres du SIEM > Flux.
  2. Cliquez sur Ajouter.
  3. Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple, Journaux de sécurité ServiceNow).
  4. Sélectionnez Webhook comme type de source.
  5. Sélectionnez ServiceNow Security comme type de journal.
  6. Cliquez sur Suivant.
  7. Facultatif: spécifiez des valeurs pour les paramètres d'entrée suivants :
    • Délimiteur de fractionnement: délimiteur utilisé pour séparer les lignes de journal, par exemple \n.
    • Espace de noms des éléments: espace de noms des éléments.
    • Libellés d'ingestion: libellé appliqué aux événements de ce flux.
  8. Cliquez sur Suivant.
  9. Vérifiez la configuration du flux dans l'écran Finaliser, puis cliquez sur Envoyer.
  10. Cliquez sur Générer une clé secrète pour générer une clé secrète permettant d'authentifier ce flux.
  11. Copiez et stockez la clé secrète. Vous ne pourrez plus afficher cette clé secrète. Si nécessaire, vous pouvez générer une nouvelle clé secrète, mais cette action rend l'ancienne clé secrète obsolète.
  12. Dans l'onglet Détails, copiez l'URL du point de terminaison du flux dans le champ Informations sur le point de terminaison. Vous devez spécifier cette URL de point de terminaison dans votre application cliente.
  13. Cliquez sur OK.

Créer une clé API pour le flux webhook

  1. Accédez à la console Google Cloud > Identifiants.

    Accéder à "Identifiants"

  2. Cliquez sur Créer des identifiants, puis sélectionnez Clé API.

  3. Limitez l'accès de la clé API à l'API Google Security Operations.

Spécifier l'URL du point de terminaison

  1. Dans votre application cliente, spécifiez l'URL du point de terminaison HTTPS fournie dans le flux de webhook.
  2. Activez l'authentification en spécifiant la clé API et la clé secrète dans l'en-tête personnalisé au format suivant:

    X-goog-api-key = API_KEY
    X-Webhook-Access-Key = SECRET
    

    Recommandation: Spécifiez la clé API en tant qu'en-tête plutôt que dans l'URL.

  3. Si votre client webhook n'est pas compatible avec les en-têtes personnalisés, vous pouvez spécifier la clé API et la clé secrète à l'aide de paramètres de requête au format suivant:

    ENDPOINT_URL?key=API_KEY&secret=SECRET
    

    Remplacez les éléments suivants :

    • ENDPOINT_URL: URL du point de terminaison du flux.
    • API_KEY: clé API permettant de s'authentifier auprès de Google SecOps.
    • SECRET: clé secrète que vous avez générée pour authentifier le flux.

Configurer le webhook dans ServiceNow

  1. Connectez-vous à ServiceNow Security avec un compte disposant de droits élevés.
  2. Accédez à Configuration > Surveillance > Connexions.
  3. Cliquez sur Ajouter .
  4. Sélectionnez Webhook.
  5. Spécifiez les valeurs des paramètres suivants :
    • Nom: indiquez un nom descriptif pour le webhook (par exemple, Google SecOps).
    • URL: saisissez l'ENDPOINT_URL Google SecOps avec API_KEY et SECRET.
  6. Cliquez sur Enregistrer pour terminer la configuration du webhook.

Mappage UDM

Champ du journal Mappage UDM Logique
created_by target.user.userid Mappé sur target.user.userid si snc_user est vide.
événement metadata.product_event_type Mappé directement à partir du champ de journal brut "event".
event_created metadata.event_timestamp.seconds Converti en secondes à partir du champ de journal brut "event_created" à l'aide du filtre date.
ip_address principal.ip Mappé directement à partir du champ de journal brut "ip_address", s'il n'est pas vide.
snc_user target.user.userid Mappé directement à partir du champ de journal brut "snc_user", s'il n'est pas vide.
utilisateur principal.user.userid Mappé directement à partir du champ de journal brut "user" s'il n'est pas vide ni "null".
extensions.auth.type Définissez ce champ sur "MACHINE" si le champ event est défini sur "Connexion échouée", "Connexion SNC", "Connexion administrateur" ou "Impersonation".
metadata.event_type Définissez ce paramètre sur "USER_LOGIN" si le champ event est défini sur "Connexion échouée", "Connexion SNC", "Connexion administrateur" ou "Impersonation". Défini sur "USER_CHANGE_PERMISSIONS" si le champ event est "Élévation de la sécurité".
metadata.log_type Code codé en dur sur "SERVICENOW_SECURITY".
metadata.product_name Code codé en dur sur "SERVICENOW_SECURITY".
metadata.vendor_name Code codé en dur sur "SERVICENOW".
principal.user.userid Défini sur "UNKNOWN" si le champ user est vide ou "null".