Tempo de leitura: 4 minutos

A configuração HSTS (HTTP Strict Transport Security) é um mecanismo de segurança crucial que força conexões HTTPS, protegendo seu site contra ataques de downgrade e interceptação. Verificar se está ativo é essencial para garantir a segurança dos seus visitantes.

Quando implementado corretamente, o HSTS instrui navegadores a sempre usarem HTTPS em vez de HTTP, mesmo que o usuário tente acessar seu site via protocolo inseguro. Esta camada adicional de proteção previne diversos vetores de ataque, incluindo o perigoso man-in-the-middle.

O que é HSTS e por que é importante para seu site

HTTP Strict Transport Security (HSTS) é uma política de segurança web que protege sites contra ataques de downgrade e sequestro de cookies. Quando implementado, o servidor web envia um cabeçalho especial que instrui navegadores compatíveis a:

  • Sempre usar conexões seguras HTTPS para todas as comunicações futuras
  • Converter automaticamente tentativas de acesso HTTP para HTTPS
  • Impedir que usuários ignorem avisos de certificados inválidos

A importância do HSTS não pode ser subestimada no ambiente digital atual. Sem ele, seu site fica vulnerável mesmo que utilize HTTPS, pois os usuários podem inicialmente se conectar via HTTP antes do redirecionamento para HTTPS.

“O HSTS é uma das melhores práticas de segurança mais importantes e, ao mesmo tempo, mais simples de implementar. Ele elimina o risco de ataques durante aquela janela crítica de vulnerabilidade quando um usuário acessa um site via HTTP antes do redirecionamento para HTTPS.” Troy Hunt, especialista em segurança web e criador do Have I Been Pwned

Como verificar se o HSTS está habilitado no seu site

Existem várias maneiras de verificar se o HSTS está corretamente configurado no seu site. Vou apresentar os métodos mais eficazes e acessíveis:

1. Usando as Ferramentas de Desenvolvedor do navegador

Este é o método mais direto e não requer ferramentas externas:

  • Acesse seu site usando HTTPS
  • Abra as Ferramentas de Desenvolvedor (F12 ou Ctrl+Shift+I na maioria dos navegadores)
  • Vá para a aba “Network” (Rede)
  • Recarregue a página (F5)
  • Clique no documento HTML principal (geralmente o primeiro item da lista)
  • Examine os cabeçalhos de resposta (Response Headers)
  • Procure por “Strict-Transport-Security”

Se o cabeçalho estiver presente, o HSTS está habilitado. O valor deve ser algo como: “max-age=31536000; includeSubDomains; preload”

2. Utilizando ferramentas online especializadas

Existem serviços online gratuitos que podem verificar a configuração HSTS do seu site:

3. Usando a linha de comando

Para usuários mais técnicos, o comando curl é uma excelente opção:

curl -s -D- https://seusite.com | grep -i Strict

Este comando exibirá o cabeçalho HSTS se estiver configurado.

Como habilitar o HSTS no seu servidor web

Se você descobriu que o HSTS não está habilitado, aqui está como implementá-lo nos servidores web mais comuns:

Para Apache

Adicione as seguintes linhas ao arquivo .htaccess na raiz do seu site ou à configuração do VirtualHost:

Header always set Strict-Transport-Security “max-age=31536000; includeSubDomains; preload”

Certifique-se de que o módulo headers está habilitado (a2enmod headers).

Para Nginx

Adicione esta linha dentro do bloco server para HTTPS:

add_header Strict-Transport-Security “max-age=31536000; includeSubDomains; preload” always;

Para IIS

No arquivo web.config, adicione:

“Implementar HSTS é uma das medidas mais eficazes para proteger seu site contra ataques de downgrade e interceptação. É um componente essencial em uma estratégia de segurança web moderna.” Scott Helme, pesquisador de segurança e criador do Security Headers

Parâmetros importantes do cabeçalho HSTS

Ao configurar o HSTS, é importante entender os parâmetros disponíveis:

  • max-age: Define por quanto tempo (em segundos) o navegador deve lembrar de acessar o site apenas via HTTPS. Recomenda-se um valor alto como 31536000 (1 ano).
  • includeSubDomains: Aplica a política HSTS a todos os subdomínios do seu site.
  • preload: Indica que você deseja que seu site seja incluído na lista de preload HSTS integrada aos navegadores. Isso oferece proteção máxima, mas requer requisitos adicionais.

Considerações sobre a lista preload

A lista preload HSTS é uma lista de sites que vêm pré-configurados nos navegadores para sempre usar HTTPS. Para ser incluído:

  • Seu site deve ter um certificado válido
  • Todos os subdomínios devem suportar HTTPS
  • O cabeçalho HSTS deve incluir “max-age” de pelo menos 31536000 segundos (1 ano)
  • O cabeçalho deve incluir os parâmetros “includeSubDomains” e “preload”
  • Você deve enviar seu domínio para hstspreload.org

