HSTS: cómo reforzar la seguridad de los sitios web con esta configuración

4min

HSTS son las siglas de Strict-Transport-Security y consiste en una configuración de seguridad que puede ser incorporada en los sitios web para asegurar que el tráfico se realiza mediante un canal seguro. En este artículo te explicamos qué es HSTS y qué ventajas aporta a la seguridad de los sitios y aplicaciones de Internet.

Índice

Qué es HTTPS

Pero antes de comenzar conviene hablar de HTTPS: el protocolo HTTP realizado por un canal seguro. El canal seguro consiste básicamente en encriptar la información que va a transferirse por la red, con lo que se evita que un posible atacante pueda escuchar las comunicaciones.

Como sabemos, es vital usar HTTPS en los sitios web, sobre todo cuando estos envían y reciben datos sensibles, como podrían ser usuarios y sus claves de acceso, o cualquier otra información confidencial. Además, el uso de HTTPS desde hace tiempo está considerado como un factor de calidad que puede mejorar el posicionamiento en buscadores, por lo que siempre es recomendable usarlo.

En qué consiste el ataque de seguridad de degradación de protocolo

Sin embargo, aunque un sitio esté funcionando bajo el protocolo HTTPS, existe el ataque de seguridad de degradación de protocolo. Mediante esta práctica puede ocurrir que el atacante consiga hacer que el sitio web funcione mediante HTTP en lugar de HTTPS.

Este potencial ataque ocurre cuando un servidor realiza una redirección del tráfico por HTTP hacia HTTPS, una situación realmente habitual en los dominios de Internet. Por realizarse esta redirección lo que ocurre es que el servidor está aceptando conexiones por HTTP, momento en el que que podría realizarse un ataque man-in-the-middle, mediante el cual un bandido podría aprovechar esa redirección para enviar a los visitantes a un sitio diferente al original y potencialmente malicioso. Si esto ocurre, el atacante podría hacerse pasar por el sitio original y podría llegar a robar  datos confidenciales al usuario de la página web.

Cómo HSTS mejora la seguridad

HSTS mejorará la seguridad ante el tipo de ataque por degradación de protocolo. Básicamente, se trata de una configuración que se puede realizar en el dominio donde se está indicando al navegador que se debe comunicar necesariamente por HTTPS, en lugar de HTTP.

Gracias a esta configuración, el navegador no permitirá usar conexiones sin cifrar, por lo que se reducen las posibilidades de que un atacante consiga comunicarse con el sitio web usando HTTP. De ahí viene el nombre de Seguridad de Transporte Estricta.

Cómo funciona HSTS

Con HSTS el navegador funciona de la siguiente manera: cuando al sitio web se acceda mediante HTTPS el servidor le entregará al navegador una cabecera llamada Strict-Transport-Security. Esto le indicará al cliente web que siempre que tenga que acceder a este sitio se deberá de conectar usando HTTPS y el navegador lo hará automáticamente, recordando esta configuración en los siguientes accesos.

La cabecera HSTS tiene esta forma:

Strict-Transport-Security: max-age=16070400; includeSubDomains

Como se puede apreciar, la cabecera incluye un tiempo de expiración, de modo que puede caducar. En ese caso el navegador podrá volver a usar HTTP normalmente. De todos modos, en cada conexión con HTTPS el navegador enviará de nuevo la cabecera Strict-Transport-Security, por lo que el tiempo de expiración será siempre actualizado si el usuario continúa accediendo al sitio por HTTPS.

Es importante mencionar que la cabecera Strict-Transport-Security no se enviará en el caso que el tráfico se realice por HTTP, dado que al tratarse de un protocolo no seguro un atacante podría falsearla.

En el servicio https://hstspreload.org/ es posible saber si nuestro dominio tiene la configuración HSTS activada. Además este servicio permite incluir el dominio en una lista de precarga HSTS, lo que indicará a Google Chrome y otros navegadores que ese dominio debe usar HTTPS aunque nunca se hayan realizado accesos anteriormente.

Fernán García de Zúñiga

Productos relacionados: