O que é HSTS (HTTP Strict Transport Security)?

Aprenda sobre HTTP Strict Transport Security (HSTS), um mecanismo crucial de segurança da web que impõe conexões HTTPS. Descubra seus benefícios, etapas de implementação e melhores práticas para proteger seu site contra ataques comuns.

HTTP Strict Transport Security (HSTS) é um mecanismo de política de segurança da web que ajuda a proteger sites contra ataques de downgrade de protocolo e sequestro de cookies. Ele permite que servidores da web declarem que navegadores da web (ou outros agentes de usuário em conformidade) devem interagir apenas com ele usando conexões HTTPS seguras e nunca por meio do protocolo HTTP inseguro.

Guia rápido: Implementando HSTS

  1. Garanta que seu site seja totalmente acessível via HTTPS.

  2. Adicione o cabeçalho Strict-Transport-Security às respostas do seu servidor web:

    Segurança de transporte estrita: max-age = 300; includeSubDomains; pré-carga
  3. Teste sua implementação de HSTS usando ferramentas online e ferramentas de desenvolvedor de navegador.

  4. Aumente o valor max-age após confirmar a implementação correta.

  5. Considere enviar seu domínio para a lista de pré-carregamento do HSTS para segurança máxima.

Agora, vamos explorar os detalhes do HSTS, seus benefícios e considerações de implementação.

Compreendendo o HSTS em detalhes

Que problema o HSTS resolve?

O HSTS foi desenvolvido para abordar diversas vulnerabilidades de segurança que existem quando sites dependem somente de HTTPS sem proteções adicionais:

  • Ataques de remoção de SSL: Um invasor pode interceptar a solicitação HTTP inicial e redirecionar o usuário para uma versão não segura do site.
  • Conteúdo Misto: Alguns recursos em uma página ainda podem ser carregados via HTTP, criando vulnerabilidades de segurança.
  • Comportamento do usuário: Os usuários podem digitar manualmente “http://” ou omitir o protocolo completamente ao inserir uma URL, expondo-se potencialmente a conexões não seguras.

O HSTS atenua esses problemas forçando todas as conexões a usar HTTPS, mesmo quando um usuário tenta acessar um site via HTTP.

Como funciona o HSTS

Quando um servidor web envia o cabeçalho HSTS em sua resposta, ele instrui o navegador a:

  • Converta automaticamente todos os links HTTP inseguros em links HTTPS seguros.
  • Impedir que usuários ignorem avisos de certificado.
  • Lembre-se desta instrução por um período específico (definido pela diretiva max-age).

Aqui está uma análise dos componentes do cabeçalho HSTS:

  • idade máxima: Especifica por quanto tempo (em segundos) o navegador deve se lembrar de forçar o HTTPS.
  • incluirSubDomínios: (Opcional) Aplica a política HSTS a todos os subdomínios do domínio atual.
  • pré-carga: (Opcional) Indica que o proprietário do domínio consente que seu domínio seja pré-carregado nos navegadores.

Benefícios da implementação do HSTS

  • Segurança aprimorada: Protege contra ataques do tipo man-in-the-middle, remoção de SSL e sequestro de cookies.
  • Experiência aprimorada do usuário: Redireciona automaticamente solicitações HTTP para HTTPS, reduzindo a latência.
  • Benefícios de SEO: Os mecanismos de busca favorecem sites seguros, melhorando potencialmente as classificações de pesquisa.
  • Conformidade: Ajuda a atender a vários requisitos regulatórios de proteção de dados e privacidade.
Pronto para proteger seu site com HTTPS?
Comece hoje mesmo a usar o Certificado Geral da SSL.com e dê o primeiro passo para implementar o HSTS para maior segurança.

Implementando HSTS em seu servidor web

Etapa 1: Prepare seu site para HTTPS

Antes de implementar o HSTS, certifique-se de que seu site esteja totalmente funcional via HTTPS:

  1. Obter um SSL/TLS certificado de uma Autoridade de Certificação confiável, como SSL.com.
  2. Instale o certificado no seu servidor web.
  3. Configure seu servidor web para usar HTTPS.
  4. Atualize todos os links internos para usar HTTPS.
  5. Garanta que todos os recursos externos (scripts, imagens, etc.) sejam carregados via HTTPS.

Etapa 2: adicione o cabeçalho HSTS

Comece adicionando o cabeçalho HSTS com um valor max-age curto para testar sua configuração. Por exemplo, use max-age=300 (5 minutos):

apache

Adicione o seguinte ao seu arquivo .htaccess ou à configuração do servidor:

cabeçalho sempre defina Strict-Transport-Security "max-age=300; includeSubDomains; pré-carregamento"

nginx

Adicione isto ao seu bloco de servidor na configuração do Nginx:

add_header Estrito-Transporte-Segurança "max-age=300; includeSubDomains; pré-carregamento" sempre;

IIS

Para o IIS, você pode adicionar o cabeçalho por meio do arquivo web.config:

<sistema.webServer>
  <Protocolo http>
    <Cabeçalhos personalizados>
      <adicionar nome="Segurança-de-Transporte-Rigorosa" valor="max-age=300; includeSubDomains; pré-carregamento"/>
    </Cabeçalhos personalizados>
  </Protocolo http>
</sistema.webServer>

Etapa 3: Teste sua implementação HSTS

