Está ampliamente aceptado que HTTPS es mucho más seguro que HTTP. Sin embargo, si te encuentras con el mensaje «HSTS missing from HTTPS server», entonces este protocolo podría estar poniendo en riesgo tu sitio.

Afortunadamente, es posible cerrar esta grave brecha de seguridad. Incluso si no has encontrado este mensaje de error, cualquier sitio que redirija de HTTP a HTTPS es vulnerable a este exploit. Por lo tanto, sigue siendo aconsejable adoptar un enfoque proactivo y solucionar este fallo.

En este post, exploraremos qué es el error «HSTS missing from HTTP server» y por qué es una gran preocupación para cualquier sitio web que utilice redireccionamientos HTTPS. A continuación, te mostraremos cómo solucionar este problema y frustrar a los hackers, en cinco sencillos pasos.

Echa un Vistazo a Nuestro Videotutorial para Solucionar el Error «HSTS Missing From HTTP Server»

Una Introducción al Error «HSTS Missing From HTTP Server»

Para ayudar a mantener la seguridad de los visitantes, no es raro que los sitios realicen una redirección HTTPS. Esta redirección reenvía a los visitantes de una versión HTTP a una versión HTTPS del sitio web.

Un usuario puede introducir explícitamente HTTP en la barra de direcciones de su navegador, o seguir un enlace que apunta a una versión HTTP del sitio. En estos casos, una redirección puede evitar que terceros malintencionados roben los datos del visitante.

Sin embargo, ninguna tecnología es perfecta. Si tu sitio utiliza redireccionamientos HTTPS, puedes ser susceptible de sufrir un ataque del tipo Man-In-The-Middle (MITM) conocido como Secure Sockets Layer (SSL) Stripping. Como parte de este ataque, el hacker bloqueará la solicitud de redirección e impedirá que el navegador cargue tu sitio a través del protocolo HTTPS. Como resultado, el visitante accederá a tu sitio web a través de HTTP, lo que facilita a los hackers el robo de datos.

Otra posibilidad es que el atacante intercepte la redirección y reenvíe a los visitantes a una versión clonada de tu sitio. En este punto, el hacker puede robar cualquier dato que el usuario comparta, incluyendo contraseñas e información de pago. Algunos hackers también pueden intentar engañar a los visitantes para que descarguen software malicioso.

También es posible que los hackers roben una cookie de sesión a través de una conexión no segura, en un ataque conocido como secuestro de cookies. Estas cookies pueden contener una gran cantidad de información, como nombres de usuario, contraseñas e incluso datos de tarjetas de crédito.

Para proteger a tus visitantes contra estos ataques, te recomendamos que actives el protocolo HTTP Strict Transport Security (HSTS). Este protocolo obliga al navegador a ignorar cualquier petición directa y a cargar tu sitio a través de HTTPS.

El Protocolo HSTS (y Por Qué Te Conviene Utilizarlo)

HSTS es una directiva de servidor y una política de seguridad web. Especificado por el Grupo de Trabajo de Ingeniería de Internet (IETF) en el RFC 6797, HSTS establece normas sobre cómo los user agents y los navegadores web deben manejar sus conexiones para un sitio que se ejecuta sobre HTTPS.

A veces, un escáner de seguridad informática puede informar de que en tu sitio «faltan cabeceras HSTS» o «HTTP Strict Transport Security». Si encuentras este error, entonces tu sitio no está utilizando HSTS, lo que significa que tus redirecciones HTTPS pueden estar poniendo en peligro a tus visitantes.

Esto se clasifica como una vulnerabilidad de riesgo medio. Sin embargo, es increíblemente común y representa fruta fácil de coger para los atacantes. Si te encuentras con este error, es crucial que lo abordes.

Añadiendo la Security Headers HSTS a tu servidor, puedes forzar que tu sitio se cargue con el protocolo HTTPS. Esto puede ayudar a proteger tu sitio contra el secuestro de cookies y los ataques al protocolo. Dado que estás eliminando potencialmente una redirección del procedimiento de carga, tu sitio también puede cargar más rápido.

Existe la posibilidad de que no te hayas encontrado con este error, pero aún así te preocupa el HSTS. Si no estás seguro de si tienes HSTS activado, puedes escanear tu sitio con una herramienta como Security Headers. Sólo tienes que introducir la URL de tu sitio web y hacer clic en Escanear.

