O TLS em HTTPS protege a solicitação HTTP, mas não protege as camadas inferiores. Ou seja, um site HTTPS ainda pode ser bloqueado inspecionando o cabeçalho "Indicação do nome do servidor" do TLS (o mesmo recurso usado para hospedagem virtual HTTPS) ou por endereço IP (se o cliente não solicitar nenhum servidor específico via TLS SNI) ), ambos enviados fora do túnel TLS.
No entanto, Cyberroam no seu caso não faz nenhum; ele usa a abordagem do malho - ele intercepta todos os handshakes HTTPS, descriptografa a conexão fingindo que é o cliente, inspeciona e criptografa novamente usando seu próprio certificado TLS. Então, ao invés de um único handshake TLS ...
- servidor da web ⇆ navegador
... agora você tem dois:
-
servidor da web ⇆ firewall (fingindo ser o navegador)
-
firewall (fingindo ser o servidor) ⇆ navegador
Basicamente, seu firewall está realizando um ataque man-in-the-middle contra você .
Como o firewall obviamente não possui o certificado TLS real do Facebook, ele gera o seu próprio.
Agora, geralmente , já que o servidor da web tem um certificado não reconhecido, o navegador perguntará se você deseja desconsiderar isso ou se preferiria executar com segurança. (Em ambientes corporativos, o certificado do firewall pode até ser pré-instalado em todas as estações de trabalho.)
No entanto, quando você visitou o Facebook na última vez, o servidor informou ao navegador usando HSTS que ele deveria estar bloqueado para ' modo de segurança. Ou seja, enquanto a HSTS estiver ativa no site do Facebook, o navegador sempre usará o HTTPS, mesmo que você tenha tentado visitar o site em vez de http://
, e não permitirá que você substitua erros de certificado inválido como o que você recebeu. porque não há como distinguir o Cyberroam de um ataque malicioso real.
Além disso, o Firefox e o Chrome também codificam as informações do certificado para alguns sites (incluindo Google e Facebook), portanto, mesmo que o seu sistema confie no certificado falso, você ainda não poderá visitar o Google, porque o navegador sabe que "apenas autoridades X e Y, e mais ninguém, podem emitir certificados para google.com ". (Eu acho que isso é chamado de certificação de pinagem, ou pré-carregamento, ou algo assim?)