Pasar al contenido principal

HSTS

La navegación por páginas web y el envío de datos a través de conexiones HTTP expone a los usuarios a riesgos de seguridad.

Habitualmente, cuando un usuario introduce una dirección HTTP:// en la barra de dirección del navegador, este intenta automáticamente buscar una misma versión de la web en formato cifrado, es decir, con cabecera HTTPS://. Esta automatización que tiene como objetivo básico proteger los datos del usuario enviándolos por un posible canal cifrado disponible, puede ser utilizada por un ciberdelincuente para redireccionar al usuario y robar dicha información a proteger o incluso llevarle a una web phishing diferente de la original.

HSTS (HTTP Strict Transport Security) es una directiva lanzada y publicada a finales de 2012 como RFC 6797 por el IETF que tiene como objetivo evitar la vulnerabilidad descrita en los párrafos anteriores. Dicha directiva informa desde el servidor que aloja la web al navegador del usuario sobre cómo manejar su conexión a través de un encabezado de respuesta enviado al principio.

En su forma más simple, la política le dice a un navegador que habilite HSTS para ese dominio o subdominio exacto y que lo recuerde durante una cantidad determinada de segundos. En su forma más sólida y recomendada, la política HSTS incluye todos los subdominios e indica la voluntad de ser "precargados" en los navegadores.

Una vez que un navegador compatible recibe este encabezado evitará que se envíen comunicaciones a través de HTTP al dominio especificado y, en su lugar, las enviará todas a través de HTTPS.

Para que un usuario aproveche HSTS, su navegador debe ver el encabezado HSTS al menos una vez. Esto significa que los usuarios no están protegidos hasta después de su primera conexión segura exitosa a un dominio determinado.

Como podría ocurrir que el ataque surgiera la primera vez que se accediera a la web, ya sea al acceder a ella mediante un enlace antiguo HTTP:// alojado otra web, al escribirlo manualmente por el usuario o incluso por malware que pudiera haber infectado previamente el dispositivo y que redireccione automáticamente direcciones HTTPS a HTTP, el equipo de seguridad de Chrome creó una lista de dominios con precarga de HSTS que ya está integrada en el navegador Chrome y que además ya ha sido incorporada también a otros navegadores como Firefox, Edge, Opera o Safari. 

Esta lista, que se va actualizando, hace que incluso la primera vez que un usuario navegue a una web que aparezca referenciada, lo haga teniendo en cuenta ya las políticas HSTS y evitando cualquier redirección maliciosa. 

Es recomendable por lo tanto que una organización implemente dichas políticas en sus servicios web para proteger los datos de sus usuarios y, además, puede incorporar su dominio y subdominios a dicha lista simplemente cumpliendo con una serie de requisitos:

  • Que esté habilitado en el dominio raíz y todos los subdominios el protocolo HTTPS.
  • Que la política HSTS incluya todos los subdominios, incluidos los de uso en intranets.
  • Que el sitio web redirija de HTTP a HTTPS al menos en el dominio raíz. 

A largo plazo, a medida que la web realiza una transición completa a HTTPS y los navegadores puedan comenzar a eliminar progresivamente el HTTP simple y pasar a HTTPS de forma predeterminada, la lista de precarga de HSTS y el propio HSTS pueden volverse innecesarios, pero hasta ese momento, la lista de precarga de HSTS es un mecanismo simple y eficaz para bloquear HTTPS para un dominio completo.