Portada Certificados SSL HSTS – ¿Qué es y Cómo Utilizarlo en tu Sitio 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
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.
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.
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:
Esto es fácil en Hostinet. En todos los hosting que ofrecemos puedes emitir un certificado gratuito SSL de Let’s Encrypt.
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:
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:
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.
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:
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.
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.
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.
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.
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.
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: