O que é HSTS e como configurar seu site para usar?
Quando você utiliza um certificado SSL para um website, você tem como opção abrir o site tanto em HTTP ou em HTTPS. O redirecionamento sempre é realizado via programação, quando o site é aberto e precisa ir para um ambiente seguro.
No entanto, há casos em que um site precise ser sempre carregado em HTTPS, pois trata-se de uma aplicação e esta possivelmente já esteja logada, como facebook por exemplo.
Se você digitasse no navegador "facebook.com" e simplesmente soubesse que sua conexão estaria usando o comum e tradicional formato sem criptografia, todos na rede poderiam interceptar o tráfego de dados.
Mas, como o facebook consegue fazer uma conexão ir diretamente ao facebook.com sem passar pela porta 80?
O segredo disto está na configuração de HSTS.
A configuração de HSTS informa que o site utiliza uma política para que seja aberto sempre com a tecnologia SSL, então se configurado, o navegador saberá que se a pessoa digitar na barra de endereços apenas "facebook.com", deverá acessar a versão "https://facebook.com" ao invés de "http://facebook.com" e assim garantir que a página inicial seja completamente segura com criptografia habilitada, para que ninguém veja sua timeline.
Veja um exemplo da configuração, que é configurada no cabeçalho HTTP:
Esta é a configuração atual do site do facebook, mas outros usam esta tecnologia, inclusive aqui, o Tutorial TI também implementou, para que você possa visualizar as postagens e compartilhar seus comentários de forma segura.
max-age: Define em segundos quanto tempo o navegador deve manter em cache para preferir abrir o site em HTTPS ao invés de HTTP.
preload: Permite ao navegador pré-carregar o cabeçalho HTTP e assim o site somente será aberto utilizando a tecnologia HTTPS. Sem ele, a primeira conexão ao site seria via HTTP, e então somente a partir daí, após fechar o navegador e abrir novamente, que passaria a utilizar a informação recebida em cache. Se o site não possui HTTPS (SSL), o site fica inacessível com esta opção.
Se você tem seu site mas ainda não possui um certificado SSL, é muito importante ter, mesmo que o site tenha apenas conteúdos estáticos ou públicos, pois isto ajuda na relevância da pesquisa de mecanismos de busca, como o Google e Bing, que possuem diversos algorítimos para definir uma classificação de um site.
No entanto, há casos em que um site precise ser sempre carregado em HTTPS, pois trata-se de uma aplicação e esta possivelmente já esteja logada, como facebook por exemplo.
Se você digitasse no navegador "facebook.com" e simplesmente soubesse que sua conexão estaria usando o comum e tradicional formato sem criptografia, todos na rede poderiam interceptar o tráfego de dados.
Mas, como o facebook consegue fazer uma conexão ir diretamente ao facebook.com sem passar pela porta 80?
O segredo disto está na configuração de HSTS.
A configuração de HSTS informa que o site utiliza uma política para que seja aberto sempre com a tecnologia SSL, então se configurado, o navegador saberá que se a pessoa digitar na barra de endereços apenas "facebook.com", deverá acessar a versão "https://facebook.com" ao invés de "http://facebook.com" e assim garantir que a página inicial seja completamente segura com criptografia habilitada, para que ninguém veja sua timeline.
Veja um exemplo da configuração, que é configurada no cabeçalho HTTP:
strict-transport-security:max-age=15552000; preload
Esta é a configuração atual do site do facebook, mas outros usam esta tecnologia, inclusive aqui, o Tutorial TI também implementou, para que você possa visualizar as postagens e compartilhar seus comentários de forma segura.
max-age: Define em segundos quanto tempo o navegador deve manter em cache para preferir abrir o site em HTTPS ao invés de HTTP.
preload: Permite ao navegador pré-carregar o cabeçalho HTTP e assim o site somente será aberto utilizando a tecnologia HTTPS. Sem ele, a primeira conexão ao site seria via HTTP, e então somente a partir daí, após fechar o navegador e abrir novamente, que passaria a utilizar a informação recebida em cache. Se o site não possui HTTPS (SSL), o site fica inacessível com esta opção.
Se você tem seu site mas ainda não possui um certificado SSL, é muito importante ter, mesmo que o site tenha apenas conteúdos estáticos ou públicos, pois isto ajuda na relevância da pesquisa de mecanismos de busca, como o Google e Bing, que possuem diversos algorítimos para definir uma classificação de um site.
Olá,
ResponderExcluirBem esclarecedor o texto de vocês.
Estou tentando implementar em meu site,mas não basta colocar está linha:
strict-transport-security:max-age=15552000; preload
Outra coisa,passei o site de vocês nesta ferramenta https://hstspreload.org/ vocês não devem ter configurado corretamente,mostra erros
Boa..noite
ResponderExcluir