Como o HSTS gerencia conteúdo misto?

7

Acabei de verificar com o Teste do servidor SSL se eu implementei o certificado SSL no meu servidor corretamente. Eu tenho uma nota A em sua classificação, mas você pode obter um A + se você ativou HSTS . Depois de algumas pesquisas, descobri que o Google poderia tratar a HSTS como um fator de classificação. Então, parece ser relevante em termos de SEO. Antes de implementar o HSTS, tenho algumas perguntas.

Pergunta 1

O que acontece se alguns javascripts externos carregarem, por exemplo, uma imagem sobre http (em vez de https) no meu site? A HSTS impedirá que a página inteira carregue ou bloqueie apenas o conteúdo "inseguro" específico?

Pergunta 2

No momento (sem HSTS), recebo um aviso de "conteúdo misto" se os recursos forem carregados via http. O "conteúdo misto" realmente existe se o HSTS estiver ativado?

    
por Sr. Schneider 20.08.2018 / 09:29

3 respostas

12

O HSTS não tenta manipular conteúdo misto: ele apenas controla se o navegador deve executar um redirecionamento 307 interno para HTTPS sempre que tentar carregar URLs HTTP, ou não. O aviso de conteúdo misto é um recurso do navegador e todos os navegadores atuais o fazem (Mozilla Firefox 23+, Google Chrome 21+, Internet Explorer 10+, Edge desde o início ...). Os blocos de aviso de conteúdo misto, por ex. <script> e <iframe> , mas não <img> .

O aviso de conteúdo misto em todos os navegadores mencionados é verificado antes de carregar qualquer conteúdo, ou seja, antes do HSTS redirecionar também. Isso parece natural e também é fácil de testar. Por padrão, todas as imagens externas são carregadas mesmo usando HTTP simples, e um aviso de conteúdo misto é dado apenas para scripts e iframes.

OHSTSapenasalteraasituaçãoemqueumaimagemdeumdomínioativadoporHSTSécarregadausandoHTTPsimplese307InternalRedirectéexecutada.Valeapenanotar:estaéumasituaçãosemavisosdeconteúdomistoenvolvidos.

Portanto, o HSTS não funciona como uma solução rápida para o problema de conteúdo misto :

  • Você precisa corrigir http:// URLs no seu site, mesmo para o domínio em si.
  • Você precisa garantir que não carregue scripts externos de fontes nas quais não confia.
    • Se o terceiro não ativar o HSTS, ele ainda estará vulnerável a ataques man-in-the-middle.
    • Terceiros podem carregar conteúdo de outras fontes externas, e tudo isso se aplica a eles também.
    • O site de conteúdo externo pode estar corrompido ou realizar atividades maliciosas por conta própria.
por 20.08.2018 / 12:32
3

Acho que a resposta para isso dependeria se os scripts aos quais você se refere estão hospedados no domínio para o qual o HSTS está ativado.

Por exemplo se você veicular seu conteúdo a partir de mydomain.com e habilitar a HSTS para esse domínio (e possivelmente subdomínios também), mas o (s) script (s) e outro conteúdo misto a que você se refere são veiculados em otherdomain.com , o que não habilita a HSTS. e o navegador ainda irá avisar sobre isso.

O que o HSTS interromperá (e ajudará a corrigir conteúdo misto) será vinculado a recursos via HTTP no mesmo domínio - e talvez subdomínio, dependendo de sua configuração - já que eles serão "atualizados" para HTTPS automaticamente.

    
por 20.08.2018 / 09:59
0

Isso ocorre por design: se o HSTS estiver funcionando, ele recuperará a imagem correta (a marca de seleção sobre HTTPS) e, se não, uma marca X sobre HTTP.

Esperamos que os navegadores parem de apresentar avisos de conteúdo misto para conteúdo atualizado para HTTPS via HSTS. :)

    
por 20.08.2018 / 12:30