¿Qué es HSTS?

24 de mayo de 2024

HTTP Strict Transport Security (HSTS) es un mecanismo de política de seguridad que ayuda a proteger los sitios web contra ataques de hombre en el medio como ataques de degradación de protocolos y secuestro de cookies. Al imponer conexiones seguras, HSTS indica a los navegadores que solo interactúen con un sitio web mediante una conexión HTTPS segura, en lugar de HTTP.

que es hsts

¿Qué es HSTS?

HTTP Strict Transport Security (HSTS) es una política de seguridad web que permite que los sitios web se declaren accesibles solo a través de conexiones HTTPS seguras. Cuando un sitio web implementa HSTS, informa navegadores que deben utilizar exclusivamente HTTPS para comunicarse con el sitio, eliminando la posibilidad de utilizar el protocolo HTTP menos seguro. Esto se logra mediante el server enviando un encabezado HSTS en sus respuestas HTTP, especificando un período durante el cual el navegador debe aplicar esta política.

HSTS ayuda a prevenir varios ataques, incluidos los ataques de degradación de protocolo, en los que un atacante obliga a un navegador a utilizar HTTP en lugar de HTTPS, y el secuestro de cookies, en el que las cookies se interceptan a través de conexiones no seguras.

Al exigir HTTPS, HSTS garantiza que todas las comunicaciones entre el navegador del usuario y el sitio web sean cifrado y seguro, mejorando la postura general de seguridad de la aplicación web.

Una breve historia de HSTS

El concepto de HTTP Strict Transport Security (HSTS) surgió de la creciente necesidad de mejorar la seguridad web. Fue propuesto por primera vez en 2009 por Jeff Hodges, Collin Jackson y Adam Barth. Su trabajo se centró en mitigar los riesgos asociados con los ataques de intermediario y los ataques de degradación de protocolos que explotaban las vulnerabilidades de HTTP. El borrador inicial se envió al Grupo de Trabajo de Ingeniería de Internet (IETF) en 2010 y, después de varias revisiones y comentarios de la comunidad, se convirtió en un estándar en 2012 con la publicación de RFC 6797. Desde entonces, HSTS ha sido ampliamente adoptado por los principales navegadores web. y sitios web, convirtiéndose en una herramienta crucial en el esfuerzo por proteger las comunicaciones web.

¿Por qué es importante HSTS?

HSTS es importante porque mejora significativamente la seguridad de las comunicaciones web. Al imponer el uso de HTTPS, HSTS garantiza que todos los datos intercambiados entre el navegador de un usuario y un sitio web estén cifrados, protegiéndolos de escuchas y manipulaciones. Esto es crucial para proteger información confidencial, como credenciales de inicio de sesión, datos personales y transacciones financieras, de actores maliciosos.

HSTS también evita ataques de degradación de protocolo, en los que los atacantes engañan al navegador para que utilice el HTTP menos seguro, y el secuestro de cookies, en el que las cookies de sesión se interceptan a través de una conexión no segura.

¿Cómo funciona HSTS?

HTTP Strict Transport Security (HSTS) es un mecanismo que garantiza que un navegador web siempre utilice una conexión HTTPS segura cuando se comunica con un sitio web. Funciona permitiendo que los sitios web se declaren accesibles sólo a través de HTTPS, evitando así varios ataques asociados con el protocolo HTTP menos seguro.

Cuando un usuario visita por primera vez un sitio web compatible con HSTS, el server responde con un encabezado HTTP especial llamado Estricto-Transporte-Seguridad. Este encabezado especifica un edad máxima valor, que indica el período (en segundos) durante el cual el navegador debe imponer conexiones solo HTTPS para el sitio. El encabezado también puede incluir un incluir subdominios directiva, indicando que todos subdominios También se debe acceder mediante HTTPS.

Una vez que el navegador recibe este encabezado, registra y comienza a aplicar la política HSTS. Si el usuario intenta visitar el sitio o sus subdominios utilizando HTTP durante el tiempo especificado edad máxima Período, el navegador convierte automáticamente la solicitud a HTTPS, lo que garantiza una conexión segura. Incluso si el usuario escribe manualmente "http: //" en la barra de direcciones del navegador, el navegador lo cambiará a "https://" antes de realizar la solicitud.

