incluso si navegamos a un sitio web como www.facebook.com, el encabezado de respuesta de los servidores de Facebook mencionará HSTS
Hice una solicitud de curl
a http://www.facebook.com
y esto es lo que obtuve:
< HTTP/1.1 302 Found
< Location: https://www.facebook.com/
< Content-Type: text/html
< X-FB-Debug: zgK/A+8XSlghi/vWvAivsZ04gawpdr+3BuO7yuQaKDdrP/+B14oSVDSreHh0GbchyNPnav39pQq9Zgw5mSXX5A==
< Date: Sat, 29 Apr 2017 19:23:25 GMT
< Connection: keep-alive
< Content-Length: 0
Como puede ver, no hay un encabezado HSTS aquí, porque de acuerdo con su especificación (RFC6797) :
Un host HSTS NO DEBE incluir el campo de encabezado STS en las respuestas HTTP
transportado a través de transporte no seguro.
Los navegadores web también ignoran los encabezados HSTS en las respuestas http://
Nota: el navegador ignora el encabezado Strict-Transport-Security cuando se accede a su sitio mediante HTTP; esto se debe a que un atacante puede interceptar conexiones HTTP e inyectar el encabezado o eliminarlo. Cuando se accede a su sitio a través de HTTPS sin errores de certificado, el navegador sabe que su sitio es compatible con HTTPS y cumplirá con el encabezado de seguridad de transporte estricto.
El propósito de HSTS es decirle al cliente que NO cambie a HTTP una vez que haya accedido a un sitio web a través de HTTPS, y no al revés. De Wikipedia :
HTTP Strict Transport Security (HSTS) es un mecanismo de política de seguridad web que ayuda a proteger los sitios web contra ataques de degradación del protocolo y el secuestro de cookies.
Ataque de degradación de protocolo :
Un ataque de baja calificación es una forma de ataque a un sistema informático o protocolo de comunicaciones que hace que abandone un modo de operación de alta calidad (por ejemplo, una conexión encriptada) en favor de un modo de operación antiguo y de menor calidad (por ejemplo, claro). texto) que está ahí para la compatibilidad con sistemas anteriores.
Por lo tanto, un encabezado HSTS no se usa para redirigir una nueva conexión HTTP a HTTPS, sino para evitar que un navegador realice solicitudes HTTP a un sitio HTTPS existente.
El complemento HTTPS Everywhere por otro lado garantiza que el navegador web realice conexiones HTTPS a sitios web que admiten HTTPS, pero son también accesible a través de HTTP.
Muchos sitios en la web ofrecen un soporte limitado para el cifrado a través de HTTPS, pero hacen que sea difícil de usar. Por ejemplo, pueden omitir HTTP sin cifrar, o rellenar páginas cifradas con enlaces que regresan al sitio no cifrado. La extensión HTTPS Everywhere soluciona estos problemas mediante el uso de tecnología inteligente para reescribir las solicitudes de estos sitios a HTTPS.