HSTS – ¿Qué es y Cómo Utilizarlo en tu Sitio Web?

Categorias: Certificados SSL

HSTS – ¿Qué es y Cómo Utilizarlo en tu Sitio Web?

HSTS son las siglas de HTTP Strict-Transport-Security y se trata de una capa extra de seguridad para cualquier website que quiera utilizarlo. Está ligado si o si a un certificado de seguridad SSL. Te explicamos cómo funciona y la forma de implementarlo en tu web.

Si tienes un sitio web, ya te habrás dado cuenta que en los últimos años la seguridad es cada vez más importante.

Desde 2018 los navegadores web muestran como «no seguras» las webs que no tengan instalado un certificado de seguridad SSL, algo que por cierto, Hostinet ofrece de manera gratuita en todos sus alojamientos web.

El certificado SSL no es otra cosa que un método de cifrado y se utiliza para cifrar el contenido que se envía desde un ordenador o cualquier otro dispositivo, al servidor y viceversa.

Esto significa, por ejemplo, que cuando ponemos nuestro usuario y contraseña para acceder a una web, si hay «alguien escuchando» no verá nuestros datos privados porque estarán cifrados, sólo verá un montón de letras, números y símbolos sin sentido.

El problema es que algunos sitios web, aunque tengan el certificado SSL activado y configurado, se sigue teniendo acceso al sitio seguro y cifrado y al sitio seguro y no cifrado:

http://midominio.info (No Crifrado)
https://midominio.info (Cifrado y seguro)

 

Para solucionar esto sólo hay que hacer una redirección en el sitio web, para que todo aquel que acceda por http://… sea redirigido hacia el sitio seguro https://….

Pero esta redirección puede ser utilizada por un atacante para intentar engañar al usuario en lo que se conoce como un ataque de Man in the Middle, que significa, literalmente «Hombre en el Medio».

El ejemplo más típico es el de la cafetería o sitio público con Wifi gratis. Tu llegas con tu teléfono y se conecta al Wifi gratis de la cafetería, pero en realidad se ha conectado a un acceso creado por un hacker que hace de «proveedor wifi».

