Comprobar las cabeceras de seguridad de una web

HSTS, CSP, X-Frame-Options y las demás: cuáles manda tu servidor, si sus valores sirven de algo y la configuración exacta para añadir las que faltan.

  • Gratis
  • Sin registro
  • Con nota y explicación
  • Configuración para copiar

La URL se lee desde nuestra función en Cloudflare, con caché de diez minutos, y el dominio se consulta a hstspreload.org. No se guarda nada.

¿Cómo se usa?

  1. 01

    Escribe la URL

    La de la portada o la de cualquier página: las cabeceras suelen ser las mismas en todo el sitio, pero no siempre.

  2. 02

    Lee la nota y el porqué

    Cada cabecera dice si está, si su valor sirve y qué protege. Una A+ exige las siete bien puestas y ninguna filtración.

  3. 03

    Copia la configuración

    El bloque para tu servidor sale con lo que falta. Pégalo, despliega y vuelve a comprobar.

Qué protege cada cabecera, en una frase

HSTS
Obliga al navegador a entrar siempre por https, aunque alguien escriba http o un enlace antiguo lo lleve ahí. (strict-transport-security)
Content-Security-Policy
Dice de dónde pueden cargarse scripts, estilos e imágenes. Es la defensa de fondo contra el código inyectado. (content-security-policy)
X-Frame-Options
Impide que otra web muestre la tuya dentro de un marco invisible para robar clics (clickjacking). (x-frame-options)
X-Content-Type-Options
Evita que el navegador «adivine» el tipo de un archivo y ejecute como script algo que no lo era. (x-content-type-options)
Referrer-Policy
Controla cuánta URL de tu página se envía a los sitios que enlazas. Sin ella, viaja entera. (referrer-policy)
Permissions-Policy
Apaga cámara, micrófono, ubicación y pagos para la página y para lo que incrusta. (permissions-policy)
Cross-Origin-Opener-Policy
Aísla tu ventana de las que la abrieron o abrió, para que no puedan manipularla. (cross-origin-opener-policy)
Server
No protege: cuenta qué servidor usas. Con versión, le ahorra trabajo a quien busque fallos conocidos. (server)
X-Powered-By
No protege: cuenta el lenguaje o el framework. Lo mismo que Server, y con el mismo remedio. (x-powered-by)
X-XSS-Protection
Obsoleta: los navegadores la ignoran o la retiraron. Si está, es herencia; se puede quitar. (x-xss-protection)

Siete líneas que casi nadie pone

Las cabeceras de seguridad son la parte más barata de endurecer una web: no cambian el código, no afectan al diseño y se configuran una vez. Y aun así la mayoría de sitios no manda ninguna, porque nadie se acordó el día del lanzamiento.

Los sitios que entregamos salen con estas cabeceras puestas, y el despliegue las comprueba: si una desaparece en un cambio de configuración, el build lo dice antes de que llegue a producción. Lo mismo para los sitios que mantenemos.

Cómo construimos y mantenemos sitios →

Preguntas frecuentes

¿Las cabeceras de seguridad afectan al SEO?

No directamente: Google no las puntúa. Pero dos de ellas tocan cosas que sí mira. HSTS consolida el sitio en https, que es un factor de posicionamiento desde 2014, y evita redirecciones http → https en cada visita. Y una web hackeada por falta de CSP acaba en la lista de Safe Browsing, que sí hunde el tráfico. Es un seguro barato.

¿Content-Security-Policy puede romper mi web?

Sí, si se pone a ciegas. Un CSP estricto bloquea cualquier script que no esté en la lista, incluidos los de analítica, chat o mapas. Por eso la configuración propuesta aquí solo limita marcos, formularios y plugins: no rompe nada y ya cierra el clickjacking. El CSP completo se escribe revisando cada script del sitio, y se prueba primero en modo Report-Only.

¿Qué es la lista de precarga HSTS y cómo entro?

Una lista compilada dentro de Chrome, Firefox, Safari y Edge con los dominios que solo deben visitarse por https, sin necesidad de haberlos visitado antes. Para entrar, HSTS debe llevar max-age de al menos un año, includeSubDomains y preload; se solicita en hstspreload.org y tarda semanas en llegar a los navegadores. Salir es mucho más lento, así que conviene estar seguro: todos los subdominios, también los internos, tendrán que servirse por https.

¿X-Frame-Options o frame-ancestors?

Las dos hacen lo mismo: impedir que tu página se cargue dentro de un marco ajeno. frame-ancestors, dentro del CSP, es la moderna y permite listas de dominios; X-Frame-Options es la antigua y solo entiende DENY y SAMEORIGIN. Los navegadores actuales ignoran X-Frame-Options si hay frame-ancestors. Poner las dos no hace daño y cubre navegadores viejos.

¿Para qué sirve nosniff?

Los navegadores, por compatibilidad, intentan adivinar el tipo de un archivo mirando su contenido cuando el servidor no lo dice bien. Un atacante que consiga subir un archivo «de imagen» con JavaScript dentro podría aprovecharlo. X-Content-Type-Options: nosniff apaga esa adivinanza. Cuesta una línea y no tiene efectos secundarios.

¿Una A significa que mi web es segura?

No. Significa que el servidor manda las cabeceras que los navegadores entienden, con valores que no las anulan. Es una capa: protege contra enmarcado, degradación a http y parte de las inyecciones de código. No sabe nada de tu formulario de login, de tus dependencias desactualizadas ni de la contraseña del panel. Esas se revisan de otra manera.

¿Se guarda la URL que compruebo?

No. Nuestra función en Cloudflare hace la petición, devuelve las cabeceras a tu navegador y cachea el resultado diez minutos para no repetirla si vuelves a comprobar. El dominio se consulta además a hstspreload.org, el servicio de Google que mantiene la lista de precarga. Ninguno de los dos recibe nada más.

¿Tu web sale con una D?

Suele ser una tarde de trabajo bien hecha: cabeceras, https en todo el dominio y un CSP que no rompa nada. Si además quieres que alguien lo vigile, eso es soporte.

Respondemos en menos de 24 horas hábilesBogotá · UTC−5

Escríbenos por WhatsApp (se abre en una pestaña nueva)