Ir para o conteúdo

ADR-0002 - Security Headers e CSP no Edge

Status: Proposto
Data: 2026-03-08

1. Contexto

O hardening HTTP atual está parcialmente delegado ao edge e não possui baseline integral versionado para todos os headers de proteção.

Risco principal: - aumento de superfície para XSS/clickjacking e vazamento de contexto de navegação; - inconsistência entre ambientes (staging/prod).

2. Decisão

Centralizar no edge (Cloudflare/proxy) a política obrigatória de security headers para web e api, incluindo CSP para web.

Headers mínimos obrigatórios: - Strict-Transport-Security - X-Content-Type-Options - Referrer-Policy - Permissions-Policy - X-Frame-Options (ou frame-ancestors 'none') - Content-Security-Policy (web)

3. Alternativas consideradas

  1. Configurar headers apenas no backend/web app
    Rejeitada por menor governança no perímetro e risco de divergência por runtime.

  2. Aplicar headers parcialmente (somente HSTS e nosniff)
    Rejeitada por cobertura insuficiente para proteção de browser.

4. Consequências

Positivas: - baseline uniforme entre serviços e ambientes; - mitigação adicional para XSS, clickjacking e exfiltração por política de navegador; - política auditável e versionada.

Custos: - necessidade de ajuste fino de CSP para evitar bloqueio de recursos legítimos; - operação de rollout/rollback no edge.

5. Plano de migração

  1. Aplicar baseline em staging.
  2. Validar fluxos críticos web (login, dashboard, upload, OAuth callback).
  3. Promover para produção em janela controlada.
  4. Monitorar erros de frontend e violações CSP.

Critérios de aceite: - headers obrigatórios presentes via curl -I em web e api; - CSP ativa no domínio web; - ausência de regressão funcional crítica após rollout.