Gerador de cabeçalhos de segurança HTTP (CSP, HSTS)

Marque os cabeçalhos desejados (CSP, HSTS, X-Frame-Options…) e copie a configuração pronta para Nginx, Express, Vercel ou Apache.

Cabeçalhos de segurança HTTP: valores e configuração

A ferramenta produz um bloco de configuração para Nginx, Express, Vercel ou Apache com até seis cabeçalhos: HSTS de um ano com preload, uma política CSP básica, X-Frame-Options (DENY ou SAMEORIGIN), X-Content-Type-Options nosniff, Referrer-Policy strict-origin-when-cross-origin e Permissions-Policy, que desativa câmera, microfone e geolocalização. Esses valores seguem as especificações em vigor, mas são menos rígidos que a lista de referência da OWASP.

Cabeçalhos gerados

CabeçalhoValor geradoEfeito
Strict-Transport-Securitymax-age=31536000; includeSubDomains; preloadHTTPS obrigatório por 1 ano (31.536.000 s), subdomínios incluídos
Content-Security-Policydefault-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:;fontes permitidas para scripts, estilos e imagens
X-Frame-OptionsDENY ou SAMEORIGINproteção contra clickjacking
X-Content-Type-Optionsnosniffsem detecção do tipo MIME
Referrer-Policystrict-origin-when-cross-originapenas a origem vai para outros sites
Permissions-Policycamera=(), microphone=(), geolocation=()câmera, microfone e geolocalização desativados

Exemplo (Nginx, DENY)

Cada linha tem o seguinte formato; a palavra-chave always adiciona o cabeçalho também às respostas de erro:

add_header X-Frame-Options "DENY" always;
add_header X-Content-Type-Options "nosniff" always;

Limites do código gerado

  • A Referrer-Policy não é configurável.
  • A CSP permite 'unsafe-inline' para scripts, o que enfraquece a proteção contra XSS; nonces ou hashes são mais seguros.
  • A diretiva preload vem do hstspreload.org e não da RFC 6797: o cadastro exige um max-age ≥ 31.536.000, includeSubDomains e HTTPS em todos os subdomínios, e uma remoção leva meses.

A lista da OWASP atualizada em 04/10/2026 vai além: HSTS de 2 anos (63.072.000 s) sem preload, Referrer-Policy no-referrer, X-Frame-Options deny. A MDN lembra que a diretiva CSP frame-ancestors oferece mais opções que o X-Frame-Options e que strict-origin-when-cross-origin é a política padrão dos navegadores desde a revisão de novembro de 2020 do padrão Fetch.

Fontes e datas: RFC 6797, HSTS (novembro de 2012); requisitos do hstspreload.org; OWASP Secure Headers, lista de referência (04/10/2026); MDN, X-Frame-Options e Referrer-Policy (verificado em 14/10/2026).

Perguntas frequentes

Que valor de max-age escolher para o cabeçalho HSTS?

A ferramenta usa 31.536.000 segundos, ou seja, um ano, o mínimo exigido para a lista de pré-carregamento do hstspreload.org com includeSubDomains e preload. A OWASP recomenda 63.072.000 segundos (2 anos). Segundo a RFC 6797, um max-age=0 pede ao navegador que esqueça a política HSTS do site.

Usar X-Frame-Options ou a diretiva CSP frame-ancestors?

Os dois bloqueiam a exibição das suas páginas em um iframe de terceiros. DENY proíbe qualquer quadro, SAMEORIGIN permite apenas o seu próprio domínio. A MDN indica que frame-ancestors oferece mais opções e que o valor ALLOW-FROM do X-Frame-Options é obsoleto: os navegadores recentes ignoram então o cabeçalho inteiro.

Por que 'unsafe-inline' enfraquece a Content-Security-Policy?

Com 'unsafe-inline' em script-src, qualquer script escrito diretamente na página é executado, inclusive um script injetado por uma falha de XSS. A ferramenta o inclui para não quebrar os sites que contêm scripts assim. Para uma proteção real, substitua-o por nonces ou hashes SHA-256 dos scripts autorizados.

Qual Referrer-Policy escolher?

A ferramenta define strict-origin-when-cross-origin: URL completa para o seu próprio site, apenas a origem para outros sites em HTTPS, nada para um site em HTTP. É o valor padrão dos navegadores desde a revisão de novembro de 2020 do padrão Fetch. A OWASP prefere no-referrer, que não envia nada.

A ferramenta é realmente gratuita?

Sim, todas as ferramentas do Kristools são 100% gratuitas e acessíveis sem cadastro.

Meus dados estão protegidos?

Sim. Todo o processamento é feito diretamente e com segurança no seu navegador. Nenhum dado pessoal é enviado para os nossos servidores.