Página de Inicio de Security Headers
Escanea tu sitio web con Security Headers

Security Headers comprobará tu sitio y mostrarán todas las cabeceras aplicadas en la sección Headers . Si aparece Strict-Transport-Security, tu sitio está protegido. Sin embargo, si esta cabecera no aparece, entonces tenemos trabajo que hacer.

Cómo Solucionar el Error «HSTS Missing From HTTPS Server» (en 5 Pasos)

Para los hackers, la vulnerabilidad HSTS es la oportunidad perfecta para robar datos o engañar a tus visitantes para que realicen acciones peligrosas. A continuación te explicamos cómo habilitar la política HSTS y mantener tu sitio seguro.

Paso 1: Crear una Copia de Seguridad Manual

Activar la política HSTS representa un cambio significativo en tu sitio web. Por esta razón, recomendamos crear una copia de seguridad bajo demanda antes de proceder. Esto te da la opción de restaurar tu sitio en el improbable caso de que encuentres algún problema al habilitar HSTS.

En Kinsta, proporcionamos copias de seguridad automáticas diarias de WordPress. Sin embargo, sigue siendo inteligente crear una copia de seguridad manual antes de hacer cualquier cambio importante. Para crear esta red de seguridad, entra en tu panel de control de MyKinsta y selecciona el sitio web en cuestión. A continuación, haz clic en la pestaña Copias de seguridad.

Encuentra la pestaña Copias de seguridad en MyKinsta
Encuentra la pestaña Copias de seguridad en MyKinsta

A continuación, selecciona la pestaña Manual. Busca el botón Copia de Seguridad Ahora, y haz clic.

Haz clic en el botón "Hacer Copia de Seguridad Ahora"
Haz clic en el botón «Hacer Copia de Seguridad Ahora»

Ahora puedes añadir una breve nota a tu copia de seguridad. Esto puede ayudarte a identificarla en tu escritorio de MyKinsta.

Por último, haz clic en Crear Copia de Seguridad. Ahora generaremos tu copia de seguridad y la añadiremos a tu panel de control.

Paso 2: Configurar una Redirección de HTTP a HTTPS

Antes de habilitar la política HSTS, tendrás que implementar un certificado SSL en tu sitio web. En Kinsta, protegemos automáticamente todos los dominios verificados con nuestra integración de Cloudflare. Esto incluye certificados SSL gratuitos con soporte wildcard. A menos que requieras específicamente un certificado personalizado, no tendrás que preocuparte de configurar el SSL manualmente.

A continuación, tendrás que configurar una redirección de HTTP a HTTPS, si aún no lo has hecho. Para crear esta redirección, simplemente entra en tu panel de control de MyKinsta y selecciona tu sitio web. A continuación, haz clic en Herramientas.

Busca y haz clic en la pestaña "Herramientas" en MyKinsta
Busca y haz clic en la pestaña «Herramientas» en MyKinsta

En la sección Forzar HTTPS, haz clic en el botón Activar. Ahora puedes elegir utilizar tu dominio principal como destino, o solicitar el uso de un dominio alternativo. Después de tomar esta decisión, selecciona Forzar HTTPS.

Ten en cuenta que si utilizas proxies de terceros o configuras reglas HTTPS personalizadas, forzar el HTTPS puede dar lugar a errores u otros comportamientos extraños. Si te encuentras con algún problema, siempre puedes ponerte en contacto con nuestro equipo de soporte, que estará encantado de ayudarte.

Si tu servidor web ejecuta Nginx, puedes redirigir todo tu tráfico HTTP a HTTPS. Simplemente añade el siguiente código a tu archivo de configuración de Nginx:

server {

listen 80;

server_name domain.com www.domain.com;

return 301 https://domain.com$request_uri;

}

Alternativamente, si eres cliente de Kinsta, podemos hacer este cambio por ti. Sólo tienes que abrir un ticket de soporte y decirnos a qué dominio hay que dirigirlo, y nosotros nos encargaremos del resto.

Paso 3: Añadir la cabecera HSTS

Hay varios tipos de directivas y niveles de seguridad que puedes aplicar a tu cabecera HSTS. Sin embargo, te recomendamos que añadas la directiva max-age, ya que define el tiempo en segundos durante el cual el servidor web debe entregar vía HTTPS. Esto bloquea el acceso a páginas o subdominios que sólo pueden ser servidos a través de HTTP.