Si la política HSTS incluye subdominios, esta protección también se extiende a ellos, asegurando aún más todo el sitio. dominio estructura. Este mecanismo elimina eficazmente las oportunidades para que los atacantes intercepten o alteren la conexión explotando las vulnerabilidades HTTP.

Requisitos HSTS

HTTP Strict Transport Security tiene varios requisitos que deben cumplirse para que funcione correctamente y proteja eficazmente las comunicaciones web. Estos son los requisitos clave:

  • Implementación HTTPS. El sitio web debe ser compatible con HTTPS y tener una contraseña válida. SSL / TLS certificado. HSTS no se puede implementar en un sitio que solo admita HTTP, ya que el propósito completo de HSTS es imponer conexiones HTTPS seguras.
  • Encabezado HSTS. server debe enviar el encabezado HSTS (Estricto-Transporte-Seguridad) en sus respuestas HTTPS. Este encabezado incluye el edad máxima directiva, que especifica durante cuánto tiempo el navegador debe recordar aplicar HTTPS para el sitio. Un ejemplo de un encabezado HSTS es:
Strict-Transport-Security: max-age=31536000; includeSubDomains
  • Directiva de edad máxima. edad máxima La directiva es obligatoria y define la duración en segundos durante la cual el navegador debe aplicar HTTPS para el sitio. Por ejemplo, max-age = 31536000 fija la póliza por un año.
  • Directiva IncluirSubDominios. Esta directiva opcional extiende la política HSTS a todos los subdominios del sitio. Si se incluyen, todos los subdominios también deben admitir HTTPS.
  • Precarga (opcional pero recomendada). La precarga implica enviar el sitio a la lista de precarga HSTS, una lista mantenida por los proveedores de navegadores. Una vez que un sitio está precargado, los navegadores aplicarán HTTPS para él y sus subdominios desde la primera visita, incluso antes de recibir el encabezado HSTS. Para calificar para la precarga, el sitio debe ofrecer un encabezado HSTS con edad máxima de al menos un año (31536000), incluir la incluir subdominios directiva, e incluir la precarga directiva en el encabezado.
  • Sin contenido mixto. El sitio debe evitar el contenido mixto, que ocurre cuando las páginas HTTPS cargan recursos (como imágenes, scripts u hojas de estilo) a través de HTTP. El contenido mixto socava la seguridad de HTTPS y puede hacer que los navegadores bloqueen dichos recursos o muestren advertencias de seguridad.
  • Redirecciones. Cualquier solicitud HTTP al sitio debe redirigirse a HTTPS antes de aplicar HSTS. Esto garantiza que los usuarios que visitan inicialmente el sitio a través de HTTP sean dirigidos a la versión segura.

Limitaciones del HSTS

HTTP Strict Transport Security (HSTS) es un poderoso mecanismo de seguridad que viene con algunas limitaciones, que incluyen:

  • Conexión inicial insegura. La primera conexión a un sitio web no está protegida por HSTS, lo que la deja vulnerable a ataques de intermediario. Hasta que el navegador reciba el encabezado HSTS, la conexión puede realizarse a través de HTTP.
  • Riesgos de mala configuración. Configurar HSTS incorrectamente, como establecer un tiempo muy largo edad máxima para un sitio que no está listo para la aplicación completa de HTTPS, puede generar problemas. Otros ejemplos de configuración incorrecta incluyen HTTPS que no se implementa por completo o problemas de contenido mixto. Si esto ocurre, los usuarios experimentan problemas de funcionalidad o accesibilidad.
  • Cobertura de subdominio. Si el incluir subdominios La directiva no se utiliza, los subdominios no están protegidos por la política HSTS. Esto puede dejarlos vulnerables a ataques, socavando los beneficios de seguridad de HSTS.
  • Accesibilidad del sitio. Si el certificado SSL/TLS de un sitio caduca o está mal configurado, los usuarios no podrán acceder al sitio hasta que se resuelva el problema, ya que HSTS exige conexiones HTTPS únicamente.
  • problemas de caché. Una vez que un navegador recibe un encabezado HSTS, aplicará HTTPS para el sitio hasta que edad máxima expira el plazo. Si un sitio ya no desea utilizar HTTPS o cambia su configuración, es posible que los usuarios aún se vean obligados a utilizar HTTPS debido a las políticas HSTS almacenadas en caché.
  • Navegadores no compatibles. No todos los navegadores admiten HSTS. Los usuarios con navegadores más antiguos o menos comunes que no reconocen el encabezado HSTS no se beneficiarán de sus protecciones de seguridad.
  • Desventajas de la precarga. Si bien la precarga mejora la seguridad, es un compromiso. Una vez que un sitio se incluye en la lista de precarga de HSTS, no se puede eliminar fácilmente y cualquier problema con HTTPS en el sitio genera importantes problemas de acceso para los usuarios.
  • Impacto en el rendimiento. Forzar HTTPS introduce una ligera sobrecarga de rendimiento debido al cifrado y desencriptación procesos. Si bien generalmente es mínimo, puede notarse en sitios web con mucho tráfico o usuarios con conexiones más lentas.

