A ativação do HSTS protege de forma fiável os sítios Web de ligações HTTP redireccionadas e de ataques man-in-the-middle. Este artigo explica os antecedentes técnicos, mostra os benefícios e riscos claros e fornece passos fáceis de implementar para a implementação segura do HTTP Strict Transport Security.
Pontos centrais
- Ganho de segurança através do redireccionamento automático para HTTPS e da proteção contra a remoção de SSL
- Pré-carga HSTS protege-o na sua primeira visita ao sítio
- Certificados deve ser sempre válido, caso contrário os navegadores bloquearão o acesso
- Risco de configuração incorrecta: difícil de anular se a pré-carga tiver sido activada
- Definições do servidor Testar especificamente antes de a política se aplicar a todos os utilizadores
O que é a HSTS e porque é que é essencial?
O HTTP Strict Transport Security (HSTS) obriga o navegador a fazer isso, Todas as ligações encriptadas via HTTPS. O HSTS não impede simplesmente que as ligações HTTP sejam recarregadas - bloqueia-as especificamente. Assim que o browser recebe o cabeçalho Strict-Transport-Security, recusa todos os pedidos não encriptados durante o tempo especificado. Isto impede que os atacantes efectuem ataques de downgrade através da manipulação do protocolo. O HSTS é particularmente vantajoso para proteger os utilizadores móveis em redes WLAN inseguras.
Ao contrário dos simples redireccionamentos HTTPS, a utilização forçada de HTTPS permanece armazenada no browser e protege todas as ligações subsequentes. Esta persistência faz do HSTS uma ferramenta poderosa, mas se configurado incorretamente, também pode Problemas permanentes causa. É importante compreender que o HSTS obriga os navegadores a utilizarem sempre HTTPS, mesmo que o utilizador ou um potencial atacante tente redireccioná-los para HTTP. Especialmente em ambientes de servidores grandes ou com várias camadas, vale a pena implementar esta medida com cuidado.
Com um redireccionamento puro de HTTP para HTTPS, existe ainda o risco de um atacante anular o redireccionamento para HTTPS no momento certo (remoção de SSL). O HSTS, por outro lado, não permite um fallback para dados inseguros. Outra caraterística de fácil utilização é que ninguém tem de introduzir ou clicar em nada no front end para navegar de forma encriptada - o browser faz automaticamente a coisa certa em segundo plano.
Como se define tecnicamente a HSTS
O servidor emite um cabeçalho HSTS para uma ligação HTTPS segura. Três parâmetros são decisivos aqui:
| Parâmetros | Descrição |
|---|---|
| idade máxima | Tempo em segundos durante o qual o browser deve aplicar HTTPS. Normalmente 31536000 segundos = 1 ano. |
| includeSubDomains | Configurar a política para todos os subdomínios - também HTTPS obrigatório. |
| pré-carga | Permite a entrada na lista de pré-carregamento HSTS interna do navegador. Protege os utilizadores na sua primeira visita. |
Um cabeçalho HSTS típico tem o seguinte aspeto:
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload O pré-cargaA bandeira - tem um significado especial aqui: os domínios que se qualificam para esta bandeira acabam numa lista mantida pelos fabricantes de browsers comuns. O Chrome, o Firefox, o Edge e o Safari carregam esta lista com cada versão do navegador por razões de segurança. Quando um utilizador acede ao sítio pela primeira vez, a política HSTS já se aplica, mesmo que nenhum cabeçalho HSTS tenha sido aceite pelo servidor. No entanto, as especificações do fabricante do navegador devem ser seguidas muito cuidadosamente antes da introdução do domínio.
Riscos e desafios da utilização
Se pretender ativar o HSTS, deve estar ciente dos potenciais efeitos secundários. O mecanismo de segurança é permanente, desde que a idade máxima não seja deliberadamente reduzida. Um parâmetro "includeSubDomains" incorretamente definido pode significar que os subdomínios internos deixam subitamente de estar acessíveis se nenhum certificado SSL for válido. Além disso, os navegadores bloqueiam imediatamente as páginas se as ligações marcadas como seguras gerarem erros de certificado. Isto significa que uma configuração incorrecta inadvertida pode levar rapidamente à falha de serviços importantes.
A inclusão na lista de pré-carregamento, em particular, é uma decisão com um efeito a longo prazo. Uma vez que o domínio esteja aí ancorado, só pode ser cancelado com esforço e tempo de espera. Eu recomendo: Antes de mais, sem pré-carga iniciar, testar tudo, excluir erros e, opcionalmente, adicioná-los. Se ainda quiser utilizar o pré-carregamento diretamente, precisa de processos de gestão de certificados muito fiáveis. Se um certificado expirar, isso pode levar a uma revogação abrangente pelos navegadores - e, portanto, a uma perda de clientes ou a problemas de confiança.
Deve também ter-se em conta que alguns navegadores ou dispositivos com sistemas operativos desactualizados ainda não suportam o HSTS. Embora hoje em dia raramente seja esse o caso, os navegadores desactualizados dão por vezes origem a reacções confusas dos utilizadores quando apresentam mensagens de erro ou avisos de desvio devido a mecanismos HSTS não suportados. Estes cenários têm de ser testados com antecedência, especialmente se o seu grupo-alvo utilizar hardware mais antigo.
Como ativar o HSTS de forma segura - passo a passo
Tive boas experiências com a implementação da ativação de uma forma estruturada:
- Certificado SSL (favorável, por exemplo, através de estas instruções). Certifique-se de que utiliza sempre um certificado válido. Um certificado expirado conduzirá rapidamente a um bloqueio total.
- Configurar o cabeçalho Strict-Transport-Security no servidor Web (por exemplo, através do Apache .htaccess ou da configuração do Nginx). Um curto período de teste ajuda aqui a garantir que todos os serviços estão a funcionar corretamente.
- Mantenha o max-age curto no início - por exemplo, 300 segundos - para testes. Isto permite que os erros sejam corrigidos rapidamente sem que os utilizadores fiquem presos a uma configuração HSTS incorrecta a longo prazo.
- Não active inicialmente IncludeSubDomains a menos que todos os subdomínios estejam protegidos. Verifique o certificado de cada subdomínio, caso contrário existe o risco de mensagens de erro ou de bloqueio.
- Após um teste positivo: aumentar gradualmente a idade máxima até 1 ano. Desta forma, ganha-se segurança sem correr riscos demasiado precipitados.
- Utilize ferramentas como o SSL Labs para analisar se tudo está corretamente integrado. Aqui pode ver imediatamente se as áreas do sítio Web não estão encriptadas ou se o certificado foi configurado incorretamente.
- Opcional: Pré-carga se todos os riscos possíveis forem permanentemente excluídos. Uma entrada de pré-carregamento representa o nível mais elevado e oferece uma proteção abrangente desde a primeira visualização da página.
Especialmente na fase inicial, é útil manter um olho no registo do servidor. Se ocorrer um número considerável de erros 4xx ou 5xx, a aplicação do HSTS pode ser a causa. Alguns navegadores também comunicam problemas muito mais cedo se a configuração estiver incorrecta. Por conseguinte, vale a pena efetuar um teste exaustivo com diferentes navegadores (Chrome, Firefox, Safari, Edge), diferentes dispositivos finais (smartphones, tablets) e sistemas operativos mais antigos, se necessário.
Vantagens importantes da utilização de HSTS
As vantagens do HSTS são particularmente evidentes em sítios Web com dados confidenciais. O mecanismo impede especificamente os vectores de ataque sem que os utilizadores tenham de fazer nada ativamente. Se o HSTS for ativado corretamente, um browser moderno reconhece imediatamente se uma ligação está encriptada de forma segura - ou se precisa de ser bloqueada. Desta forma, o HSTS reforça a confiança dos visitantes e ajuda-o, enquanto operador, a manter a integridade do seu sítio Web.
Outras vantagens:
- Vantagens de SEOO Google favorece os sítios que utilizam HTTPS de forma consistente. Além disso, o HSTS realça esta convicção de HTTPS - porque quem utiliza o HSTS confia definitivamente na encriptação.
- Cumprimento dos requisitos actuais de proteção de dados, por exemplo, em conformidade com o RGPD ou a norma ISO 27001, uma vez que deixam de ser enviados dados não encriptados. Isto facilita a prova de que as informações sensíveis são transmitidas de forma consistente e encriptada.
- Proteção contra o sequestro de sessões através de chamadas HTTP mal direcionadas. Mesmo que um utilizador introduza involuntariamente um URL sem "https://", o navegador força um pedido encriptado.
- Evitar redireccionamentos desnecessários - os utilizadores podem aceder à página diretamente através de HTTPS. Isto pode otimizar ligeiramente o tempo de carregamento e tem um efeito positivo na experiência do utilizador.
Tecnicamente, o efeito pode ser medido: O bloqueio permanente das ligações HTTP reduz o aparecimento de potenciais vulnerabilidades de segurança nos resultados dos scanners Web. Isto beneficia em igual medida a SEO, os relatórios de proteção de dados e a impressão do cliente. Uma estratégia HTTPS fiável pode ser um ponto de venda único e decisivo, especialmente agora que as preocupações com a segurança estão a aumentar constantemente entre os utilizadores.
O que se aplica ao HSTS em ambientes de alojamento partilhado
Nas estruturas de alojamento partilhado (alojamento partilhado ou gerido), o acesso individual às configurações do servidor é normalmente limitado. Por isso, primeiro verifico se o meu fornecedor permite personalizações através do .htaccess ou se é fornecida uma interface. Em muitos sítios, adicionar uma linha ao .htaccess é suficiente para emitir o cabeçalho HSTS. Em alternativa, alguns fornecedores oferecem uma definição correspondente na sua interface de administração (por exemplo, Plesk ou cPanel).
Um redireccionamento HTTPS fiável já é um bom sinal. Instruções como esta ajuda para o reencaminhamento HTTPS fornecem uma visão sobre as definições básicas sensatas. No entanto, o simples redireccionamento para HTTPS não é suficiente para impedir eficazmente a remoção do SSL. Se quiser usufruir de segurança total, deve também ativar a opção HSTS no alojamento partilhado.
No entanto, em alguns ambientes de alojamento partilhado, pode ser complexo cobrir subdomínios de forma segura. Especialmente com serviços ou ferramentas externas (por exemplo, webmail, área de clientes, blogue), é necessário garantir que todos os certificados são válidos. Um comportamento incorreto num subdomínio pode levar a que todo o domínio seja assinalado como inseguro. Isto pode ter um impacto direto na sua reputação e acessibilidade.
Melhores práticas para uma utilização segura
Os certificados expiram - isso é inevitável. É por isso que automatizo o processo de renovação utilizando o Let's Encrypt ou outros serviços com cronjobs, API ou protocolo ACME. As renovações em falta levam a que os navegadores bloqueiem os sítios Web. É assim que uma caraterística de segurança se torna subitamente um risco de falha.
Antes de ativar o includeSubDomains, testo especificamente todos os subdomínios relevantes. As ferramentas internas, os serviços antigos ou os diretórios de desenvolvimento, em particular, estão frequentemente desprotegidos. Por isso, dispenso este parâmetro ou protejo cuidadosamente cada secção da minha plataforma antes de a utilizar. Também é importante que todos os redireccionamentos sejam configurados corretamente e que não ocorram problemas de conteúdo misto. O conteúdo misto ocorre quando o sítio Web é carregado via HTTPS, mas os ficheiros individuais, como imagens, scripts ou folhas de estilo, continuam a ser integrados via HTTP. Isto prejudicaria a encriptação consistente e o HSTS não poderia desenvolver plenamente o seu efeito.
Recomendamos a utilização combinada de cabeçalhos de segurança adicionais, tais como Política de segurança de conteúdos ou X-Frame-Options. Enquanto o HSTS protege o protocolo de transporte, a Política de Segurança de Conteúdos encarrega-se de controlar os recursos externos que podem ser carregados. Em conjunto, isto minimiza ainda mais a superfície de ataque porque as potenciais tentativas de scripting entre sítios ou injecções de código tornam-se mais difíceis. Um planeamento minucioso garante medidas de proteção complementares.
Deve também ter em conta que alguns utilizadores utilizam browsers desactualizados. Embora atualmente esta situação seja rara na prática, vale a pena fornecer uma breve nota ou FAQ se um visitante com um navegador muito antigo se queixar. Em casos individuais, pode considerar a possibilidade de oferecer uma página separada que peça aos utilizadores para actualizarem o seu programa de navegação - embora isto possa, obviamente, entrar em conflito com uma configuração HSTS rigorosa. No entanto, na realidade, está a fazer um favor aos utilizadores se os motivar a utilizar uma versão actualizada do programa de navegação, uma vez que isso também é benéfico noutras áreas (lacunas de segurança, renderização).
Acompanhamento correto após a implantação
Depois de ativar o HSTS, verifico regularmente vários aspectos: os certificados ainda são válidos? O cabeçalho está a ser entregue corretamente? Os meus registos registam erros de TLS ou fortes flutuações de tráfego? Ferramentas como o cURL, Qualys SSL Labs ou plugins de browser ajudam na verificação. Com uma observação cuidadosa, é possível encontrar rapidamente estrangulamentos ou reconhecer se determinados crawlers ou bots estão a ter problemas.
Se ocorrerem erros, posso fazer redefinições temporárias localmente através de "About:config" no Firefox ou nas ferramentas de desenvolvimento correspondentes. No entanto, se for utilizado o pré-carregamento, esta não é uma saída rápida - a entrada permanece até à próxima atualização do navegador. As actualizações da entrada de pré-carregamento devem, portanto, ser protegidas com muito cuidado, por exemplo, verificando meticulosamente o estado de todos os subdomínios e efectuando testes exaustivos antes de entrar no domínio.
Outro fator é o tempo: especialmente quando os certificados estão prestes a expirar, um ligeiro atraso na renovação automática pode levar a avisos do navegador. Como a janela de configuração do HSTS no browser mal deixa espaço suficiente para as consultas, o acesso à página pode ser bloqueado imediatamente - entretanto, os visitantes persistentes ficam perturbados.
Em resumo: Utilizar a segurança com responsabilidade
A ativação do HSTS não é uma questão de cosmética - é uma Verdadeira medida de proteção. Utilizado corretamente, reduz os riscos graves no funcionamento do sítio Web. No entanto, o passo para a ativação deve ser bem preparado. Se adotar uma abordagem estruturada, começar com valores de idade máxima baixos e só utilizar componentes de bloqueio, como o pré-carregamento, após a fase de teste, beneficiará de uma proteção fiável a longo prazo.
Especialmente numa época de ameaças cibernéticas em constante crescimento, a experiência prática mostra que são essenciais canais de comunicação suficientemente encriptados. O HSTS acrescenta uma camada crucial de segurança ao protocolo HTTPS, impedindo que as ligações não encriptadas sejam autorizadas. Juntamente com uma gestão sofisticada de certificados e verificações de segurança regulares, isto cria um pacote global que proporciona a melhor proteção possível para os seus próprios dados e utilizadores.
As funcionalidades de segurança, como o HSTS, fazem agora parte do funcionamento responsável dos sítios Web profissionais. Recomendo que todos os administradores se familiarizem com o mecanismo - e o implementem de forma orientada com um plano e monitorização. Se dedicar algum tempo a configurá-lo corretamente, criará um ambiente muito mais fiável e enviará um sinal claro de que a segurança dos visitantes e dos seus dados é uma prioridade máxima.


