// ferramenta · headers
Analisador de Security Headers — nota A+..F e fix por stack
Cole os response headers de qualquer site e receba uma nota A+..F, o que cada header faz e a linha exata de correção para o seu servidor — Nginx, Apache, Node ou Cloudflare.
Roda 100% no seu navegador · nada é enviado
0/100 ·
Snapshot da nota apurada agora — não atualiza sozinho. Um badge dinâmico exigiria um servidor; a IntruderLabs não envia os seus headers a lugar nenhum.
Cole os headers acima e a análise aparece aqui — 100% no seu navegador.
Para uso em testes autorizados, pesquisa e educação. A análise roda 100% no seu navegador — nenhum header é enviado a lugar nenhum.
// referência
Os security headers que importam
Security headers são instruções na resposta HTTP que dizem ao navegador como se comportar — de bloquear scripts injetados a impedir que a página seja embutida em um iframe. Abaixo, o que cada header faz, o valor recomendado e o ajuste no Nginx. Cole os seus headers na ferramenta acima para receber a nota e o snippet de correção nas demais stacks (Apache, Node e Cloudflare).
Content-Security-Policy
A Content-Security-Policy é a defesa mais forte contra XSS: declara de quais origens o navegador pode carregar script, estilo, frame e mídia. script-src com 'unsafe-inline' ou * anula boa parte dessa proteção.
Recomendado: default-src 'self'; object-src 'none'; base-uri 'self'; frame-ancestors 'none'
add_header Content-Security-Policy "default-src 'self'; object-src 'none'; base-uri 'self'; frame-ancestors 'none'" always; Strict-Transport-Security
O Strict-Transport-Security (HSTS) força o navegador a só falar HTTPS com o domínio, fechando ataques de downgrade e SSL-strip. max-age curto enfraquece a janela; includeSubDomains e preload ampliam a cobertura.
Recomendado: max-age=63072000; includeSubDomains; preload
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always; X-Frame-Options
O X-Frame-Options: DENY impede que a página seja embutida em iframe, bloqueando clickjacking. O equivalente moderno é o frame-ancestors 'none' no CSP — ter um dos dois já cobre o ataque. ALLOW-FROM está depreciado.
Recomendado: DENY
add_header X-Frame-Options "DENY" always; X-Content-Type-Options
O X-Content-Type-Options: nosniff desliga o MIME-sniffing do navegador, que pode reinterpretar um upload de texto como script e disparar XSS. O único valor válido é nosniff.
Recomendado: nosniff
add_header X-Content-Type-Options "nosniff" always; Referrer-Policy
O Referrer-Policy controla quanto da URL atual vaza no header Referer ao navegar para fora. unsafe-url vaza o caminho completo (tokens em query string incluídos); strict-origin-when-cross-origin é o equilíbrio seguro.
Recomendado: strict-origin-when-cross-origin
add_header Referrer-Policy "strict-origin-when-cross-origin" always; Permissions-Policy
O Permissions-Policy (antigo Feature-Policy) desliga APIs poderosas do navegador — geolocalização, câmera, microfone, pagamento — que a sua app não usa, reduzindo o estrago de um XSS ou de um iframe malicioso. Lista vazia () nega a feature para todas as origens.
Recomendado: geolocation=(), camera=(), microphone=(), payment=(), usb=()
add_header Permissions-Policy "geolocation=(), camera=(), microphone=(), payment=(), usb=()" always; Cross-Origin-Opener-Policy
O Cross-Origin-Opener-Policy: same-origin isola o seu contexto de janelas de outras origens (abertas via window.open), barrando ataques do tipo XS-Leaks e tabnabbing e habilitando isolamento de origem cruzada.
Recomendado: same-origin
add_header Cross-Origin-Opener-Policy "same-origin" always; Cross-Origin-Resource-Policy
O Cross-Origin-Resource-Policy: same-origin impede que outros sites carreguem os seus recursos (imagens, scripts, JSON) via tag, mitigando vazamentos do tipo Spectre/XS-Leaks. Use same-site se subdomínios precisarem consumir o recurso.
Recomendado: same-origin
add_header Cross-Origin-Resource-Policy "same-origin" always; Cross-Origin-Embedder-Policy
O Cross-Origin-Embedder-Policy: require-corp é opcional: junto com COOP habilita o isolamento de origem cruzada (necessário para SharedArrayBuffer e timers de alta precisão). Pode quebrar recursos de terceiros — adote com cuidado. Conta só como bônus aqui.
Recomendado: require-corp
add_header Cross-Origin-Embedder-Policy "require-corp" always; Server
O header Server com versão (ex.: Apache/2.4.58) entrega ao atacante exatamente qual software e versão você roda — atalho para procurar CVEs. Esconda a versão ou remova o header.
Recomendado: (sem versão / header omitido)
server_tokens off; # dentro do bloco http {} — esconde a versao do Nginx X-Powered-By
O X-Powered-By (ex.: PHP/8.1.2, Express) revela a stack da aplicação sem nenhum ganho funcional. É fingerprint gratuito para o atacante — remova.
Recomendado: (header removido)
proxy_hide_header X-Powered-By; # quando o Nginx faz proxy para a app X-AspNet-Version
O X-AspNet-Version expõe a versão exata do runtime .NET. Não tem uso em produção e facilita o mapeamento de CVEs — desligue-o no web.config.
Recomendado: (header removido)
proxy_hide_header X-AspNet-Version; X-Generator / X-Runtime
Headers como X-Generator, X-Runtime e X-Drupal-Cache denunciam CMS, framework e tempos de resposta internos. Cada um é uma dica para o atacante — remova os que não forem essenciais.
Recomendado: (headers removidos)
more_clear_headers 'X-Generator' 'X-Runtime' 'X-Drupal-Cache'; # modulo headers-more Cookie · Secure
Um cookie sem o atributo Secure pode trafegar em HTTP puro, exposto a interceptação. Todo cookie de sessão deve ter Secure para só ir por HTTPS.
Recomendado: Secure
proxy_cookie_flags ~ secure httponly samesite=lax; Cookie · HttpOnly
Sem HttpOnly, o cookie fica legível por JavaScript — um XSS rouba a sessão direto via document.cookie. Cookies de autenticação devem ser HttpOnly.
Recomendado: HttpOnly
proxy_cookie_flags ~ secure httponly samesite=lax; Cookie · SameSite
O atributo SameSite controla se o cookie acompanha requisições de outros sites — base da defesa contra CSRF. Use Lax (ou Strict); SameSite=None SEM Secure é rejeitado pelos navegadores.
Recomendado: SameSite=Lax
proxy_cookie_flags ~ samesite=lax secure httponly; Perguntas frequentes
Quais são os security headers mais importantes?
Content-Security-Policy (CSP) é o mais decisivo contra XSS; seguido de Strict-Transport-Security (HSTS), X-Frame-Options/frame-ancestors (clickjacking), X-Content-Type-Options e Referrer-Policy. A ferramenta avalia todos e pesa o CSP.
Como tirar nota A+ nos security headers?
Tenha um CSP restritivo (sem unsafe-inline ou curinga em script-src), HSTS longo com includeSubDomains e preload, X-Frame-Options: DENY ou frame-ancestors, X-Content-Type-Options: nosniff, Referrer-Policy estrito e Permissions-Policy travando APIs sensíveis — e remova headers que vazam a stack.
O que significa cada faixa de nota?
A nota vai de 0 a 100 e mapeia para A+..F. Sem CSP a nota fica limitada, porque é a defesa mais importante; headers ausentes, fracos ou que vazam informação derrubam a pontuação.
Os headers que eu colo são enviados para algum servidor?
Não. A análise roda inteiramente no seu navegador — nenhum header é enviado a lugar nenhum.
Quer saber se a sua aplicação está exposta?
Headers são só a superfície. A IntruderLabs executa o pentest que encontra e prova as falhas de verdade antes de um atacante — sob a sua marca, com relatório white-label.
Fale com a gente →