technical
Ativar HSTS
O MetricSpot verifica o cabeçalho Strict-Transport-Security. O HSTS força os browsers a usar HTTPS em todas as visitas, fechando uma janela de ataques de downgrade que o HTTPS simples deixa aberta.
O que esta verificação faz
Inspeciona os cabeçalhos da resposta HTTP à procura de Strict-Transport-Security (HSTS). A diretiva diz a qualquer browser para recusar ligações em HTTP simples ao teu domínio durante o tempo de max-age.
Porque é importante
Mesmo com HTTPS ativo, o primeiro pedido que um novo visitante faz costuma ser em texto simples — escreve teudominio.com e o browser tenta HTTP. Esse primeiro pedido é uma janela para ataques de downgrade (man-in-the-middle estilo sslstrip em Wi-Fi hostil).
O HSTS fecha essa janela. Assim que um browser vê um cabeçalho HSTS válido, reescreve automaticamente todos os pedidos futuros para HTTPS durante todo o max-age, ignorando URLs http:// escritos pelo utilizador.
Como corrigir
Envia o cabeçalho em todas as respostas HTTPS. Um valor seguro para produção:
Strict-Transport-Security: max-age=31536000; includeSubDomains
nginx:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
Apache:
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
Cloudflare: SSL/TLS → Edge Certificates → HTTP Strict Transport Security (HSTS) → ativar, definir max-age para 12 meses, ativar Include subdomains.
Quando estiveres confiante, adiciona ; preload e submete à lista preload do Chrome — vê a página HSTS preload para os pré-requisitos.
Perguntas frequentes
Que max-age devo usar?
Começa com max-age=300 (5 minutos) enquanto testas, depois escala para 31536000 (um ano). A preload de HSTS exige pelo menos um ano.
O HSTS deixa-me sem acesso se o HTTPS partir?
Sim — é precisamente esse o objetivo. Se o teu certificado expirar ou se a configuração TLS partir, os utilizadores que já visitaram o teu site não conseguem chegar lá por HTTP como fallback. Renova certificados de forma fiável (Let’s Encrypt + systemd timer) e monitoriza a validade.
E se não tiver controlo sobre os subdomínios?
Tira o includeSubDomains. A verificação continua a passar apenas com max-age definido, embora percas proteção para *.teudominio.com. Não podes fazer preload sem includeSubDomains.
Fontes
Última atualização 2026-05-11