Compatibilidad del navegador HSTS

La siguiente tabla compara la compatibilidad de HSTS con los navegadores más utilizados en la actualidad.

NavegadorVersiones compatibles
Google Chrome4 y más tarde
Mozilla Firefox4 y más tarde
Microsoft Edge12 y más tarde
Apple Safari7 y más tarde
Opera12 y más tarde
Internet ExplorerSin soporte

Mejores prácticas de implementación de HSTS

La implementación efectiva de HTTP Strict Transport Security (HSTS) requiere seguir las mejores prácticas para garantizar una seguridad sólida y minimizar problemas potenciales. Estas son algunas de las mejores prácticas para implementar HSTS:

  • Garantice la compatibilidad total con HTTPS. Antes de habilitar HSTS, asegúrese de que todo su sitio admita HTTPS, incluidos todos los subdominios y recursos. El contenido mixto puede causar problemas cuando se aplica HSTS.
  • Configurar SSL/TLS correctamente. Utilice configuraciones SSL/TLS sólidas para evitar vulnerabilidades. Asegúrese de que sus certificados SSL/TLS sean válidos, estén actualizados y estén instalados correctamente.
  • Establecer edad máxima adecuada. Comience con un breve edad máxima valor (por ejemplo, un día) para probar la implementación y garantizar que todo funcione correctamente. Aumente gradualmente la edad máxima a una duración más larga (por ejemplo, un año) una vez que esté seguro de la configuración.
  • Incluir subdominios. Utilizar el incluir subdominios directiva para garantizar que todos los subdominios estén cubiertos por la política HSTS, brindando protección integral en todo su dominio.
  • Usar precarga. Envíe su sitio a la lista de precarga de HSTS para garantizar que los navegadores apliquen HSTS desde la primera visita. Esto requiere establecer un edad máxima de al menos un año, incluyendo el incluir subdominios directiva, y añadiendo la precarga directiva a su encabezado HSTS.
  • Redirigir HTTP a HTTPS. Preparar server-Redirecciones laterales de HTTP a HTTPS. Esto garantiza que los usuarios que acceden inicialmente a su sitio a través de HTTP sean redirigidos a la versión segura.
  • Monitorear y probar. Supervise periódicamente su sitio para detectar problemas de SSL/TLS, contenido mixto y otros problemas potenciales. Utilice herramientas como SSL Test de SSL Labs para verificar su configuración y asegurarse de que cumpla con las mejores prácticas.
  • Actualizar políticas de seguridad. Mantenga sus políticas y configuraciones de seguridad, incluido HSTS, actualizadas periódicamente con las últimas recomendaciones y prácticas.
  • Informar a los usuarios y partes interesadas. Comunique los cambios a sus usuarios y partes interesadas, explicando los beneficios y los impactos potenciales de la implementación de HSTS. Esto ayuda a gestionar las expectativas y garantiza que cualquier problema se informe y aborde rápidamente.
  • Prepárate para emergencias. Tenga un plan implementado para manejar emergencias, como caducidad de certificados o errores de configuración. Debería poder eliminar su sitio de la lista de precarga de HSTS si es necesario, aunque este proceso puede llevar tiempo debido a los ciclos de actualización del navegador.

Anastasia
Spasojevic
Anastazija es una escritora de contenido experimentada con conocimiento y pasión por cloud informática, tecnología de la información y seguridad en línea. En phoenixNAP, se centra en responder preguntas candentes sobre cómo garantizar la solidez y seguridad de los datos para todos los participantes en el panorama digital.