Introdução ao HSTS
HSTS significa HTTP Strict-Transport-Security, que é um mecanismo de política de segurança web. O HSTS foi incluído pela primeira vez no ThoughtWorks Technology Radar em 2015 e, na edição mais recente do Technology Radar em 2016, passou diretamente da fase de "Teste" para a fase de "Adoção", o que significa que a ThoughtWorks defende fortemente a adoção ativa dessa medida de defesa de segurança pela indústria, e a ThoughtWorks a aplicou em seus próprios projetos. O núcleo do HSTS é um cabeçalho de resposta HTTP. É ele que informa ao navegador que o domínio atual só será acessível via HTTPS pelo próximo período de tempo e, se o navegador perceber que a conexão atual não é segura, ele negará forçadamente os pedidos de acesso subsequentes do usuário.
Um site com uma política HSTS garante que o navegador esteja sempre conectado à versão criptografada HTTPS do site, eliminando a necessidade de os usuários inserirem manualmente o endereço criptografado na barra de endereços de URL, reduzindo o risco de sequestro de sessão.
HTTPS (SSL e TLS) garante que usuários e sites se comuniquem de forma segura, dificultando a interceptação, modificação e identidade de invasores. Quando um usuárioInsira manualmente um nome de domínio ou link http://, do siteA primeira solicitação é não criptografada, usando http simples. Os sites mais seguros imediatamente enviam um redirecionamento direcionando o usuário para uma conexão https, no entanto,Um atacante man-in-the-middle pode atacar para interceptar a requisição HTTP inicial e, assim, controlar a resposta subsequente do usuário。
Princípios HSTS
O HSTS controla principalmente as operações do navegador enviando cabeçalhos de resposta a partir do servidor: Quando um cliente faz uma solicitação via HTTPS, o servidor inclui o campo Strict-Transport-Security no cabeçalho de resposta HTTP que ele retorna. Após o navegador receber tais informações,Qualquer solicitação ao site dentro de um determinado período de tempo é iniciada em HTTPSsem ser redirecionado para HTTPS pelo servidor iniciado por HTTP.
Formato do cabeçalho de resposta HSTS
Descrição do parâmetro:
max-age (em segundos): Usado para informar ao navegador que o site deve ser acessado via protocolo HTTPS dentro de um período de tempo especificado. Ou seja, para o endereço HTTP deste site, o navegador precisa substituí-lo localmente por HTTPS antes de enviar a solicitação. includeSubDomínios (opcional): Se esse parâmetro for especificado, ele indica que todos os subdomínios do site também devem ser acessados via protocolo HTTPS. preload: Uma lista de nomes de domínio que usam HTTPS embutido no navegador.
Lista de Pré-Carga HSTS
Embora o HSTS seja uma boa solução para ataques de degradação do HTTPS, para HSTSA primeira requisição HTTP antes de entrar em vigor, ainda assimNão tem como evitarSequestrado。 Para resolver esse problema, os fabricantes de navegadores propuseram a solução HSTS Preload List. (omitido)
Configuração do IIS
Antes da configuração, visite o site conforme mostrado abaixo:
Para implementar isso no IIS7+, basta adicionar o requisito CustomHeader para HSTS no web.config, que está configurado da seguinte forma:
Após a modificação, revisite o site, conforme mostrado abaixo:
Configuração Nginx
Se o site usar nginx reverse proxy, você também pode configurar nginx diretamente para implementá-lo, da seguinte forma:
Regras de Visualização do Chrome
Para ver as regras atuais do HSTS, use o Google Chrome Chrome para digitarchrome://net-internals/#hstsEntre no carro, como mostrado na figura abaixo:
referência
Segurança Rigorosa de Transporte Em HTTP:O login do hiperlink está visível.
(Fim)
|