¿Qué es HSTS y cómo lo activo?
La seguridad en Internet adquiere cada vez mayor importancia debido a la creciente interconexión; al mismo tiempo, la ejecución de ataques se vuelve más compleja y sofisticada. El cifrado de páginas web y de la comunicación mediante el considerado seguro Secure Socket Layer (SSL) o su sucesor Transport Layer Security (TLS) se ha convertido ya en un estándar imprescindible, aunque no protege frente a todas las amenazas. Para protegerlas frente a ataques adicionales existe la extensión HTTP Strict Transport Security (HSTS), que impide algunas de las ciberamenazas establecidas.
Contenido:
¿Cómo se realiza el cifrado en Internet?
HSTS - ¿Cómo funciona?
¿Qué significa un HSTS Preload?
¿Qué tipo de ataques previene HSTS?
¿Cuáles son las ventajas y desventajas de HSTS?
¿Cómo activar HSTS en un alojamiento web?
¿Cómo se realiza el cifrado en Internet?
Un cifrado seguro requiere que la clave utilizada en el intercambio entre ambas partes no pueda ser sustraída, modificada o leída por terceros. El estándar TLS 1.3, publicado en 2018 como la versión más reciente de SSL, garantiza esto al emplear el seguro intercambio de claves Diffie-Hellman-Merkle (protocolo DHM). Este utiliza primero criptografía asimétrica, legible solo de forma unilateral, para el intercambio de claves y solo después cambia a una clave de sesión simétrica, utilizada por ambas partes y única para esa sesión. La seguridad de los certificados asegura la autenticación mediante autoridades de certificación (CA) oficialmente reconocidas y de confianza como Let's Encrypt, Comodo o DigiCert, que garantizan y firman tanto la identidad del titular como la validez de un cifrado.
Desde 2010 varias grandes empresas tecnológicas respaldan el cifrado completo de todas las conexiones, ya que bajo el Hypertext Transfer Protocol (HTTP) originalmente incluso información altamente sensible, como contraseñas o datos bancarios, se transmitía en texto plano legible. Desde 2014 el cifrado mediante SSL se considera un factor importante para el posicionamiento en buscadores y, por ello, debe emplearse para la Optimización para motores de búsqueda (SEO). Sin embargo, procedimientos más antiguos como SSL 1.0 a SSL 3.0, así como las dos primeras versiones de TLS, presentan varias vulnerabilidades descubiertas posteriormente que permiten a un atacante posicionarse en una fase temprana entre el cliente y un sitio web. Para poder contrarrestar de forma eficaz estos y otros riesgos, la Internet Engineering Task Force (IETF) publicó en 2012 el nuevo estándar HSTS.
Asegura ahora el alojamiento web perfecto con SSL
Ir al comparador de alojamiento web con SSL
HSTS - ¿cómo funciona?
HSTS es un procedimiento que tiene como objetivo garantizar una conexión directa entre el proveedor y el cliente, independientemente de si se trata de un alojamiento web, un VPS (Servidor Privado Virtual), un Servidor Dedicado o un servidor Cloud. Para ello utiliza una cabecera adicional en el protocolo HTTPS que indica al cliente de forma estricta que, desde la primera solicitud, debe utilizar únicamente cifrado SSL o TLS. Su uso genera las siguientes condiciones:
- Toda conexión por HTTP se redirige automáticamente a HTTPS
- Si la seguridad no puede garantizarse, la comunicación se interrumpe
- En la primera solicitud, el cliente recibe las directrices HSTS
- El navegador almacena toda la información durante un período determinado
- Durante el periodo establecido por HSTS, el cifrado es obligatorio
- Si falla el cifrado, no es posible recurrir a un estándar inseguro ni a una comunicación sin cifrar
Concretamente, HSTS consiste en una simple instrucción en la cabecera con la directiva de aplicar el estándar desde la primera solicitud. Esta consiste en la indicación:
Strict-Transport-Security: max-age=tiempo en segundos
Un periodo habitual comprende, por ejemplo, 3153600 segundos, lo que equivale a un año natural completo. Además, es posible complementar el encabezado HSTS con otros parámetros opcionales. Estos se separan por punto y coma y consisten, sobre todo, en las directivas adicionales includeSubDomain para subdominios adicionales como test.example.org, así como en la extensión preload, que ya desde la primera visita impone el uso de HTTPS.
¿Qué significa un HSTS Preload?
Surge un problema fundamental, porque HSTS, por su funcionamiento, no entra en vigor hasta la primera visita a una página web. Para evitar esto, los responsables pueden registrarse en una lista proporcionada por el proyecto Google Chromium (https://hstspreload.org/), que navegadores modernos como Chrome, Apple Safari, Microsoft Edge u Opera consultan regularmente. Si una dirección aparece en dicha lista, la directiva HSTS entra en vigor ya con una única visita. El registro está, en principio, abierto a cualquier propietario de un sitio web, pero conlleva algunos requisitos:
- Un certificado SSL válido, firmado por una CA reconocida
- Una duración mínima (max-age) de al menos 31536000 segundos (1 año)
- Las opciones includeSubDomains y preload en el encabezado HSTS
- HTTPS debe estar disponible para todos los subdominios mencionados en un registro DNS
- Redirección de HTTP a HTTPS en el mismo host
Debido al aumento de la seguridad, prácticamente todas las grandes plataformas y corporaciones, entre ellas Google, Facebook, PayPal, Twitter y bancos y entidades financieras con actividad internacional, usan HSTS de forma general.
¿Qué tipo de ataques previene HSTS?
La IETF desarrolló HSTS como respuesta directa a una publicación sobre vulnerabilidades del protocolo HTTPS en 2009. En esos ataques, realizados únicamente con fines de demostración por un hombre en el medio (Man in the Middle), una tercera entidad se interpone entre cliente y servidor y actúa como un nodo de comunicación que, a simple vista, resulta invisible. Frente al servidor web utiliza un cifrado legítimo, pero frente al cliente mantiene una conexión propia y de ese modo simula un acceso seguro e ininterrumpido. Con este procedimiento un delincuente puede interceptar y modificar toda la comunicación sin que la víctima o su contraparte lo detecten sin un análisis exhaustivo del tráfico.
Gracias a sus directrices estrictas, HSTS además evita otros escenarios, algunos de los cuales llevan tiempo siendo conocidos y otros que se han desarrollado más recientemente. Uno de ellos es la imposición desde el exterior de recurrir a un cifrado SSL que hoy se considera inseguro, y que navegadores y servidores web siguen soportando para permitir una amplia compatibilidad con sistemas más antiguos. Una segunda variante es el "secuestro" de sesiones (Session Hijacking), en la que un tercero, a partir de datos de identificación como un número de sesión, asume la identidad de un cliente y envía paquetes en su nombre que el servidor web interpreta como legítimos debido a la autenticación ya realizada.
¿Cuáles son las ventajas y desventajas de HSTS?
En esencia, HSTS amplía las reglas de seguridad habituales bajo HTTPS y exige al cliente el cumplimiento estricto de las directivas existentes. De este modo impide la posibilidad de debilitar la seguridad en un momento posterior, por ejemplo cambiando a versiones antiguas ya comprometidas o dejando temporalmente el cifrado desactivado. De ello se derivan distintas ventajas:
- Implementación garantizada de las medidas de seguridad recogidas en el estándar HTTPS actual
- No es posible el uso "accidental" de conexiones no cifradas
- No es posible interceptar datos antes del inicio del cifrado
- Bajo overhead adicional y sin impacto en el rendimiento
- Seguridad de los datos garantizada durante un largo periodo, de un año o más
- No se permiten conexiones a través del protocolo HTTP sin cifrar
- Sin limitación de funcionalidad por distintos CMS como WordPress o Joomla
Por el contrario, las desventajas son relativamente reducidas. Tras una configuración única y el registro en la lista de precarga de Chromium de Google, HSTS no tiene efectos negativos en el uso diario y no conduce a un mayor consumo de recursos. Sin embargo, existe cierta limitación en las posibilidades de acceso, ya que dispositivos, sistemas operativos o software obsoletos podrían no cumplir los requisitos impuestos por HSTS. No obstante, existen alternativas que, por ejemplo, obligan a cada visitante al uso de HTTPS o redirigen directamente a éste.
¿Cómo activar HSTS en un hosting web?
Para poder emplear HSTS en un hosting web o en cualquier servidor, técnicamente basta con generar un registro correspondiente en la cabecera HTTP. Para ello, en el servidor web Apache 2 debe estar activado el módulo Headers, lo que, por ejemplo en un servidor virtual o dedicado vía SSH, se realiza con los comandos
sudo a2enmod headers
para la activación y
sudo service apache restart
para un reinicio. Finalmente, el responsable puede implantar HSTS de forma permanente insertando la línea
Header always set Strict-Transport-Security "max-age=4838400; includeSubdomains;"
en el httpd.conf global. Si se trata de un Hosting web que únicamente permite acceso a la configuración local del llamado Virtual Host, esto también puede hacerse insertando la línea en la sección correspondiente para el protocolo HTTPS en el puerto 443. Otra opción, adecuada para usuarios sin acceso SSH, es crear un archivo .htaccess con la entrada correspondiente. Sin embargo, esto afecta negativamente al rendimiento.
Con el también popular servidor web NGINX el procedimiento es similar, añadiendo la línea
add_header Strict-Transport-Security "max-age=4838400; includeSubDomains";
opcionalmente en la configuración global o en el bloque de servidor local.##
El servidor web Microsoft IIS permite, al igual que algunos proveedores de Hosting web o herramientas de administración como Plesk , la activación de HSTS directamente a través de la interfaz gráfica. En otras herramientas como Webmin o DirectAdmin, los usuarios deben insertar en cambio la línea manualmente mediante el editor interno de archivos de configuración y activar los cambios con el botón correspondiente. Posibles alternativas son complementos (plugins) para CMS como WordPress, TYPO3 o Joomla, que activan la cabecera y la añaden en cada petición.
Asegura ahora el hosting web perfecto con SSL
Ir al comparador de Hosting web con SSL
Foto: skylarvision en Pixabay
Escribe un comentario
- SSL
Etiquetas de este artículo
Más proveedores de hosting
Más artículos interesantes
¿Qué es StartTLS y cómo afecta al cifrado?
¿Qué es StartTLS y cómo afecta al cifrado? Intentamos llegar al fondo del asunto.
El cifrado como pilar fundamental de la digitalización
Tuvimos la oportunidad de hablar con la directora general Patrycja Schrenk durante el CloudFest 2023 sobre la importanci...