Comprobación de cabeceras de seguridad
Las cabeceras de seguridad son instrucciones que tu servidor añade a cada respuesta HTTP para que el navegador active protecciones que no aplica por defecto: bloquear scripts inyectados, forzar HTTPS, rechazar el encuadre y detener el rastreo MIME. Introduce una URL y este comprobador obtiene la respuesta final, califica seis cabeceras sobre 100 puntos, muestra el valor exacto encontrado en cada una, explica el riesgo en una línea y te entrega la configuración de Nginx o Apache para pegar cuando una cabecera falta o es débil. Si solo quieres la versión rápida, la comprobación de salud del sitio ya incluye una subpuntuación de cabeceras de seguridad en su informe general: esta página es el análisis en profundidad, notas por cabecera y correcciones, y nada más.
Última actualización:
¿Quieres vigilarlo sin parar? Vigílalo gratis con myeventwatch — alertas de caducidad y caídas, sin tarjeta.
El análisis en profundidad, junto a la nota rápida del chequeo de salud
La comprobación de salud del sitio responde a una pregunta amplia —¿está sano este sitio en general?— y pliega las cabeceras de seguridad en esa respuesta como una subpuntuación entre muchas. Esa es la forma correcta para un chequeo rutinario, pero no puede decirte qué cabecera perdió los puntos, qué valor envió realmente tu servidor ni qué pegar en tu configuración para corregirlo. Esta página existe para el trabajo posterior: una sola obtención, seis cabeceras calificadas, una nota en letras y, para cada cabecera ausente o débil, las líneas exactas de Nginx y Apache que la añaden o la refuerzan. Nada aquí es una caja negra: la tabla completa de puntuación está publicada en la sección de datos de abajo, y es exactamente la tabla contra la que califica el comprobador.
Cómo funciona la comprobación: el comprobador solicita la URL que introduces, sigue las redirecciones y califica las cabeceras de la respuesta final, la respuesta a partir de la cual el navegador construiría realmente la página. Es una obtención HTTP simple, no un navegador: no se ejecuta JavaScript, no se cargan subrecursos y no se ven las cabeceras que solo aparecen en otras rutas o tras iniciar sesión. La puntuación mide una capa concreta —si estas seis protecciones orientadas al navegador están presentes y son fuertes— y nada más. Un sitio puede sacar 100 y seguir teniendo un fallo de aplicación; un sitio puede sacar F y no haber sido vulnerado nunca. Trata la nota como una lista de endurecimiento con pesos, no como un veredicto sobre la seguridad completa del sitio.
Corregir, en orden de impacto
La mayor parte de la puntuación se recupera barato. X-Content-Type-Options, la protección contra marcos y Referrer-Policy son una línea cada una y no rompen nada en un sitio normal. Strict-Transport-Security también es una línea, pero envíala solo cuando cada página y subdominio funcione de verdad sobre HTTPS: un max-age de un año es una promesa que los navegadores te exigirán cumplir. Permissions-Policy requiere diez minutos de reflexión sobre qué funciones del navegador usan realmente tus páginas. Content-Security-Policy concentra más puntos y más riesgo: despliégala primero como Content-Security-Policy-Report-Only, observa los informes de violaciones, corrige lo que se rompa y solo entonces aplícala. La guía complementaria, las cabeceras de seguridad, explicadas, recorre qué detiene realmente cada cabecera y por qué el orden de corrección es el que es.
Comprobaciones vecinas: la seguridad del transporte es la otra mitad de esta historia — el calificador SSL puntúa la propia configuración TLS, mientras que esta página puntúa lo que el servidor dice sobre esa conexión. Para el chequeo amplio y rutinario que incluye cabeceras junto a disponibilidad, DNS y caducidad de certificados, vuelve a la comprobación de salud del sitio.
Una nota sobre el método: los resultados son una instantánea de una obtención en un momento dado. Los CDN y las configuraciones con varios servidores pueden responder a peticiones distintas con conjuntos de cabeceras distintos, así que un resultado sorprendente merece una segunda comprobación antes de cambiar la configuración, y otra después del cambio, porque una cabecera añadida en el origen no siempre sobrevive al proxy que tiene delante.
La tabla de puntuación publicada
| Content-Security-Policy — 35 puntos | Bueno significa una política aplicada (Report-Only no cuenta) que mantiene los scripts alejados de 'unsafe-inline' y 'unsafe-eval' y restringe desde dónde pueden cargarse los recursos. El peso mayor, porque CSP es la principal defensa contra los scripts inyectados. |
| Strict-Transport-Security — 20 puntos | Bueno significa un max-age de al menos un año (31536000 segundos) enviado sobre HTTPS; includeSubDomains lo refuerza aún más. Los max-age cortos obtienen puntos parciales. |
| Protección contra marcos — 15 puntos | Bueno significa la directiva frame-ancestors de CSP o una cabecera X-Frame-Options en DENY o SAMEORIGIN, para que otros sitios no puedan incrustar tus páginas en un marco y hacer clickjacking. |
| X-Content-Type-Options — 10 puntos | Bueno significa el único valor nosniff, para que los navegadores no puedan olfatear por MIME una respuesta y convertirla en otro tipo ejecutable. |
| Referrer-Policy — 10 puntos | Bueno significa una política que nunca envía la URL completa a otros orígenes: strict-origin-when-cross-origin o algo más estricto (same-origin, no-referrer). |
| Permissions-Policy — 10 puntos | Bueno significa que la cabecera está presente y desactiva funciones potentes del navegador que el sitio no usa, como la cámara, el micrófono y la geolocalización. |
| Cross-Origin-Opener-Policy — extra | Se informa junto a las cabeceras puntuadas pero no vale puntos: aísla tus páginas de las ventanas de otros orígenes y queda fuera de los 100 a propósito, para que los pesos publicados sean exactamente las seis cabeceras de arriba. |
| Notas | 95 o más es A+, 90+ es A, 80+ es B, 65+ es C, 50+ es D, 35+ es E y menos de 35 es F. Los puntos se otorgan por cabecera según la fuerza del valor encontrado; una cabecera ausente puntúa cero en su fila. |
Preguntas frecuentes
¿Cómo se calcula la puntuación? ¿Es una caja negra?
No. Seis cabeceras tienen pesos fijos y publicados —CSP 35, HSTS 20, protección contra marcos 15, X-Content-Type-Options 10, Referrer-Policy 10, Permissions-Policy 10— que suman 100. Cada cabecera gana puntos completos, parciales o cero según la fuerza del valor que encontró el comprobador, y la nota en letras sigue las bandas de la tabla de datos. Cross-Origin-Opener-Policy se informa como extra y nunca afecta a la puntuación.
¿En qué se diferencia de la comprobación de salud del sitio?
La comprobación de salud del sitio es un chequeo amplio —disponibilidad, DNS, TLS, caducidades y más— en el que las cabeceras de seguridad aparecen como una subpuntuación rápida. Esta página califica solo cabeceras, pero en profundidad: el valor exacto encontrado en cada una, veredicto y puntos por cabecera, el riesgo en lenguaje llano y correcciones de Nginx y Apache listas para pegar. Usa el chequeo de salud para detectar el problema y esta página para corregirlo.
¿Qué respuesta se califica, si la mía tiene redirecciones?
Se califican las cabeceras de la respuesta final tras todas las redirecciones, porque esa es la respuesta con la que el navegador construye la página. El resultado muestra la URL y el estado finales para que veas dónde aterrizó la cadena. Una salvedad: esto es una obtención estática, no un navegador —no se ejecuta JavaScript—, así que las cabeceras que un framework añade solo en el cliente, o que aparecen solo tras iniciar sesión o en otras rutas, no forman parte de la nota.
Mi sitio sacó una F. ¿Significa que lo han hackeado?
No. Una F significa que la respuesta final llevaba pocas o ninguna de las seis cabeceras puntuadas: el estado habitual de una instalación de servidor o framework por defecto. Dice que los navegadores de tus visitantes no reciben protecciones que podrían tener; no dice nada sobre si el sitio ha sido comprometido. Trabaja las correcciones en orden de impacto y vuelve a comprobar: la mayoría de los sitios puede subir varias notas en una tarde.
¿Una puntuación de 100 significa que mi sitio es seguro?
No: significa que estas seis cabeceras están presentes y son fuertes en la URL comprobada. Las cabeceras son una capa de endurecimiento: no parchean fallos de aplicación, contraseñas débiles, software anticuado ni una configuración TLS rota. Combina esta comprobación con el calificador SSL para el transporte y con la comprobación de salud del sitio para el panorama completo.