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 webhook. Ces exemples utilisent des variables d'espace réservé modifiables. Pour les utiliser efficacement :

  1. Modifiez les variables : suivez les étapes de configuration pour obtenir des valeurs pour le point de terminaison 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'indicateur --fail (ou -f). Cela permet de s'assurer 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. Cette étape est nécessaire pour la suite.

  4. Vérifiez la réussite : une commande curl réussie ne renvoie aucun résultat. Pour confirmer la réussite, 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 webhook HTTPS

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

  1. Créez un flux 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 webhook

L'exemple de code suivant montre comment mettre en forme un seul corps de requête 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 webhook HTTPS

  1. Dans le menu Google SecOps, sélectionnez Settings (Paramètres), puis cliquez sur Feeds (Flux).
  2. Cliquez sur Add new (Ajouter).
  3. Dans le champ Feed name (Nom du flux), saisissez un nom pour le flux.
  4. Dans la liste Source type (Type de source), sélectionnez Webhook.
  5. Sélectionnez le Log type (Type de journal). Par exemple, pour créer un flux pour Open Cybersecurity Schema Framework, sélectionnez Open Cybersecurity Schema Framework (OCSF) comme Log type (Type de journal).
  6. Cliquez sur Next (Suivant).
  7. Facultatif : Spécifiez des valeurs pour les paramètres d'entrée suivants :
    • Split delimiter (Délimiteur de division) : délimiteur utilisé pour séparer les lignes de journal, par exemple \n.
    • Asset namespace (Espace de noms de l'élément) : l'espace de noms de l'élément.
    • Ingestion labels (Libellés d'ingestion) : libellé à appliquer aux événements de ce flux.
  8. Cliquez sur Next (Suivant).
  9. Vérifiez la configuration de votre nouveau flux dans l'écran Finalize (Finaliser), puis cliquez sur Submit (Envoyer).
  10. Cliquez sur Generate Secret Key (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 la clé secrète précédente obsolète.
  12. Dans l'onglet Details (Détails), copiez l'URL du point de terminaison du flux à partir du champ Endpoint Information (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 Feed Enabled (Flux activé) pour désactiver le flux. Le flux est activé par défaut.
  14. Cliquez sur Done (OK).

Créer une clé API pour le flux webhook

  1. Accédez à la page Google Cloud console Credentials (Identifiants) de la console.
  2. Cliquez sur Create credentials (Créer des identifiants), puis sélectionnez API key (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 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 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 auprès des membres de la communauté et des professionnels Google SecOps.