Pourquoi les faux positifs de Sucuri WAF ont continué à bloquer les webhooks Stripe et le correctif précis de la liste blanche IP qui l'a arrêté
Publié: 2025-11-13Les entreprises qui comptent sur Stripe pour leurs transactions en ligne connaissent l'importance d'une communication fluide par webhook. Mais lorsque Sucuri, un pare-feu d'application Web (WAF) populaire, commence à identifier par erreur les webhooks Stripe légitimes comme des menaces, cela peut entraîner des interruptions de paiement, des échecs de transactions et des frais inutiles de support client. Si vous êtes confronté à ce scénario frustrant, vous n'êtes pas seul et, heureusement, il existe une solution précise.
TL;DR
Si vos webhooks Stripe sont bloqués par Sucuri WAF en raison de faux positifs, le problème provient souvent d'une liste blanche IP inappropriée ou de règles WAF trop zélées. Les serveurs de Stripe passent par différentes adresses IP qui doivent être explicitement autorisées dans vos paramètres WAF. En mettant à jour votre pare-feu Sucuri avec les adresses IP officielles de Stripe et en désactivant des règles heuristiques spécifiques, vous pouvez résoudre instantanément le problème et restaurer la fonctionnalité fluide du webhook.
Comprendre le problème : Sucuri WAF et faux positifs
Sucuri fournit une défense robuste contre les attaques DDoS, les piratages de sites Web et autres activités malveillantes. Il fonctionne en filtrant les requêtes HTTP entrantes et en bloquant tout ce qui semble suspect. Bien que cela soit excellent pour bloquer les mauvais acteurs, cela peut se retourner contre vous lorsque des services légitimes comme Stripe envoient des appels webhook.
Stripe utilise des webhooks pour informer votre serveur des événements importants, tels que les paiements réussis, les transactions échouées, les remboursements et les modifications d'abonnement. Ceux-ci sont essentiels à l’automatisation de processus tels que la mise à jour des dossiers clients, la gestion des stocks et le suivi des revenus.
Le problème survient lorsque les règles de Sucuri – en particulier les filtres heuristiques tentant de détecter l'injection SQL ou l'injection de code – classent par erreur les charges utiles des webhooks de Stripe comme malveillantes.
Les symptômes courants de ce problème incluent :
- Le tableau de bord Stripe affiche des échecs répétés de livraison des webhooks.
- Aucune requête POST entrante de Stripe visible dans les journaux du serveur.
- Stripe réessaye les demandes plusieurs fois en raison d'erreurs 403 interdites ou d'expiration de délai.
- Notifications par e-mail de Stripe avertissant de l'échec du webhook.
Même si Sucuri protège votre site, il peut finir par agir de manière un peu trop agressive, en bloquant ce qu'il ne devrait pas.

Identifier la cause première : faux positifs déclenchés par Stripe
Lorsque nous avons approfondi les journaux du serveur et le tableau de bord de Sucuri, le problème est devenu plus clair. Chaque webhook Stripe recevait une réponse 403 Forbidden ou était carrément bloqué pour atteindre le serveur. En consultant les journaux d'incidents dans Sucuri, les indicateurs suivants ont été déclenchés à plusieurs reprises :
- Modèle heuristique SQLi
- La taille du corps de la demande a dépassé le seuil
- Requête POST bloquée en raison d'un JSON mal formé(même lorsque le JSON était valide)
Sucuri utilise un algorithme de détection évolutif, et parfois les charges utiles JSON de Stripe incluent des caractères ou des modèles (comme des guillemets, des crochets ou certains mots-clés) que ces moteurs heuristiques interprètent à tort par algorithme comme une activité suspecte. Cela amène Sucuri à signaler et à abandonner la demande, ne lui permettant jamais d'atteindre votre application.
Cela était particulièrement problématique lors des campagnes promotionnelles, lorsque d’importants volumes de transactions créaient un flot de webhooks, dont beaucoup n’aboutissaient à rien.
La bonne solution : une liste blanche IP précise
Même s’il est tentant de simplement désactiver temporairement le pare-feu ou de mettre le monde entier sur liste blanche pour les URL de webhooks, cela constitue un cauchemar en matière de sécurité. La solution correcte et sécurisée implique quelques étapes stratégiques :
1. Récupérer les adresses IP officielles de Stripe
Stripe publie une liste de plages d'adresses IP d'où proviennent leurs webhooks. Cette liste est disponible dans leur documentation officielle et est régulièrement mise à jour.

