Imagina que reservas mesa en la web de un restaurante hipotético: abres la página, eliges la hora, inicias sesión y confirmas con un pago a través de un servicio integrado. Para ti es un único recorrido, pero por debajo intervienen varios sistemas: el servidor del restaurante, quizá una CDN, el proveedor de inicio de sesión y la pasarela de pago.
El certificado TLS, que mucha gente sigue llamando «certificado SSL», y las cabeceras de seguridad HTTP (también conocidas como encabezados de seguridad) ayudan a que esos sistemas cooperen. TLS cifra la conexión y autentica al servidor; las cabeceras de la respuesta indican al navegador qué contenido puede cargar, cómo tratar las cookies y cómo conectarse en las próximas visitas.
Alcance de esta guía
Esta guía explica los conceptos. El snapshot gratuito hace ocho comprobaciones pasivas y no es un pentest: anota únicamente el protocolo TLS negociado, comprueba sobre todo si las cabeceras están presentes, no revisa SameSite y solo prueba la redirección a HTTPS si escribes http://.
1. Entiende el papel del certificado en una visita
Cuando un navegador se conecta por HTTPS, TLS establece la comunicación cifrada. El navegador comprueba que el certificado cubre el nombre solicitado, que está dentro de su periodo de validez y que se puede construir una cadena hasta una autoridad de confianza. En cuanto al protocolo, la guía TLS de OWASP indica que las aplicaciones web deben usar TLS 1.3 por defecto y pueden admitir TLS 1.2 por compatibilidad, mientras que TLS 1.0, TLS 1.1, SSLv2 y SSLv3 deben estar desactivados. Anotar qué protocolo se negoció en una conexión concreta da un dato verificable, aunque no dice qué otras versiones acepta el servidor.
Haz una lista de los nombres públicos: el dominio principal, www y los subdominios de servicios. Comprueba cada uno y anota qué proveedor gestiona su certificado. La CDN y el servidor de origen pueden tener certificados distintos con renovaciones distintas, y OWASP aconseja mantener una lista de los sistemas que comparten un mismo certificado para poder actualizarlos todos si caduca o se ve comprometido.
Las renovaciones van a ser cada vez más frecuentes. Según el calendario aprobado por el CA/Browser Forum, los certificados públicos emitidos desde el 15 de marzo de 2026 duran como máximo 200 días; desde el 15 de marzo de 2027, 100 días, y desde el 15 de marzo de 2029, 47 días. Let's Encrypt dejó de enviar avisos de caducidad por correo en junio de 2025 y recomienda renovar con ARI (ACME Renewal Information) o hacia los dos tercios de la vida del certificado, no con un intervalo fijo. Automatiza la renovación y vigila la caducidad con una herramienta independiente.
2. Observa cómo se complementan las capas
| Capa | Qué aporta | Práctica útil |
|---|---|---|
| Certificado TLS | Conexión cifrada y servidor autenticado | Registrar nombres públicos, caducidad y responsable de la renovación automática |
| Content-Security-Policy | Reglas explícitas sobre los recursos que puede cargar la página | Construir la política a partir de los recursos que el sitio usa de verdad |
| HSTS | Uso obligatorio de HTTPS en las visitas siguientes | Elegir la duración y la cobertura de subdominios de forma deliberada |
| Atributos de cookies | Control sobre cuándo se envía la cookie de sesión y quién puede leerla | Probar el inicio de sesión, los servicios integrados y los retornos desde servicios externos |
| nosniff, Referrer-Policy y frame-ancestors | Tratamiento predecible del contenido, del Referer y de la inserción en marcos | Fijar un valor por defecto y documentar las excepciones |
Piensa en estos controles como instrucciones complementarias: el certificado protege la conexión y las cabeceras describen cómo debe comportarse cada respuesta. Un artículo público, la página de una cuenta y un widget pensado para insertarse en otros sitios tienen funciones distintas y necesitan políticas que reflejen esa función. Además, algunas cabeceras solo tienen sentido donde el navegador muestra algo: según la guía de OWASP, en la respuesta JSON de una API una CSP o X-Frame-Options aportan poco.
3. Construye la CSP a partir de los recursos que usa la gente
Content-Security-Policy (CSP) indica al navegador desde dónde puede cargar una página scripts, estilos, imágenes, fuentes, conexiones y marcos. Su uso principal es reducir el impacto del cross-site scripting (XSS), y la guía de CSP de MDN recuerda que no sustituye al saneamiento de los datos de entrada. Empieza con un inventario de recursos y recorre el trayecto completo, porque el pago, la autenticación y el chat de soporte suelen cargar recursos solo después de una interacción.
Prueba la política con la cabecera Content-Security-Policy-Report-Only, que informa de las infracciones sin bloquear nada y puede convivir con una política ya aplicada. Revisa la consola del navegador o el destino de informes configurado, asocia cada aviso a su recurso y decide la regla. Cuando hayas revisado recorridos representativos, aplica la política probada.
Para los scripts, MDN recomienda una «CSP estricta» basada en nonces o hashes en lugar de una larga lista de dominios permitidos, y evitar 'unsafe-inline', que anula buena parte de la protección. Con scripts de terceros que cargan otros scripts es más difícil de aplicar, así que anótalos aparte en el inventario. Ten en cuenta también que una política de solo informe y la directiva frame-ancestors no funcionan dentro de una etiqueta <meta>: tienen que enviarse como cabecera HTTP. Un inventario documentado facilita evaluar futuras incorporaciones y explica el motivo de cada permiso.
4. Convierte HTTPS en un hábito del navegador
HSTS (Strict-Transport-Security) indica al navegador que use solo HTTPS para un host durante los segundos fijados en max-age y que convierta a HTTPS cualquier intento posterior por HTTP. El navegador aprende la política de una respuesta HTTPS válida e ignora la cabecera si llega por HTTP sin cifrar, así que la redirección de HTTP a HTTPS no debe llevarla: la que cuenta es la respuesta HTTPS. HSTS no protege la primera visita, solo las siguientes.
Tiene un efecto que conviene planificar: en un host con HSTS, el navegador no deja al visitante saltarse un error de certificado, de modo que un certificado caducado deja fuera a quien ya conocía el sitio hasta que se renueve. Empieza con una duración que tu equipo pueda revisar con comodidad y amplíala por etapas; hstspreload.org propone subir de cinco minutos a una semana y después a un mes, comprobando en cada paso que nada se rompe.
La opción includeSubDomains extiende la política a todos los subdominios, así que contrástala con tu inventario de nombres; aun así, cada subdominio debería enviar su propia cabecera. La precarga (preload) añade el dominio a una lista integrada en los navegadores para cubrir también la primera visita. Trátala como una decisión de largo plazo: hstspreload.org recomienda HSTS, pero ya no recomienda la precarga, porque Chrome y Safari convierten las navegaciones a HTTPS de todos modos, y salir de la lista lleva meses. La guía de cabeceras de OWASP todavía incluye preload en el valor que recomienda, así que conviene leer ambas fuentes antes de decidir. La referencia de HSTS en MDN explica cómo se combinan estas opciones.
6. Comprueba la experiencia terminada
Abre la pestaña de red de las herramientas para desarrolladores del navegador, carga la página y sigue las redirecciones hasta la respuesta final. Revisa el certificado, las cabeceras y las cookies que llegan realmente. Así relacionas la configuración con la experiencia del visitante y ves qué servicio aporta cada ajuste: una cabecera puede venir de la aplicación, otra de la CDN y otra del proxy. Para revisar las cabeceras una por una con DevTools o curl, con valores seguros para empezar, consulta la guía para comprobar las cabeceras de seguridad HTTP.
- Visita por HTTPS los nombres públicos de tu lista y prueba también su versión
http://: según la guía de configuración TLS de MDN, debería redirigir al mismo recurso en HTTPS. Usa una redirección permanente, por ejemplo un 301. - Anota los datos del certificado (nombres, emisor y caducidad) y las cabeceras de la respuesta final.
- Completa el inicio de sesión, la recuperación de cuenta, el pago integrado y los retornos desde servicios externos.
- Revisa los avisos de la consola y el destino de informes CSP que hayas elegido.
Guarda un registro fechado de la configuración y de quién gestiona cada capa. Cuando cambie el alojamiento o una integración, repite el mismo recorrido para confirmar el comportamiento previsto. Un despliegue planificado, con la configuración anterior a mano, facilita coordinar los cambios, y la lista resultante sirve como introducción práctica para quien mantenga el sitio en el futuro.
Para revisar ahora las cabeceras de un sitio, usa el comprobador de cabeceras de seguridad HTTP gratuito.
7. Mantén el mapa de protección cerca del sitio
Reúne en un solo lugar los nombres públicos, los responsables de los certificados, los recursos que carga el navegador y los recorridos importantes. Para una lectura rápida desde fuera, el snapshot gratuito de Sitelemetry ejecuta ocho comprobaciones pasivas sobre un origen público, sin crear una cuenta, entre ellas el certificado TLS y las cabeceras de seguridad HTTP. No es un pentest. Su alcance es concreto: hace una única negociación TLS (handshake) y comprueba que la cadena sea de confianza, que el certificado no caduque en los próximos 30 días y que el protocolo negociado sea TLS 1.2 o 1.3, sin enumerar versiones ni cifrados. En la respuesta final, tras seguir hasta cinco redirecciones, comprueba sobre todo si las cabeceras están presentes y si las cookies llevan HttpOnly y Secure; no revisa SameSite. La redirección de HTTP a HTTPS solo se prueba si escribes la dirección con http://, y en ese caso se omite la comprobación del certificado.
La guía de auditoría de seguridad web explica cómo se conectan estas capas con las cuentas, los permisos y el mantenimiento diario.
Preguntas frecuentes
¿Cómo cooperan TLS y las cabeceras de seguridad?
TLS cifra la comunicación y autentica al servidor con su certificado. Las cabeceras de seguridad HTTP describen después cómo debe tratar el navegador el contenido recibido, la sesión y las solicitudes futuras.
¿Qué hace realmente HttpOnly en una cookie?
Impide que el JavaScript de la página lea la cookie, por ejemplo con document.cookie. No la cifra ni impide que se envíe: el navegador la sigue adjuntando a las solicitudes que corresponden. Reduce el robo de cookies mediante XSS, pero no evita el XSS.
¿Cómo empezar con CSP sin romper el sitio?
Haz un inventario de los recursos que usan los recorridos representativos, publica la política propuesta con Content-Security-Policy-Report-Only, revisa los avisos y aplica las reglas que correspondan al comportamiento previsto. Para los scripts, prefiere nonces o hashes a listas largas de dominios.
¿Conviene activar la precarga de HSTS?
Es una decisión de largo plazo. hstspreload.org recomienda HSTS, pero ya no recomienda la precarga, porque Chrome y Safari ya convierten las navegaciones a HTTPS y salir de la lista lleva meses. Si la valoras, asegúrate antes de que todos los subdominios funcionan por HTTPS.
¿Qué debe incluir el registro de certificados?
Los nombres públicos, el proveedor del certificado, la fecha de caducidad, quién se ocupa de la renovación automática y los detalles de la CDN o del origen. Como los certificados públicos que se emiten ahora duran como máximo 200 días, revísalo con frecuencia y siempre que cambien el alojamiento o los dominios.
Fuentes y lecturas
- MDN: Content-Security-Policy-Report-Onlydeveloper.mozilla.org
- MDN: guía de Content Security Policy (CSP)developer.mozilla.org
- MDN: Strict-Transport-Security (HSTS)developer.mozilla.org
- MDN: Set-Cookiedeveloper.mozilla.org
- OWASP: cabeceras HTTPcheatsheetseries.owasp.org
- OWASP: seguridad de la capa de transporte (TLS)cheatsheetseries.owasp.org
- HSTS Preload List Submissionhstspreload.org
- CA/Browser Forum: votación SC081v3 sobre la duración de los certificadoscabforum.org
- Let's Encrypt: certificados de 45 díasletsencrypt.org
Preparado por el equipo editorial de Sitelemetry. Consulta las fuentes enlazadas para profundizar.



