close

DEV Community

Bryan Rafael
Bryan Rafael

Posted on

O checklist de 70+ pontos que uso em auditorias de segurança web

Depois de algumas dezenas de auditorias, percebi que o trabalho sério não está em achar "aquela falha mágica": está em não deixar passar configuração errada. Este é o checklist exato que uso — os blocos A-D rodam automático na minha CLI reconpp (passiva, zero dependências); os demais são revisão assistida.

A. Transporte (TLS/HTTPS)

  • [ ] Site responde somente via HTTPS (sem downgrade na cadeia de redirect)
  • [ ] HSTS com max-age >= 180 dias e includeSubDomains
  • [ ] Certificado com pelo menos 14 dias de validade
  • [ ] TLS 1.0/1.1 desativados (1.2/1.3 apenas)
  • [ ] Sem cifras < 128 bits (RC4/3DES/CBC legacy)

B. Headers de proteção

  • [ ] CSP estrito: default-src 'self'; script-src 'self'; object-src 'none'; frame-ancestors 'none'
  • [ ] Sem unsafe-inline / unsafe-eval no CSP
  • [ ] X-Content-Type-Options: nosniff
  • [ ] X-Frame-Options: DENY/SAMEORIGIN (ou frame-ancestors)
  • [ ] Referrer-Policy: strict-origin-when-cross-origin
  • [ ] Permissions-Policy restritivo (camera/mic/geolocation)
  • [ ] Sem Server/X-Powered-By revelando stack

C. Sessões

  • [ ] Cookies com Secure + HttpOnly + SameSite (Lax/Strict)
  • [ ] Novo login = novo session ID (anti-fixation)
  • [ ] Timeout de sessão e logout efetivo server-side

D. Superfície exposta

  • [ ] Nenhum .env, .git, dump.sql, backup.zip, phpinfo.php, server-status respondendo 200
  • [ ] security.txt (RFC 9116) publicado
  • [ ] Painéis administrativos atrás de autenticação

E. API e dados

  • [ ] Rate limiting em login/OTP/upload
  • [ ] Erros genéricos (sem stack trace pública)
  • [ ] CORS restrito a domínios confiáveis (sem reflexão de origem arbitrária)
  • [ ] Secrets fora do código (env/cofres) com rotatividade

F. Auth

  • [ ] MFA sem caminhos de downgrade
  • [ ] JWT com algoritmo fixado, exp curta, sem alg: none
  • [ ] Password reset: token único, curto, uso único
  • [ ] OAuth: redirect URIs em allowlist

G. Dependências e deploy

  • [ ] SBOM + varredura (trivy/npm audit/pip-audit) no CI
  • [ ] Secret scanning no push (gitleaks)
  • [ ] Patches críticos em < 72h

Os itens A-D saem em 60 segundos com:

pip install git+https://github.com/bryanrafaelbueno/reconpp
reconpp -u https://seu-site.com -f md -o relatorio.md
Enter fullscreen mode Exit fullscreen mode

Se quiser a versão completa — com metodologia em 5 fases, como detectar passivamente injection/XSS/CSRF/SSRF/IDOR/upload/deserialização e o modelo de relatório que cliente respeita — o ebook "Web Security Audit na Prática" (pt-BR) tem amostra grátis:

Auditoria só em sistemas que você possui ou tem autorização escrita. 🛡️

Top comments (0)