0%
Inicio 9 Glossary Item 9 HSTS (HTTP Strict Transport Security)
« Back to Glossary Index

Nivel Principiante

Imagina que quieres ir a un sitio web de un banco para ver tu saldo. Si escribes http://mibanco.com, tu navegador podría enviarte a una versión no segura del sitio, donde un ladrón podría espiarte. El HSTS es como si la primera vez que visitas el banco, este le dice a tu navegador: «¡Oye, siempre que vengas aquí, tienes que hacerlo de forma segura con https!». Después de esa primera visita, tu navegador ya sabe que no debe aceptar ninguna conexión que no sea segura con ese banco, protegiéndote de los ladrones.

Nivel Intermedio

El HSTS (HTTP Strict Transport Security) es una política de seguridad web que obliga a los navegadores a interactuar con un sitio web únicamente a través de una conexión segura HTTPS. Se implementa a través de un encabezado de respuesta HTTP que el servidor envía al navegador la primera vez que el usuario visita el sitio. Este encabezado le dice al navegador que, durante un período de tiempo especificado, no debe cargar el sitio a través de una conexión HTTP no cifrada.

Los principales beneficios del HSTS son:

  • Prevención de Ataques Man-in-the-Middle: Impide que los atacantes intercepten la comunicación en una conexión no segura.
  • Seguridad de las Cookies: Garantiza que las cookies de sesión no se transmitan a través de una conexión sin cifrar.
  • Mejora del Rendimiento: Al eliminar la necesidad de que el servidor redirija del http al https en cada visita, se reduce la latencia de la petición.

El HSTS es un estándar de seguridad fundamental para cualquier sitio web que maneje información sensible, como datos de inicio de sesión o pagos.

Nivel Avanzado

Técnicamente, el HSTS se implementa como un encabezado HTTP llamado Strict-Transport-Security con una directiva max-age y, opcionalmente, una directiva includeSubDomains.

Un ejemplo del encabezado en una respuesta del servidor es:

<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">Strict-Transport-Security: max-age=31536000; includeSubDomains
</pre>

Esta directiva le indica al navegador que:

  • max-age: El sitio debe ser accedido a través de HTTPS durante 31,536,000 segundos (un año).
  • includeSubDomains: La política se aplica también a todos los subdominios del sitio.

La primera vez que un navegador visita el sitio a través de HTTPS, el encabezado se almacena en caché. Para las visitas subsiguientes, el navegador omite automáticamente cualquier intento de conexión http y va directamente a la versión HTTPS. Para sitios web de alto riesgo, existe la Preload List de HSTS (una lista mantenida por Google y utilizada por los navegadores), que permite a un sitio ser accedido directamente por HTTPS incluso en la primera visita, eliminando por completo la ventana de oportunidad de un ataque. El uso del HSTS es una medida crítica en la protección contra ataques de degradación de SSL/TLS y es un pilar de la seguridad en la capa de transporte de las aplicaciones web.


« Volver al índice del glosario