Au moment de la rédaction, voici des exemples d'adresses IP (REMARQUE : celles-ci changent, vérifiez toujours la source officielle) :
3.18.12.63 3.130.192.231 13.235.14.237 13.235.122.149 18.211.135.69 35.154.171.200 52.15.183.38
2. Connectez-vous au tableau de bord de Sucuri
Accédez aux paramètres de votre pare-feu Sucuri et localisez la section Liste blanche sous Contrôle d'accès. Ici, vous pouvez saisir manuellement les adresses IP exactes que vous souhaitez autoriser, en contournant toutes les vérifications WAF.
3. Ajoutez toutes les adresses IP de Stripe à la liste blanche
Assurez-vous que chaque bloc IP fourni par Stripe est ajouté à la liste blanche. Sucuri effectue une correspondance difficile, donc manquer ne serait-ce qu'une seule adresse IP peut entraîner l'échec intermittent d'événements de webhook aléatoires.
4. Désactivez les actions bloquées pour le point de terminaison Webhook
Dansla configuration des chemins d'URLde Sucuri, vous pouvez ajouter le point de terminaison de votre écouteur webhook (par exemple, /stripe/webhook) et désactiver les règles WAF spécifiques uniquement pour ce chemin. Cela évite de désactiver globalement le pare-feu tout en garantissant que les requêtes de Stripe ne sont pas inutilement bloquées. Le paramètre le plus utile ici est de :
- Désactivez le filtrage heuristique pour ce chemin spécifique.
- Autorisez des tailles de corps POST plus grandes si vos événements Stripe incluent des charges utiles contenant beaucoup de métadonnées.
Cela garantira que le point de terminaison accepte les charges utiles JSON complexes sans interférence.

Astuce bonus : utilisez le secret de signature de Stripe
Même après avoir ajouté les adresses IP de Stripe à la liste blanche, il est toujours judicieux de vérifier l'authenticité de chaque demande de webhook reçue. Stripe fournit un secret de signature qui permet à votre serveur de vérifier cryptographiquement les charges utiles des webhooks.
Cela permet de garantir que même si une autre source usurpait les adresses IP de Stripe et accédait à l'URL de votre webhook (peu probable, mais possible), leurs demandes échoueraient à la vérification de la signature. Suivez le guide de Stripe ici pour l'implémenter.
L'impact : ce que la liste blanche correcte a résolu
Après avoir configuré toutes les adresses IP de Stripe dans le pare-feu Sucuri et réglé le comportement des règles WAF pour le point de terminaison du webhook, le problème a complètement disparu. Les webhooks ont commencé à être reconnus instantanément, le mécanisme de nouvelle tentative de Stripe n'était plus actif et aucun événement n'a été perdu.
En termes de flux de travail et d'expérience utilisateur -
- Les clients ne voyaient plus de confirmations de paiement retardées.
- Les tickets d’assistance concernant les abonnements ayant échoué ont été supprimés.
- Les automatisations back-end telles que la création de nouveaux comptes utilisateur ont à nouveau fonctionné de manière fiable.
Une note sur l'automatisation
Étant donné que la liste des adresses IP de Stripe peut évoluer, c'est une bonne idée de définir un rappel de calendrier trimestriel pour vérifier les mises à jour. Malheureusement, Sucuri ne propose pas d'automatisation de liste blanche basée sur une API, le processus reste donc manuel. Il est essentiel d'être proactif à ce sujet si vous souhaitez éviter une nouvelle série d'échecs de délivrabilité des webhooks.
Pensées finales
Sucuri WAF est un outil puissant pour sécuriser vos propriétés Web, mais aucun système de sécurité n'est infaillible. Les faux positifs, en particulier sur des services légitimes comme Stripe, peuvent provoquer de véritables frictions commerciales. Armé des bonnes adresses IP et d'un peu de personnalisation des règles WAF, vous pouvez rationaliser et sécuriser le traitement de vos paiements.
N'oubliez pas :la sécurité ne doit pas nécessairement se faire au détriment de la fonctionnalité. Avec une configuration soignée, vous pouvez garder les deux en harmonie.
