HTTP Strict Transport Security (HSTS) explicado
HTTP Strict Transport Security (HSTS) é um cabeçalho de resposta que diz aos navegadores para só se conectarem ao seu site por HTTPS. Uma vez visto, o navegador recusa conexões HTTP puras ao seu domínio enquanto durar a política.
O que é
O HSTS é entregue pelo cabeçalho Strict-Transport-Security, por exemplo max-age=31536000; includeSubDomains; preload. O max-age indica por quanto tempo (em segundos) o navegador lembra da regra.
Depois da primeira visita por HTTPS, o navegador atualiza automaticamente toda requisição futura para HTTPS — o usuário não consegue cair por acidente na versão insegura, e um atacante não consegue rebaixar a conexão de volta para HTTP.
Por que importa
Sem HSTS, a primeira requisição que um usuário faz (ao digitar seudominio.com) vai por HTTP puro e pode ser interceptada antes que o seu redirecionamento para HTTPS chegue a acontecer — o clássico ataque de SSL stripping.
Uma política HSTS fraca enfraquece a proteção: um max-age curto reduz a janela em que o HTTPS é exigido, e omitir includeSubDomains deixa todos os subdomínios expostos a downgrade.
Como corrigir
Use um max-age longo (um ano), cubra os subdomínios e opte pelo preloading.
Strict-Transport-Security: max-age=31536000; includeSubDomains; preloadSó adicione includeSubDomains e preload depois que cada subdomínio servir HTTPS válido — caso contrário você pode bloquear o acesso dos usuários a subdomínios que ainda não estão prontos.
Quando seu cabeçalho incluir 'preload', cadastre seu domínio em hstspreload.org para que os navegadores exijam HTTPS já na primeira visita.
FAQ
Qual max-age eu devo usar?
No mínimo 15552000 (6 meses); 31536000 (1 ano) é a recomendação comum e o que a lista de preload exige.
O HSTS pode me deixar sem acesso ao meu próprio site?
Só se mais tarde você precisar servir por HTTP ou tiver um subdomínio sem HTTPS. Teste com cuidado antes de habilitar includeSubDomains ou preload.
Seu app está afetado?
O AppSafe verifica isso e dezenas de outros problemas em um único escaneamento grátis.
Escanear meu app grátisGuias relacionados
Por que seu site precisa de um redirecionamento HTTP→HTTPS
Não deixe a porta insegura aberta.
Content-Security-Policy (CSP): o que é e como adicionar uma
O cabeçalho que impede a execução de scripts injetados.
As flags de cookie Secure, HttpOnly e SameSite
Três flags que impedem o roubo dos cookies de sessão.