Atenção: A inclusão na lista preload é difícil de reverter e pode afetar todos os subdomínios. Certifique-se de que está preparado antes de solicitar a inclusão.

Testando a eficácia da sua configuração HSTS

Após habilitar o HSTS, é importante verificar se está funcionando corretamente:

  1. Limpe o cache do seu navegador
  2. Tente acessar seu site via HTTP (http://seusite.com)
  3. Observe se o navegador automaticamente converte para HTTPS sem um redirecionamento visível
  4. Verifique novamente os cabeçalhos para confirmar que o HSTS está sendo enviado

Se o navegador converter silenciosamente para HTTPS sem mostrar um redirecionamento na barra de endereços, o HSTS está funcionando corretamente.

Possíveis problemas e soluções

Ao implementar o HSTS, você pode encontrar alguns desafios:

Certificado SSL inválido

Se seu certificado SSL for inválido, os navegadores bloquearão completamente o acesso ao site quando o HSTS estiver ativo. Certifique-se de:

  • Manter seu certificado SSL sempre válido e atualizado
  • Configurar renovações automáticas
  • Testar regularmente a validade do certificado

Conteúdo misto

O HSTS pode causar problemas com conteúdo misto (recursos HTTP em páginas HTTPS). Antes de implementar:

  • Verifique se todo o conteúdo do site (imagens, scripts, estilos) é servido via HTTPS
  • Use ferramentas como o Why No Padlock para identificar conteúdo misto

Subdomínios não preparados

Se usar includeSubDomains, todos os subdomínios precisam suportar HTTPS. Antes de ativar:

  • Faça um inventário de todos os subdomínios
  • Confirme que todos têm certificados SSL válidos
  • Teste cada subdomínio individualmente

Conclusão e melhores práticas

O HSTS é uma camada essencial de segurança para qualquer site moderno. Implementá-lo corretamente:

  • Protege seus usuários contra ataques de interceptação
  • Melhora a segurança geral do seu site
  • Pode até melhorar levemente o desempenho ao eliminar redirecionamentos HTTP para HTTPS

Para uma implementação ideal, recomendo:

  • Começar com um valor max-age moderado (por exemplo, uma semana) e aumentar gradualmente
  • Adicionar includeSubDomains somente depois de garantir que todos os subdomínios estão prontos
  • Considerar cuidadosamente a opção preload, entendendo que é difícil de reverter
  • Monitorar regularmente a configuração HSTS como parte da sua rotina de manutenção de segurança

Ao verificar e implementar corretamente o HSTS, você dá um passo importante para proteger seu site e seus usuários contra ameaças de segurança cada vez mais sofisticadas.

Você conseguiu verificar se o HSTS está habilitado no seu site usando algum dos métodos que expliquei? Encontrou alguma dificuldade específica na implementação que eu possa ajudar a resolver?

Avatar de Rafael P.

Perguntas Frequentes

O que exatamente é HSTS e como ele funciona?

HSTS, ou HTTP Strict Transport Security, é uma política de segurança que informa aos navegadores para sempre se conectarem a um site usando HTTPS, mesmo que o usuário tente acessá-lo via HTTP. Quando um site implementa HSTS, ele envia um cabeçalho específico que instrui o navegador a lembrar dessa configuração por um determinado período, reforçando a segurança das conexões.

Quais são os principais benefícios de ativar o HSTS?

Os principais benefícios do HSTS incluem a proteção contra ataques de downgrade, que tentam forçar uma conexão insegura, e a prevenção de interceptações de dados, como ataques ‘man-in-the-middle’. Ao forçar o uso de HTTPS, HSTS ajuda a garantir a confidencialidade e a integridade das informações trocadas entre o navegador e o servidor.

Como posso verificar se o HSTS está habilitado no meu site?

Você pode verificar se HSTS está habilitado utilizando ferramentas de análise de segurança online, como SSL Labs, que fornecem um relatório detalhado sobre a configuração do seu site. Além disso, você pode inspecionar os cabeçalhos de resposta HTTP do seu site em ferramentas de desenvolvedor do navegador, procurando pelo cabeçalho ‘Strict-Transport-Security’.

O que acontece se eu não habilitar o HSTS no meu site?

Se o HSTS não estiver habilitado, seu site estará mais vulnerável a ataques de downgrade e interceptação. Os usuários que tentarem acessar seu site via HTTP podem ser expostos a riscos, como a captura de dados sensíveis por atacantes, comprometendo a segurança das informações trocadas.

É seguro habilitar HSTS em todos os sites?

Em geral, é seguro habilitar HSTS, especialmente em sites que lidam com informações sensíveis, como dados pessoais ou financeiros. No entanto, é importante implementar HSTS corretamente e entender que, uma vez ativado, pode ser difícil reverter a configuração sem um planejamento adequado, pois os navegadores lembrarão da política por um tempo definido.

O caminho até aqui

Início » Checklist » Segurança e Configurações Técnicas Essenciais » HSTS (HTTP Strict Transport Security) está habilitado?

Somente membros podem interagir com o conteúdo.