Depois de adicionar o cabeçalho, é crucial testar sua implementação:

  1. Use ferramentas online: Ferramentas como SSL Labs ou Security Headers podem verificar se o cabeçalho HSTS está presente e configurado corretamente.

  2. Ferramentas de desenvolvedor de navegador:

    • Abra seu site em um navegador (por exemplo, Chrome ou Firefox).

    • Pressione F12 para abrir as ferramentas do desenvolvedor.

    • Navegue até a aba Rede.

    • Atualize a página e selecione a solicitação inicial (geralmente seu domínio).

    • Procure o cabeçalho Strict-Transport-Security na seção Cabeçalhos para confirmar que ele está sendo enviado.

  3. Teste a imposição de HTTPS:

    • Tente acessar seu site via http:// e certifique-se de que ele redireciona para https://.

    • Verifique se os subdomínios também estão protegidos se você incluiu a diretiva includeSubDomains.

Etapa 4: Aumente o valor max-age

Depois de confirmar que sua implementação HSTS funciona corretamente com uma duração máxima curta, você pode aumentá-la para uma duração maior, como um ano (max-age=31536000):

apache

cabeçalho sempre defina Strict-Transport-Security "max-age=31536000; includeSubDomains; pré-carregamento"

nginx

add_header Estrito-Transporte-Segurança "max-age=31536000; includeSubDomains; pré-carregamento" sempre;

IIS

<sistema.webServer>
  <Protocolo http>
    <Cabeçalhos personalizados>
      <adicionar nome="Segurança-de-Transporte-Rigorosa" valor="max-age=31536000; includeSubDomains; pré-carregamento"/>
    </Cabeçalhos personalizados>
  </Protocolo http>
</sistema.webServer>

Etapa 5: considere o pré-carregamento HSTS

O pré-carregamento de HSTS oferece uma camada adicional de segurança ao incluir seu domínio em uma lista de sites habilitados para HSTS que é codificada em navegadores. Para pré-carregar seu site:

  1. Certifique-se de que seu cabeçalho HSTS inclui preload na diretiva.
  2. Visite o site de envio da lista de pré-carregamento do HSTS.
  3. Insira seu domínio e siga o processo de envio.

Observação: o pré-carregamento é uma proteção poderosa, mas pode ser difícil de desfazer. Certifique-se de que seu site esteja pronto para acesso somente HTTPS de longo prazo antes de enviar.

Melhores práticas e considerações

  • Comece com uma max-age curta: Comece com um valor menor (por exemplo, max-age=300) e aumente-o gradualmente conforme você confirma que tudo funciona corretamente. Isso evita que os usuários sejam bloqueados se houver uma configuração incorreta.
  • Tenha cuidado com includeSubDomains: Certifique-se de que todos os subdomínios estejam prontos para HTTPS antes de usar esta opção.
  • Plano de Longo Prazo: Uma vez que o HSTS é implementado, voltar para HTTP pode ser desafiador. Garanta que sua organização esteja comprometida em manter o HTTPS.
  • Monitoramento Regular: Monitore continuamente sua configuração HTTPS para garantir que os certificados permaneçam válidos e configurados corretamente.
  • Educação do usuário: Embora o HSTS faça muitas coisas automaticamente, eduque seus usuários sobre a importância do HTTPS e fique atento aos avisos de segurança.

Potenciais desafios e soluções

Problemas de conteúdo misto

  • Desafio: Alguns recursos ainda estão carregando via HTTP.
  • Solução: Use cabeçalhos de Política de Segurança de Conteúdo (CSP) para detectar e relatar conteúdo misto.

Expiração de certificado

  • Desafio: Certificados expirados podem bloquear usuários devido a políticas HSTS rígidas.
  • Solução: Implementar sistemas automatizados de renovação e monitoramento de certificados.

Complicações do proxy reverso

  • Desafio: Os cabeçalhos HSTS podem não ser propagados corretamente por meio de algumas configurações de proxy reverso.
  • Solução: Certifique-se de que seu proxy reverso esteja configurado para passar ou definir cabeçalhos HSTS corretamente.

Ambientes de Desenvolvimento e Teste

  • Desafio: HSTS pode complicar o acesso a ambientes de desenvolvimento não HTTPS.
  • Solução: Use domínios separados para desenvolvimento/preparação que não sejam habilitados para HSTS.

Conclusão

HTTP Strict Transport Security (HSTS) é uma ferramenta poderosa. Ao forçar conexões seguras, o HSTS protege seu site e seus usuários de vários ataques. Embora a implementação exija planejamento e execução cuidadosos, os benefícios de segurança superam em muito as complexidades da configuração inicial.

Lembre-se, a segurança da web é um processo contínuo. Revise e atualize regularmente sua política de HSTS, monitore sua implementação de HTTPS e mantenha-se informado sobre as melhores práticas emergentes de segurança da web para manter seu site e seus usuários seguros.

Mantenha-se informado e seguro

SSL.com é líder global em segurança cibernética, PKI e certificados digitais. Inscreva-se para receber as últimas notícias do setor, dicas e anúncios de produtos da SSL.com.

SSL.com

Adoraríamos receber seu feedback

Responda à nossa pesquisa e deixe-nos saber sua opinião sobre sua compra recente.

Visão geral de privacidade
SSL.com

Este site usa cookies para que possamos oferecer a melhor experiência possível ao usuário. As informações sobre cookies são armazenadas no seu navegador e desempenham funções como reconhecê-lo quando você retornar ao nosso site e ajudar nossa equipe a entender quais seções do site você acha mais interessantes e úteis.

Para mais informações, leia nossa Declaração de privacidade e cookies.

Cookies de terceiros

Este site usa Google Analytics & Contador de estatísticas para coletar informações anônimas, como o número de visitantes do site e as páginas mais populares.

Manter esses cookies habilitados nos ajuda a melhorar nosso site.

Mostrar detalhes