HTTPS y TLS bien configurados — una guía práctica | Scanthra
Mayo de 2026Por qué «tenemos HTTPS» no suele ser suficiente
Un sitio que carga en HTTPS pero que también responde en HTTP normal — o usa TLS/SSL (cifrado) 1.0, un certificado caducado o cifrados débiles — es el equivalente de un cerrojo de seguridad en una puerta que ha quedado entreabierta. Todos los cuestionarios de seguridad modernos, las advertencias de los navegadores y los regímenes de cumplimiento (RGPD Art. 32, NIS2 Art. 21(2)(h), PCI DSS 4.0) tratan la higiene TLS como una base mínima, no como un extra.
Las cinco cosas que debes hacer bien
1. Un certificado válido y moderno
Gratuito, automatizado y de confianza para todos los navegadores: Let's Encrypt. La mayoría
de los paneles de alojamiento (cPanel, Plesk, DirectAdmin, ISPmanager) incluyen
un instalador con un clic. Para usuarios de VPS, certbot o
acme.sh renuevan automáticamente cada 60 días. Elige RSA-2048
o ECDSA P-256 — ambos están bien.
2. Solo HTTPS — sin HTTP, sin contenido mixto
Cada solicitud HTTP simple debe redirigir a HTTPS con un 301 (no 302 — los motores de búsqueda los tratan de forma diferente). El contenido mixto (una página HTTPS que carga una imagen o un script por HTTP) rompe silenciosamente la garantía de seguridad — la mayoría de los navegadores lo bloquean, pero algunos embeds heredados se cuelan. Audita con la pestaña «Seguridad» de las herramientas para desarrolladores del navegador.
3. HSTS — dile al navegador que recuerde HTTPS
Sin HSTS (forzado de HTTPS), cada primera visita sigue incluyendo una solicitud HTTP simple que puede ser interceptada. La solución es un encabezado HTTP de respuesta:
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
max-age=31536000— un año. Empieza con un mes (2592000) mientras pruebas, luego aumenta.includeSubDomains— aplica a todos los subdominios también. Solo añade esto cuando estés seguro de que todos los subdominios sirven HTTPS.preload— elegible para estar incluido en las listas HSTS integradas de los navegadores en hstspreload.org. Solo envía la solicitud cuando todo lo demás esté estable; eliminarte de la lista lleva semanas.
4. Protocolos y cifrados modernos
Deshabilita SSLv3, TLS 1.0 y TLS 1.1 — tienen debilidades conocidas y ningún cliente moderno los necesita. Habilita TLS 1.2 y TLS 1.3.
Para nginx (base «intermedia» de Mozilla, generada desde ssl-config.mozilla.org):
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
Para Apache:
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305
SSLHonorCipherOrder off
5. OCSP stapling y HTTP/2
El OCSP stapling permite que tu servidor incluya el estado de revocación del certificado en el handshake TLS, evitando una llamada separada (lenta, a veces fallida) del navegador a la CA.
ssl_stapling on;
ssl_stapling_verify on;
HTTP/2 no es una función de seguridad como tal, pero la mayoría de los verificadores de seguridad modernos cuentan su ausencia como señal de un stack desactualizado:
listen 443 ssl http2;
Atajo solo con Cloudflare
Si tu origen está detrás de Cloudflare, la mayor parte de lo anterior es un interruptor:
- SSL/TLS → Resumen: configura en Completo (estricto).
- SSL/TLS → Certificados de borde: habilita «Usar siempre HTTPS», «Reescrituras HTTPS automáticas», «Versión mínima de TLS: TLS 1.2», y activa HSTS desde el panel.
- Eso cubre ~80% de los problemas detectados de TLS sin tocar el servidor de origen.
Renovación — la cosa aburrida que te muerde
El incidente TLS más común es «el certificado caducó un domingo por la mañana, nadie se dio cuenta, los clientes no pudieron acceder al sitio durante seis horas». Dos defensas:
- Renovación automática a nivel del certificado (Let's Encrypt lo hace por
defecto; verifica con
certbot renew --dry-run). - Un monitor externo — UptimeRobot, Better Uptime, BetterStack o una alerta gratuita de tipo cron de Cloudflare — que te avise 14 días antes de la caducidad.
Cómo verificar tu configuración
- Mozilla Observatory — gratuito, da una calificación con letra y explica cada deducción.
- SSL Labs SSL Test (Qualys) — el análisis profundo de TLS canónico, aún relevante en 2026.
- Scanthra — nuestros módulos SSL/TLS (cifrado), HSTS (forzado de HTTPS) y Encabezados de Seguridad resumen los mismos problemas detectados en lenguaje claro y los entregan como un PDF que puedes presentar a un cliente o auditor.
Problemas habituales
- Confusión con SNI. Algunos clientes heredados en la misma IP pueden servir el certificado equivocado. Usa un VirtualHost por certificado, mantén el certificado del servidor predeterminado válido.
- Subdominios olvidados.
www.ycdn.a menudo necesitan sus propios certificados o una entrada SAN en el principal. - Bloqueos por HSTS. Si configuras HSTS con
includeSubDomainsantes de que todos los subdominios tengan TLS, esos subdominios quedan inaccesibles durante el período demax-age. Empieza sinincludeSubDomains. - Paranoia con los conjuntos de cifrado. Prohibir cada cifrado que alguna vez tuvo una debilidad bloqueará a usuarios con teléfonos antiguos. El ajuste preestablecido «intermedio» de Mozilla es un compromiso sensato.
Cómo Scanthra detecta los problemas de TLS
Nuestro módulo SSL/TLS (cifrado) comprueba: validez y caducidad del certificado, versiones de protocolo admitidas, presencia y política HSTS (forzado de HTTPS), cadena de confianza del certificado, y algunos errores de configuración comunes. Los problemas detectados aparecen en el informe con gravedad, explicación en lenguaje claro y una solución lista para copiar — igual que en este artículo.
¿Quieres saber si tu sitio tiene este problema?
Scanthra hace una revisión pasiva y amigable, y te envía por correo electrónico un informe de seguridad en PDF fácil de entender.
Analiza tu sitio gratis