Configurer un webhook SIEM

Compatible avec :

Avant de commencer

Utiliser les exemples de ligne de commande

Ce document inclut des exemples de commandes curl pour vous aider à configurer et à tester votre flux de webhook. Ces exemples utilisent des variables d'espace réservé modifiables. Pour les utiliser efficacement :

  1. Modifiez les variables : au fur et à mesure que vous suivez les étapes de configuration, vous obtiendrez des valeurs pour le point de terminaison du webhook, une clé API et un secret. Cliquez sur les variables d'espace réservé dans l'exemple de code et remplacez-les par vos valeurs réelles :

    Si vous modifiez une variable dans un exemple de code, elle sera mise à jour dans tous les exemples de cette page.

  2. Copier la commande : cliquez sur l'icône Copier l'exemple de code dans le bloc de code.

  3. Exécuter la commande : collez la commande copiée dans votre environnement de terminal et exécutez-la.

    Assurez-vous que la commande curl inclut l'option --fail (ou -f). Cela garantit que curl renvoie un code de sortie différent de zéro si la requête HTTP échoue, et un code de sortie 0 pour indiquer la réussite. Vous en aurez besoin pour l'étape suivante.

  4. Vérifier le succès : Une commande curl réussie ne renvoie aucune sortie. Pour confirmer la réussite de l'opération, procédez comme suit :

    Si la commande curl incluait l'option --fail (ou -f), vérifiez le code de sortie en exécutant la commande suivante immédiatement après :

    echo $?
    

    Un code de sortie 0 indique que l'opération a réussi.

Configurer un flux de webhook HTTPS

Pour configurer un flux de webhook HTTPS, procédez comme suit :

  1. Créez un flux de webhook HTTPS, puis copiez l'URL du point de terminaison et la clé secrète.
  2. Créez une clé API à utiliser avec l'URL du point de terminaison. Vous pouvez également réutiliser votre clé API existante pour vous authentifier auprès de Google SecOps.
  3. Spécifiez l'URL du point de terminaison dans votre application.

Envoyer plusieurs événements dans une seule requête de webhook

L'exemple de code suivant montre comment mettre en forme un corps de requête unique avec plusieurs objets JSON séparés par un saut de ligne :

curl --location 'ENDPOINT_URL' \
  --header 'Content-Type: application/json' \
  --header 'X-goog-api-key: API_KEY' \
  --header 'X-Webhook-Access-Key: SECRET' \
  --data $'{"principal": {"asset_id": "asset 123"}, "metadata": {"event_type": "GENERIC_EVENT", "product_name": "Product Acme"}}\n{"principal": {"asset_id": "asset 123"}, "metadata": {"event_type": "GENERIC_EVENT", "product_name": "Product Acme"}}' \
  --fail

Créer un flux de webhook HTTPS

  1. Dans le menu Google SecOps, sélectionnez Paramètres > Gestion des données > Flux. Si vous utilisez une plate-forme SIEM uniquement, accédez à Paramètres > Flux.
  2. Cliquez sur Ajouter un flux d'actualités.
  3. Dans le champ Nom du flux, saisissez un nom pour le flux.
  4. Dans la liste Type de source, sélectionnez Webhook.
  5. Sélectionnez le type de journal. Par exemple, pour créer un flux pour Open Cybersecurity Schema Framework, sélectionnez Open Cybersecurity Schema Framework (OCSF) 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 de l'élément : espace de noms de l'élément.
    • Étiquettes d'ingestion : étiquette à appliquer aux événements de ce flux.
  8. Cliquez sur Suivant.
  9. Vérifiez la configuration de votre nouveau flux d'actualités sur 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, car vous ne pourrez plus l'afficher. Vous pouvez générer une nouvelle clé secrète, mais cela rend la clé secrète précédente 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 l'URL de ce point de terminaison dans votre application cliente.
  13. Facultatif : Cliquez sur le bouton Flux activé pour désactiver le flux. Le flux est activé par défaut.
  14. Cliquez sur OK.

Créer une clé API pour le flux de webhook

  1. Accédez à la page Identifiants de la console Google Cloud .
  2. Cliquez sur Créer des identifiants, puis sélectionnez Clé API.
  3. Restreignez l'accès de la clé API à l'API Chronicle.

Spécifier l'URL du point de terminaison

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

    X-goog-api-key: API_KEY
    X-Webhook-Access-Key: SECRET
    
    • Nous vous recommandons de spécifier la clé API en tant qu'en-tête plutôt que dans l'URL.

      curl --location 'ENDPOINT_URL' \
          --header 'Content-Type: application/json' \
          --header 'X-goog-api-key: API_KEY' \
          --header 'X-Webhook-Access-Key: SECRET' \
          --data '{"principal": {"asset_id": "asset 123"}, "metadata": {"event_type": "GENERIC_EVENT", "product_name": "Product Acme"}}' \
          --fail
      
    • Si votre client de webhook n'accepte pas 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
      

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