BrunoP.Blog

Cabeçalhos de segurança HTTP: o que cada um faz e como ativar no seu servidor (gerador grátis)

O HTTPS protege o caminho — mas não diz ao navegador como se comportar dentro da página. Clickjacking, XSS e vazamento de Referer acontecem mesmo com o cadeado verde. Explico os 7 cabeçalhos que mais importam e dou um gerador que monta a config pronta para Apache ou Nginx.

Cabeçalhos de segurança HTTP são linhas de configuração no servidor que dizem ao navegador como se comportar dentro da página. Seis headers — X-Frame-Options, CSP, HSTS, X-Content-Type-Options, Referrer-Policy e Permissions-Policy — fecham clickjacking, XSS e sniffing sem tocar no código da aplicação. Use o gerador abaixo para gerar seu bloco em segundos.

Tem uma armadilha de falsa segurança muito comum: “meu site tem o cadeado verde (HTTPS), então está seguro”. O HTTPS criptografa o caminho — ninguém lê a senha no meio. Mas ele não diz ao navegador como se comportar dentro da página. E, por padrão, o navegador faz várias coisas perigosas: deixa seu site ser colocado num <iframe> de golpista, “adivinha” o tipo de arquivos, executa scripts de qualquer origem. Cabeçalhos de segurança HTTP são meia dúzia de linhas na config do servidor que fecham essas portas.

Quais cabeçalhos de segurança HTTP realmente importam?

  • Strict-Transport-Security (HSTS) — obriga o navegador a só falar com você por HTTPS, mesmo que alguém tente forçar HTTP. Ative só depois que o HTTPS estiver 100% no ar.
  • X-Content-Type-Options: nosniff — impede o navegador de “adivinhar” que um arquivo é outra coisa (um .txt virar script). Fecha uma classe inteira de ataques.
  • X-Frame-Options: SAMEORIGIN — proíbe seu site de ser embutido num iframe de terceiros. É o anti-clickjacking (aquele golpe de botão invisível por cima do seu).
  • Referrer-Policy — controla quanto da URL atual vaza no header Referer quando o usuário clica pra fora. Evita vazar caminhos internos e tokens em URL.
  • Permissions-Policy — desliga APIs do navegador que seu site não usa (câmera, microfone, geolocalização). Se um script malicioso entrar, ele não pede sua webcam.
  • Content-Security-Policy (CSP) — a mais poderosa contra XSS: diz exatamente de onde scripts, imagens e estilos podem vir. Tudo que não está na lista, o navegador recusa. É também a que mais dá trabalho de ajustar — por isso a dica de ouro abaixo.

Qual é a regra de ouro para implementar o CSP?

Travar o CSP de uma vez quebra site (some imagem, some script legítimo). O jeito certo: suba primeiro como Content-Security-Policy-Report-Only. Nesse modo ele só reporta o que seria bloqueado, sem bloquear nada. Você acompanha pelo console/relatório, ajusta a política até parar de reclamar do que é legítimo, e só então troca para o Content-Security-Policy de verdade.

Onde configurar cabeçalhos de segurança HTTP?

Depende do seu servidor — e o gerador abaixo cospe os dois prontos:

  • Apache (a maioria das hospedagens compartilhadas, incluindo o padrão da Hostinger): vai no .htaccess, dentro de <IfModule mod_headers.c>.
  • Nginx: vai no bloco server { ... } com add_header ... always;.

Depois de aplicar, teste: jogue seu domínio no securityheaders.com ou no Mozilla Observatory — eles dão uma nota e listam o que falta. A nota sobe na hora.

Marque os cabeçalhos que quer no gerador logo abaixo e leve a configuração pronta pra colar. 👇

Gerador de cabeçalhos de segurança

Gerado no seu navegador — nada é enviado. O CSP é um ponto de partida conservador (com 'unsafe-inline' em estilos, comum na vida real); ajuste pro seu site e suba primeiro em Report-Only. Ative o HSTS só com HTTPS 100% no ar.

Quero uma auditoria de segurança no meu site

Perguntas frequentes

HTTPS não basta? Não. O HTTPS criptografa o caminho, mas não diz ao navegador como agir dentro da página — clickjacking, XSS e vazamento de Referer acontecem com o cadeado ligado. Os cabeçalhos são a segunda camada.
O CSP vai quebrar meu site? Pode, se travar tudo de uma vez. Comece em Content-Security-Policy-Report-Only (só reporta, não bloqueia), ajuste, e só então troque pro CSP real.
Como testo? Rode o domínio no securityheaders.com ou no Mozilla Observatory — eles dão nota e listam o que falta.

Este guia faz parte da série Segurança de sites. Referências: MDN — CSP, securityheaders.com, OWASP Secure Headers.