El encabezado HSTS detiene los ataques MitM indicando al navegador que siempre envíe una solicitud HTTPS (a diferencia de HTTP) al dominio hasta que la política caduque. Por lo tanto, un navegador que respete el encabezado enviaría una solicitud a https://example.com
incluso si el usuario hiciera clic en un enlace a http://example.com
.
La lógica detrás de HSTS no ha cambiado desde que se definió en un RFC en 2012. Lo que ha cambiado es que hoy Casi todos los navegadores lo implementan. ¡Recuerda que es el navegador el que hace cumplir esta política! ¿Puedo usar los navegadores de informes compatibles con las siguientes versiones:
- Internet Explorer 11 (2015)
- Firefox 4 (2011)
- Chrome 3 (2010, posiblemente también sea compatible anteriormente)
- Safari 7 (2013)
(Para mí, cómo es que Firefox y Chrome lograron soportar HSTS antes de que se publicara el RFC)
Por lo tanto, las personas que usan navegadores más antiguos no estarán protegidos incluso si el encabezado está configurado. Eso podría explicar por qué tiene la impresión de que la configuración del encabezado HSTS no se usó para ayudar con SSLStrip anteriormente.
Otra razón para que el HSTS no ayude puede ser que el usuario nunca haya visitado la página antes del ataque. Si el navegador nunca ha visto el encabezado, no puede imponerlo. Esto se puede resolver con precarga .