En términos simples, ¿cuál es la diferencia entre HSTS y HTTPS?

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 de protocolo y secuestro de cookies

Si nos hacemos una pregunta, ¿es HSTS una seguridad adicional sobre HTTPS? Entonces la respuesta es sí.

si está utilizando SSL en todo el sitio, definitivamente recomiendo habilitar HSTS

HSTS es una medida de seguridad importante para derrotar los ataques de intermediarios que cambian al usuario a HTTP y luego lo atacan. Por ejemplo, sslstrip es una herramienta bien conocida para montar dicho ataque. Para más detalles sobre este tipo de ataque

HSTS le dice al navegador: nunca use HTTP con este sitio. Solo acceda a través de HTTPS. Por lo tanto, para habilitar HSTS, debe asegurarse de que su sitio funcione con HTTPS y solo HTTPS. Esto incluye todo: HTML, CSS, Javascript, todo. Asegúrese de que todo el CSS y Javascript en su sitio esté disponible a través de HTTPS. Además, le sugiero que convierta sus páginas para hacer referencia a todo a través de HTTPS

Por ejemplo, supongamos que su sitio es www.example.com y tiene una página https://www.example.com/buy.html que incluye algunos Javascript de su sitio. Debe asegurarse de que su archivo Javascript esté disponible en una URL HTTPS (por ejemplo, https://www.example.com/library.js ). Le recomiendo que lo cargue a través de una URL HTTPS (por ejemplo, ).

PD: También le recomiendo que establezca el indicador de secure en todas las cookies que utiliza.

HSTS (HTTP Strict Transport Security) lanzado en noviembre de 2012, es un estándar relativamente nuevo que aplica el cifrado en el nombre de host para el que está habilitado. Opcionalmente, puede aplicar el cifrado en todos los subdominios. Con este enfoque, un atacante MitM no puede inyectar ninguna cookie utilizando el truco de DNS, ya que se requeriría cifrado. HSTS reduce significativamente la superficie de ataque, pero no es infalible. Primero, no es compatible con todos los navegadores. En segundo lugar, no maneja casos en los que sitios relacionados genuinos (encriptados) se vean comprometidos o ejecutados por entidades diferentes y no confiables. En otras palabras, HSTS es un encabezado HTTP que le dice al cliente que un cierto dominio / subdominio siempre debe ser accedido por el protocolo HTTPS.

Para HTTPS, simplemente revise esta respuesta escrita aquí en Quora para “¿Cuál es el significado de HTTPS?” En esto se explica en detalle qué es y cuáles son las ventajas de tenerlo en su sitio web y por qué es necesario tenerlo. para algunos de la organización.

HTTPS es realmente “https”, el especificador de transporte web para una URL segura. http: // xxx significa usar HTTP, ftp: // xxx significa usar FTP y https: // xxx significa usar HTTP con encriptación SSL. Es una directiva para el navegador decirle cuál usar. En los primeros días de la web, también veías sitios con gopher: // xxx y el dedo impar: // xxx (otros mecanismos de transporte que no son HTTP).

HSTS es un token mágico que un operador de sitio web puede agregar a un sitio web, que le dice a su navegador que solo use https: // la próxima vez que visite, por lo que no se lo engañará para que visite a un impostor que se ha equivocado con su conexión de red.