// 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

Stack para o fix

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 →