Si utilizas un servidor Apache, tendrás que abrir tu archivo virtual de hosts. A continuación, puedes añadir lo siguiente:

Header always set Strict-Transport-Security max-age=31536000

En Kinsta, utilizamos servidores Nginx. Si eres cliente de Kinsta, puedes añadir lo siguiente a tu archivo de configuración de Nginx:

add_header Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

Como siempre, podemos hacer todo el trabajo duro por ti. Simplemente abre un ticket de soporte solicitando que añadamos una cabecera HSTS a tu sitio. Nuestro equipo estará encantado de realizar este cambio en tu archivo Nginx.

Paso 4: Enviar tu sitio a la lista de precarga HSTS

Hay un inconveniente importante en la política HSTS. Un navegador tiene que encontrar la cabecera HSTS al menos una vez antes de poder utilizarla en futuras visitas. Esto significa que tu público tendrá que completar el proceso de redirección de HTTP a HTTPS al menos una vez. Durante este tiempo, serán vulnerables a los ataques basados en el protocolo.

En un intento de cerrar esta brecha de seguridad, Google creó la lista de precarga HSTS. En ella se enumeran todos los sitios web que admiten HSTS, que luego se codifican en Chrome. Al añadir tu sitio a esta lista, los visitantes ya no tendrán que completar una redirección HTTPS inicial.

La mayoría de los principales navegadores de Internet tienen sus propias listas de precarga HSTS, que se basan en la lista de Chrome. Para ser elegible para esta lista, tu sitio debe cumplir los criterios de inclusión. La buena noticia es que ya hemos cubierto todos estos requisitos, así que puedes seguir adelante y enviar tu sitio a la lista de precarga HSTS.

Una vez que entres en esta lista, algunas herramientas de optimización de motores de búsqueda (SEO) pueden advertirte sobre 307 redireccionamientos. Estas redirecciones se producen cuando alguien intenta acceder a tu sitio a través de un protocolo HTTP no seguro. Esto provoca una redirección 307 en lugar de una redirección 301 permanente. Si te preocupa esto, puedes utilizar httpstatus para escanear tu sitio y verificar si se está produciendo una redirección 301.

Paso 5. Verifica Tu Cabecera Strict-Transport-Security

Después de añadir la cabecera HSTS, es una buena idea comprobar que funciona correctamente. Puedes realizar esta comprobación utilizando las herramientas web integradas en tu navegador.

Los pasos variarán en función del navegador web que elijas. Para realizar esto, comprueba en Google Chrome DevTools, navega a la página web que quieres probar. A continuación, haz clic en cualquier área en blanco y selecciona Inspeccionar.

Página de Inicio de Kinsta
Página de Inicio de Kinsta

En el panel posterior, selecciona la pestaña Network. A continuación, comprueba la sección de headers, que debería contener lo siguiente

strict-transport-security: max-age=31536000

Alternativamente, puedes escanear tu sitio web utilizando la herramienta Security Headers. Como antes, sólo tienes que introducir la URL de tu sitio web y hacer clic en Scan. Esto devolverá un informe de seguridad, que debería contener una strict-transport-security. Si esta etiqueta está presente, entonces tu cabecera HSTS está configurada correctamente, y has cerrado con éxito la brecha de la redirección HTTPS.

Resumen

Redirigir de HTTP a HTTPS es una buena práctica de seguridad. Sin embargo, ninguna tecnología es perfecta y esta redirección puede hacer que tu sitio sea más susceptible a los ataques SSL.

Teniendo esto en cuenta, recapitulemos cómo solucionar el error «HSTS Missing From HTTPS Server»:

  1. Crea una copia de seguridad manual de tu sitio.
  2. Configura una redirección de HTTP a HTTPS.
  3. Añade la cabecera HSTS.
  4. Envía tu sitio a la lista de precarga HSTS.
  5. Verifica tu cabecera de seguridad estricta.

Resolver los mensajes de error puede ser un proceso largo y frustrante. Sin embargo, ¡nuestro equipo de expertos está aquí para ayudar! Todos nuestros planes de Kinsta incluyen soporte técnico las 24 horas del día, para que puedas centrarte en lo que realmente importa: hacer crecer tu sitio web.