Por que os falsos positivos do Sucuri WAF continuaram bloqueando Webhooks Stripe e a correção precisa da lista de permissões de IP que o impediu
Publicados: 2025-11-13As empresas que confiam no Stripe para transações on-line sabem a importância da comunicação perfeita com webhook. Mas quando o Sucuri, um popular firewall de aplicativo da web (WAF), começa a identificar erroneamente webhooks legítimos do Stripe como ameaças, o resultado pode ser interrupção de pagamentos, falhas em transações e sobrecarga desnecessária de suporte ao cliente. Se você está enfrentando esse cenário frustrante, não está sozinho – e, felizmente, há uma solução precisa.
DR
Se seus webhooks Stripe estão sendo bloqueados pelo Sucuri WAF devido a falsos positivos, o problema geralmente surge de uma lista de permissões de IP inadequada ou de regras WAF excessivamente zelosas. Os servidores do Stripe giram através de vários IPs que devem ser explicitamente permitidos nas configurações do WAF. Ao atualizar seu firewall Sucuri com os endereços IP oficiais do Stripe e desabilitar regras heurísticas específicas, você pode resolver o problema instantaneamente e restaurar a funcionalidade suave do webhook.
Compreendendo o problema: Sucuri WAF e falsos positivos
A Sucuri oferece uma defesa robusta contra ataques DDoS, hacks de sites e outras atividades maliciosas. Ele opera rastreando solicitações HTTP recebidas e bloqueando qualquer coisa que pareça remotamente suspeita. Embora isso seja excelente para bloquear agentes mal-intencionados, o tiro pode sair pela culatra quando serviços legítimos como o Stripe enviam chamadas de webhook.
Stripe usa webhooks para notificar seu servidor sobre eventos significativos, como pagamentos bem-sucedidos, transações com falha, reembolsos e alterações de assinatura. Eles são essenciais para automatizar processos como atualização de registros de clientes, gerenciamento de estoque e rastreamento de receitas.
O problema surge quando as regras da Sucuri – especialmente filtros heurísticos que tentam detectar injeção de SQL ou injeção de código – classificam erroneamente as cargas úteis do webhook do Stripe como maliciosas.
Os sintomas comuns deste problema incluem:
- O painel Stripe mostra falhas repetidas na entrega do webhook.
- Nenhuma solicitação POST recebida do Stripe visível nos logs do servidor.
- Stripe tenta novamente solicitações várias vezes devido a erros 403 Proibido ou de tempo limite.
- Notificações por e-mail do Stripe avisando sobre falha do webhook.
Mesmo que a Sucuri esteja protegendo o seu site, ela pode acabar agindo de forma um pouco agressiva – bloqueando o que não deveria.

Identificando a causa raiz: falsos positivos desencadeados pelo Stripe
Quando nos aprofundamos nos logs do servidor e no painel da Sucuri, o problema ficou mais claro. Cada webhook do Stripe estava recebendo uma resposta 403 Forbidden ou estava sendo totalmente impedido de chegar ao servidor. Visualizando os logs de incidentes na Sucuri, os seguintes sinalizadores foram acionados repetidamente:
- Padrão heurístico SQLi
- O tamanho do corpo da solicitação excedeu o limite
- Solicitação POST bloqueada devido a JSON malformado(mesmo quando o JSON era válido)
A Sucuri usa um algoritmo de detecção em evolução e, às vezes, as cargas JSON do Stripe incluem caracteres ou padrões (como aspas, colchetes ou certas palavras-chave) que esses mecanismos heurísticos interpretam erroneamente como atividades suspeitas. Isso faz com que a Sucuri sinalize e descarte a solicitação, nunca permitindo que ela chegue ao seu aplicativo.
Isto foi especialmente problemático durante campanhas promocionais, quando grandes volumes de transações criaram uma enxurrada de webhooks – muitos dos quais não levaram a lugar nenhum.
A solução adequada: lista de permissões de IP precisa
Embora seja tentador desabilitar o firewall temporariamente ou colocar o mundo inteiro na lista de permissões para URLs de webhook, isso é um pesadelo de segurança. A correção correta e segura envolve algumas etapas estratégicas:
1. Recupere os endereços IP oficiais do Stripe
Stripe publica uma lista de intervalos de IP de onde seus webhooks se originam. Esta lista está disponível na documentação oficial e é atualizada regularmente.

No momento da escrita, aqui estão exemplos de IPs (NOTA: estas mudanças, verifique sempre a fonte oficial):
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. Faça login no painel da Sucuri
Vá para as configurações do firewall Sucuri e localize a seção Lista de permissões em Controle de acesso. Aqui, você pode inserir manualmente os IPs exatos que deseja permitir, ignorando todas as verificações do WAF.
3. Adicione todos os IPs do Stripe à lista de permissões
Certifique-se de que cada bloco de IP fornecido pelo Stripe seja adicionado à lista de permissões. A Sucuri faz uma correspondência difícil, portanto, perder até mesmo um IP pode resultar em eventos aleatórios de webhook falhando intermitentemente.
4. Desative ações bloqueadas para endpoint de webhook
Naconfiguração de caminhos de URLda Sucuri, você pode adicionar seu endpoint de ouvinte de webhook (por exemplo, /stripe/webhook) e desabilitar regras WAF específicas apenas para esse caminho. Isso evita desligar o firewall globalmente e, ao mesmo tempo, garante que as solicitações do Stripe não sejam bloqueadas desnecessariamente. A configuração mais útil aqui é:
- Desative a filtragem heurística para esse caminho específico.
- Permita tamanhos maiores de corpo POST se seus eventos Stripe incluírem cargas pesadas de metadados.
Isso garantirá que o endpoint aceite cargas JSON complexas sem interferência.

Dica bônus: use o segredo de assinatura do Stripe
Mesmo depois de colocar os IPs do Stripe na lista de permissões, ainda é uma boa ideia verificar a autenticidade de cada solicitação de webhook recebida. Stripe fornece um segredo de assinatura que permite que seu servidor verifique criptograficamente cargas úteis de webhook.
Isso ajuda a garantir que, mesmo que alguma outra fonte falsifique os IPs do Stripe e acesse o URL do seu webhook (improvável, mas possível), suas solicitações falharão na verificação de assinatura. Siga o guia do Stripe aqui para implementá-lo.
O impacto: o que a lista de permissões correta resolveu
Depois de configurar todos os IPs do Stripe dentro do firewall Sucuri e ajustar o comportamento da regra WAF para o endpoint do webhook, o problema desapareceu completamente. Os webhooks começaram a ser reconhecidos instantaneamente, o mecanismo de nova tentativa do Stripe não estava mais ativo e nenhum evento foi perdido.
Em termos de fluxo de trabalho e experiência do usuário -
- Os clientes pararam de ver confirmações de pagamento atrasadas.
- Os tickets de suporte sobre assinaturas com falha foram eliminados.
- Automações de back-end, como a criação de novas contas de usuário, funcionaram de forma confiável novamente.
Uma nota sobre automação
Como a lista de IPs do Stripe pode evoluir, é uma boa ideia definir um lembrete trimestral no calendário para verificar se há atualizações. Infelizmente, a Sucuri não oferece automação de lista de permissões baseada em API, então o processo permanece manual. Ser proativo em relação a isso é vital se você quiser evitar outra rodada de falha na entrega do webhook.
Considerações Finais
Sucuri WAF é uma ferramenta poderosa para manter suas propriedades na web seguras, mas nenhum sistema de segurança é infalível. Falsos positivos, especialmente em serviços legítimos como o Stripe, podem causar verdadeiros atritos nos negócios. Armado com os IPs certos e um pouco de personalização das regras WAF, você pode manter seu processamento de pagamento simplificado e seguro.
Lembre-se:a segurança não precisa ser feita em detrimento da funcionalidade. Com uma configuração cuidadosa, você pode manter ambos em harmonia.
