¿Qué es HSTS y cómo se activa? (HTTP Strict Transport Security)
HSTS (HTTP Strict Transport Security) es una cabecera de seguridad que le dice al navegador "conéctate a mí solo por HTTPS". Usada junto con una redirección 301, evita que incluso la primera petición http:// a tu sitio sea interceptada (SSL stripping).
¿Por qué se necesita HSTS?
Si usas solo una redirección 301, el navegador del visitante llega primero al sitio por http:// y luego es redirigido a HTTPS. Esa breve primera petición es una ventana abierta para un atacante en la red. Con HSTS activado, el navegador convierte la petición directamente a HTTPS sin enviarla siquiera, aunque se escriba http en la barra de direcciones.
Anatomía de la cabecera
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload- max-age — cuántos segundos recuerda el navegador esta regla (31536000 = 1 año).
- includeSubDomains — aplica la regla también a todos los subdominios.
- preload — una solicitud para añadir tu sitio a la lista "solo HTTPS" integrada en los navegadores (ver la advertencia abajo).
Activación en Nginx
Añádela a tu bloque server de HTTPS:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;Activación en Apache
Con mod_headers activado, en el host virtual o en .htaccess:
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"Aspectos a tener en cuenta
- Asegúrate primero de que HTTPS funciona por completo. Con HSTS activo, el acceso por HTTP se bloquea totalmente del lado del navegador; si tu certificado está roto, los visitantes no podrán entrar.
- Empieza con un max-age bajo. En la primera prueba usa
max-age=300(5 minutos) y, cuando todo funcione, súbelo a 1 año. - No te apresures con preload. Entrar en la lista de preload es permanente y salir lleva semanas; no lo añadas hasta estar seguro de que todos tus subdominios seguirán en HTTPS de forma permanente.
Resumen
HSTS hace obligatorio tu HTTPS con una cabecera de una línea y cierra la brecha de la primera petición. Asegúrate primero de que tu certificado funciona sin fallos; si no tienes uno, créalo con nuestro asistente SSL gratuito y luego activa HSTS con un max-age bajo.