Así que cuando te conectas a un sitio web la información pasa antes por el equipo de hacker que se encargará de que la conexión no sea cifrada (http://…), por supuesto, para poder recopilar los datos sin cifrar, aunque te redirija hacia la web que tu hayas elegido.

Para evitar estos problemas, existe la política de seguridad HSTS. Veamos cómo funciona y cómo


Hosting Genérico


Qué es HSTS y Para Qué Sirve

Como hemos comentado antes, HSTS son las siglas de «HTTP Strict Transport Security» y su función, básicamente, es muy sencilla.

En pocas palabras se trata de un rechazar cualquier conexión al servidor que no sea https://…, es decir, que o se conecta a través del certificado SSL/TLS o la conexión es denegada por el servidor.

De esta forma, aunque un hacker esté realizando un ataque de man in the middle, exista una mala configuración en la web o el certificado SSL haya caducado, será imposible conectarse al servidor.

Es un poco drástico pero tremendamente efectivo. O te conectas por https o te conectas por https, no hay otra opción.

Así nos aseguramos, nosotros como propietarios del website, que cualquier conexión sea segura y cifrada.

Si se intenta acceder desde una conexión no segura (http), no saldrá el aviso del navegador como que el sitio no es seguro, simplemente será rechazado y no se podrá conectar.

 

Cómo Añadir HSTS en mi Web

Si quieres añadir el protocolo de seguridad en tu sitio web, es necesario añadir algunas cosas en el archivo .htaccess, así que lo más inteligente es hacer una copia de seguridad antes de modificarlo.

Si usas algún CMS y has instalado algún plugin, módulo o complemento de seguridad, es posible que ya estés usando HTST en tu sitio, así que lo primero es comprobarlo.

Para comprobarlo, puedes usar la siguiente web: https://hstspreload.org/

Solo tienes que poner tu nombre de dominio y buscarlo, si no está configurado, así te lo indicará la web.

hsts negativo - HTTPS

En esta misma web, un poco más abajo te indica lo necesario para que HSTS esté bien configurado en tu website y los requisitos son los siguiente:

Tener un certificado SSL instalado en el dominio

Esto es fácil en Hostinet. En todos los hosting que ofrecemos puedes emitir un certificado gratuito SSL de Let’s Encrypt.

 

Redirigir todas las URLs desde HTTP hacía HTTPS

Esto puedes hacerlo de varias formas, lo mejor es añadir un código en el archivo .htaccess, como por ejemplo este, cambiando el dominio por tu dominio, claro:

RewriteEngine On
 RewriteCond %{SERVER_PORT} 80
 RewriteRule ^(.*)$ https://midominio.info/$1 [R,L]

 

Si usas Plesk, aquí tienes una guía para forzar la redirección HTTPS:

 

Añadir una cabecera (header) HSTS

Por último tienes que añadir la cabecera HSTS en el archivo .htaccess de tu hosting.

Esta cabecera tiene que tener ciertas normas. Por ejemplo que el valor mínimo sea de 2 meses, debe incluir los subdominios, añadir la directiva «preload» (precarga) y si hay alguna otra redirección, esta debe incluir también el encabezado HSTS.

Esto puede ser algo confuso, pero aquí tienes un ejemplo que puedes copiar y pegar. Sería el siguiente:

Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"

 

Esto sería un ejemplo de cómo quedaría todo en un archivo .htaccess:

ejemplo hsts archivo htaccess - SSL/TLS

 

Una vez hayas guardado los cambios , puedes volver a hacer la prueba en la web que hemos indicado y verás que te indicará que HSTS está correctamente implementado en la web.

hsts positivo - SSL/TLS

Un apunte más, la página hstspreload.org es un página de precarga HSTS, y es para que los navegadores web sepan que esta URL sólo debe servirse desde HTTPS/HSTS.

Esto es así porque HSTS no afecta a la primera visita que realiza en navegador, después de esa primera visita se determina el tiempo que HSTS estará activa por lo que hemos puesto en la cabecera: max-age=31536000.

31536000 son los segundos que tiene un año, esto lo puede modificar si quieres, una vez realizada esta primera visita, el navegador sólo aceptará las conexiones por https.

Esta primera visita puede ser aprovechada por un atacante, aunque es muy improbable, así que desde esta web puedes añadir tu sitio web para evitar esto, ya que la añades a una especie de lista blanca HSTS y los navegadores web la tendrán en cuenta.

Ya depende de ti si quieres añadirla o no en esta lista blanca HSTS:

preload url hsts - SSL/TLS

 

Si usas Plesk, debes acceder a la opción de Security > SSL/TLS Certificates y en la parte izquierda verás una opción para activar o desactivar HSTS.

Plesk - Activar HSTS

Aunque web de precarga  que te hemos indicado te dará un error, ya que por ahora, desde Plesk no se puede añadir la directiva preload.

No obstante, un poco más abajo tienes un checker SSL y si lo pulsas hará un extenso análisis y ahí te indicará que la cabecera HSTS está añadida, aunque no puedas hacer el preload, pero esto último no es imprescindible.

plesk-hsts-verificacion activada

Ventajas e Inconvenientes de Implementar HSTS

Implementar HSTS en tu sitio web tiene grandes beneficios, pero también es importante conocer sus posibles inconvenientes. Aquí te lo explicamos de una manera clara y sencilla para que tomes la mejor decisión para tu sitio.

Ventajas de HSTS

1. Protección contra ataques de «Man in the Middle»

HSTS impide que cualquier conexión que no sea a través de HTTPS sea aceptada por el servidor. Esto significa que los atacantes no pueden interceptar la comunicación entre el usuario y el sitio web, protegiendo tus datos y los de tus usuarios.

2. Mejora la confianza del usuario

Al saber que tu sitio siempre utiliza conexiones seguras, los usuarios se sienten más tranquilos y confiados al navegar e interactuar contigo. La seguridad es una prioridad y tus visitantes lo valorarán.

3. Cumplimiento con estándares de seguridad

Implementar HSTS te ayuda a cumplir con las mejores prácticas recomendadas por expertos en ciberseguridad. Esto no solo protege tu sitio, sino que también puede mejorar tu posicionamiento en buscadores como Google.

4. Evita errores de configuración

Con HSTS, incluso si accidentalmente intentas acceder a una versión no segura de tu sitio, el navegador redirigirá automáticamente a la versión HTTPS. Esto elimina posibles errores de configuración y asegura que siempre se use la conexión correcta.
HSTS - ¿Qué es y Cómo Utilizarlo en tu Sitio Web?

Inconvenientes de HSTS

1. Imposibilidad de acceder al sitio si el certificado SSL expira

Si tu certificado SSL caduca y no se renueva a tiempo, los usuarios no podrán acceder a tu sitio. Esto puede causar interrupciones en el servicio y frustración para tus visitantes. Es crucial mantener los certificados al día.

2. Dificultad en la implementación inicial

Para aquellos que no están familiarizados con la configuración de servidores y archivos .htaccess, la implementación de HSTS puede ser un poco compleja. Es recomendable hacer una copia de seguridad y seguir guías detalladas o consultar a un experto.

3. Primera visita no protegida

HSTS no protege la primera visita de un usuario a tu sitio, ya que el navegador necesita primero obtener la política HSTS. Aunque esto es un riesgo mínimo, es algo a tener en cuenta.

4. Complicaciones con el desarrollo y pruebas

Durante el desarrollo y pruebas de tu sitio, HSTS puede causar problemas al intentar acceder a versiones no seguras. Es útil tener esto en cuenta y desactivar temporalmente HSTS en entornos de prueba.

 

Implementar HSTS es una excelente manera de añadir una capa adicional de seguridad a tu sitio web. Las ventajas en términos de protección y confianza del usuario superan con creces los inconvenientes, que son manejables con una buena gestión y planificación.

Recuerda siempre mantener tus certificados SSL actualizados y familiarizarte con la configuración necesaria. Con estos pasos, podrás disfrutar de un sitio más seguro y fiable para ti y tus usuarios.

Cosas a Tener en Cuenta

Como verás cada vez más la seguridad está más presente en Internet, tanto en sitios web, correos electrónicos, apps…

Esto es así porque cada vez hay más peligros y atacantes, así que se trata de una guerra continua.

Añadir HSTS en tu web añade una capa extra de seguridad, pero si algo falla el certificado o la configuración del sitio los usuarios no podrán acceder a ella, ni siquiera ignorando las advertencias del navegador web.

Se comenta que Google tiene en cuenta HSTS para el posicionamiento web de su buscador y que en un futuro, es posible que, de la mismo forma que obligaron a todos a usar los certificados SSL, harán lo mismo con HSTS, pero no hay nada confirmado.

Hace poco escribimos un post sobre las cabeceras seguras que puedes utilizar, por si te interesa securizar aun más tu website:

 

Hosting SSD con IP Española

Hosting SSD NVMe