Voltar ao blog
Segurança

Como Proteger seus Webhooks em Produção em 2026

24 de Jan, 2026 Daniel Lopes 7 min de leitura
Google AdSense - Banner Top

Webhooks são os "nervos" da arquitetura moderna de software. Eles permitem que sistemas como Stripe, GitHub e HubSpot notifiquem seu aplicativo instantaneamente quando algo acontece. No entanto, expor um endpoint que executa ações baseadas em requisições externas é um risco de segurança significativo.

Se você não proteger seus webhooks, atacantes podem forjar requisições, sequestrar dados ou até derrubar sua infraestrutura. Aqui estão as 5 camadas de segurança indispensáveis para qualquer sistema em produção.

1. HTTPS e TLS 1.2+ Obrigatórios

Este é o básico. Nunca aceite webhooks em endpoints HTTP. O TLS garante que os dados enviados pelo provedor não sejam lidos ou alterados no caminho. Além disso, verifique se sua configuração de cifra está atualizada para os padrões de 2026.

2. Verificação de Assinatura HMAC

A maioria dos provedores sérios (como Stripe ou Pagar.me) envia um header como X-Hub-Signature ou Stripe-Signature. Este header contém um hash do payload criado com uma chave secreta que só você e o provedor conhecem.

// Exemplo em Node.js
const signature = crypto.createHmac('sha256', process.env.WEBHOOK_SECRET)
  .update(JSON.stringify(payload))
  .digest('hex');

3. Validação de Endereço IP (Whitelist)

Embora menos flexível que assinaturas, restringir as requisições aos endereços IP oficiais do provedor adiciona uma camada extra de defesa. Provedores como o GitHub publicam listas atualizadas de seus IPs via API.

4. Timestamp e Replay Attacks

Um atacante pode interceptar uma requisição válida e enviá-la novamente para causar duplicidade de ações. Use headers de timestamp para garantir que a requisição foi gerada nos últimos segundos ou minutos.

5. Idempotência no Processamento

Mesmo com segurança perfeita, erros de rede podem causar envios duplicados. Garanta que processar o mesmo webhook duas vezes (identificado por um ID de evento) não resulte em duplicidade de dados em seu banco.

Google AdSense - In-Article Responsive Ad
Pronto para aprovação do AdSense

Precisa de um diagnóstico real?

O Launch Checkanalisa mais de 50 pontos de segurança e performance em segundos.