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 : en suivant 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. Copiez la commande : cliquez sur l'icône Copier l'exemple de code dans le bloc de code.

  3. Exécutez 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 non nul si la requête HTTP échoue et un code de sortie 0 pour indiquer la réussite. Vous en aurez besoin pour la prochaine étape.

  4. Vérifiez que l'opération a réussi : une commande curl réussie ne renvoie aucun résultat. Pour confirmer la réussite de l'opération, procédez comme suit :

    Si la commande curl inclut l'indicateur --fail (ou -f), vérifiez le code de sortie en exécutant immédiatement la commande suivante :

    echo $?
    

    Un code de sortie 0 indique la réussite.

Configurer un flux de webhook HTTPS

Pour configurer un flux de webhook HTTPS :

  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 des sauts 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, puis cliquez sur Flux.
  2. Cliquez sur Ajouter.
  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 les valeurs des paramètres d'entrée suivants :
    • Délimiteur de fractionnement : délimiteur utilisé pour séparer les lignes de journaux, tel que \n.
    • Espace de noms de l'élément : espace de noms de l'élément.
    • Libellés d'ingestion : libellé à appliquer aux événements de ce flux.
  8. Cliquez sur Suivant.
  9. Vérifiez la configuration de votre nouveau flux 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 rendra l'ancienne clé secrète obsolète.
  12. Dans l'onglet Détails, copiez l'URL du point de terminaison du flux depuis le champ Informations sur le point de terminaison. Vous devez spécifier cette URL de 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.