O que é HSTS e como ele está configurado?

HTTPS é muito seguro, mas tem uma falha: não é habilitado por padrão. Um invasor no meio pode sequestrar a conexão de um usuário antes que você possa dizer a ele para usar HTTPS. O HSTS resolve esse problema e habilita o HTTPS no nível do site.

Ter a criptografia SSL em primeiro lugar é um pré-requisito para o HSTS, porque, caso contrário, habilitar o HSTS tornará seu site inacessível. Você pode ler nosso guia sobre como configurar certificados SSL gratuitos com LetsEncrypt para habilitar HTTPS em seu site.

índice

  1. Como funciona o HST?
  2. Pré-carregamento HSTS
  3. Ativar HSTS e ingressar na lista de pré-carregamento
  4. Problemas com pré-carregamento de HSTS e HSTS

Como funciona o HST?

HSTS significa HTTP Strict Transport Security e governa como o navegador de um usuário deve se conectar ao seu site.

É assim que a conexão ao seu site geralmente funciona. Um usuário deseja se conectar ao seu site e envia uma solicitação de conexão ao seu servidor. Seu servidor faz a coisa responsável e envia uma resposta 301 Moved Permanently para o navegador, informando que o endereço HTTP solicitado deve ser redirecionado para HTTPS. O usuário continua normalmente, navegando com segurança.

No entanto, um invasor com controle de conexão (como no caso de ataques man-in-the-middle) pode facilmente bloquear a resposta 301 e assumir o controle da sessão de navegação desse usuário. Este é um grande problema, pois derrota o propósito de criptografar o site em primeiro lugar.

Com o HSTS ativado, o servidor envia a mesma resposta 301 Moved Permanently, mas também envia um cabeçalho que diz: "Ei, eu não suporto HTTP. Nem tente várias solicitações HTTP, porque vou redirecionar todas elas." O navegador recebe a mensagem e a redireciona para HTTPS antes de enviar qualquer coisa. Isso garante que seu site seja totalmente HTTPS, por padrão, sempre.

Pré-carregamento HSTS

No entanto, o padrão HSTS tem uma grande falha: a primeira conexão que um usuário faz ainda é insegura. Se um usuário já usou seu site antes, o navegador atenderá à solicitação HSTS no futuro. Mas a resposta inicial do HSTS não é segura, portanto, se um usuário estiver navegando em uma cafeteria e abrir seu site pela primeira vez (ou, pela primeira vez em um dispositivo móvel), sua conexão ainda poderá ser invadida.

O pré-carregamento de HSTS é uma iniciativa do projeto Chromium para corrigir esse problema. O projeto Chromium mantém uma lista de sites que estão sempre habilitados para HSTS. Essa lista é incorporada à maioria dos principais navegadores e é verificada pelo navegador antes de fazer solicitações para novos sites.

Se estiver na lista, mesmo que um usuário nunca tenha interagido com seu site antes, o usuário se comportará como se já tivesse visto seu cabeçalho HSTS e nunca se comunicaria com HTTP. Isso torna a conexão completamente segura desde o início.

Ativar HSTS e ingressar na lista de pré-carregamento

O HSTS pode ser ativado com um simples cabeçalho, que é adicionado a todas as respostas enviadas pelo servidor:

 Strict-Transport-Security: max-age=300; includeSubDomínios; pré-carregar

Você pode incluí-lo em seu arquivo de configuração do servidor web. Por exemplo, no Nginx, você pode definir o cabeçalho incluindo uma linha add_header em seu bloco de servidor:

 add_header Strict-Transport-Security 'max-age=300; includeSubDomínios; pré-carga; sempre;'

E para o Apache, o comando é semelhante, usando a linha Header always set :

 O cabeçalho sempre define Strict-Transport-Security "max-age=300; includeSubDomains; preload"

No entanto, existem algumas etapas extras para garantir que tudo esteja funcionando corretamente e para ser elegível para pré-carregamento.

Primeiro, certifique-se de redirecionar todas as solicitações HTTP para HTTPS. No Nginx, você pode fazer isso ouvindo todas as solicitações da porta 80 (HTTP) e enviando uma solicitação 301 com a URL alterada para o equivalente HTTPS:

 servidor { escuta 80; return 301 https://$host$request_uri; }

Para se qualificar para pré-carregamento, você também deve garantir que todos os seus subdomínios sejam cobertos pelo seu certificado SSL e que você os esteja atendendo por HTTPS. Você pode fazer isso com um certificado curinga, que pode ser obtido gratuitamente no LetsEncrypt. Se você não estiver pré-carregando, isso não é necessário, mas ainda é recomendado.

Você pode verificar se o HSTS está funcionando corretamente carregando seu site com o cabeçalho ativado e acessando chrome://net-internals/#hsts e inserindo o nome do seu site na ferramenta de pesquisa "Consultar domínio HSTS/PKP". Se o seu site mostrar um resultado como este, o HSTS está ativado.

Além disso, você deve verificar se o cabeçalho strict-transport-security está incluído nos cabeçalhos de resposta do seu site, o que você pode fazer na guia Rede no console de desenvolvimento do Chrome:

Depois de fazer tudo isso, você precisa verificar se tudo está funcionando e se nada foi quebrado quando você ativou o HSTS. Se não houver problema, você pode acessar a página de envio de pré-carregamento, inserir seu nome de domínio e enviar seu site.

Problemas com pré-carregamento de HSTS e HSTS

Com o HSTS, seu site agora é forçado a usar HTTPS para tudo . Isso inclui todos os subdomínios, incluindo ferramentas internas. Cada subdomínio que você possui deve ter um certificado SSL válido e estar protegido com HTTPS; caso contrário, ficará inacessível durante a vida útil do cabeçalho HSTS (que pode ser de até dois anos). Se você tiver um certificado curinga, poderá contornar alguns desses problemas, mas deve experimentá-lo antes de habilitá-lo por um longo tempo.

O principal problema com o pré-carregamento HSTS é que ele é muito permanente. A max-age um ano e, depois que seu site for listado, você não poderá sair da lista sem passar por um longo processo de remoção que exige que cada usuário execute uma atualização do navegador para aplicar as alterações.

Você pode dar uma olhada nesta meta-lista de erros de remoção para ver quais são os principais problemas na prática. Uber teve problemas com subdomínios. Subdomínios de terceiro nível e acima podem não ser compatíveis com certificações curinga normais. Um site sueco também relata uma receita de anúncios significativamente menor, pois os anunciantes locais não carregam seus ativos por HTTPS e o HSTS bloqueia quaisquer solicitações HTTP inseguras feitas enquanto o usuário está conectado ao site.

A melhor maneira de evitar esses problemas é implementar o HSTS em etapas antes de alternar permanentemente para o pré-carregamento. O projeto Chromium recomenda a execução de testes de intervalo definindo o valor max-age em cinco minutos para verificar se funciona:

 max-idade=300; includeSubDomínios

Então, uma semana para um teste mais longo:

 idade máxima=604800; includeSubDomínios

Então, por um mês, até ter certeza de que não há problemas:

 max-idade=2592000; includeSubDomínios

Se algo der errado e você definir uma propriedade max-age muito longa, poderá limpar o sinalizador local da página net-internals do Chrome.

Quando tiver certeza de que nada dará errado com apenas HTTPS sempre ativado, você poderá definir sua max-age para dois anos, adicionar a diretiva de preload -carregamento e enviar seu site para pré-carregamento.

  • Roku adiciona 17 novos canais de TV de streaming gratuitos
  • Você pode atender e rejeitar chamadas com o Google Assistente

descubra mais conteúdo

Google Pixel Watch também tem detecção de queda, mas não até o próximo ano

As melhores xícaras de café aquecidas de 2022

Como automatizar seu iPhone com base na hora, atividade ou localização

"Isso deve ter sido antes do meu tempo"

Por que a NASA enviou Snoopy para a Lua? – Revisão Geek

O que é uma carga fantasma?

Deixe uma resposta Cancelar resposta

HTTP Strict Transport Security ou HTTP com Strict Transport Security, é uma política de segurança web estabelecida para prevenir ataques que possam interceptar comunicações, cookies, etc.

Como remover o HSTS?

Limpe o cache HSTS do seu navegador

  1. Digite o nome de domínio no campo de texto da seção "Excluir políticas de segurança de domínio"
  2. Clique no botão Excluir.
  3. Digite o nome de domínio no campo de texto da seção "Consulta HSTS "
  4. Clique no botão Consulta.
  5. A resposta deve ser "Não encontrado"

O que significa que o site usa HSTS?

Por quê? Porque o domínio do seu site usa HSTS . HSTS (HTTP Strict Transport Security ) é uma nova política de segurança especialmente projetada para evitar a interceptação de dados.

Como ativar o HSTS?

Vá para Sistema > Perfis > Perfis SSL. Selecione um perfil SSL e clique em Modificar. Em Configurações básicas, clique no ícone de lápis para modificar as configurações. Role para baixo e selecione HSTS e Pré-carregar.

Ir arriba