Septiembre de 2026
Una nota de seguridad de A a F, y el detalle que la acompaña
La auditoría de agosto lo mostró: una constatación sin jerarquía no sirve a nadie. El informe devuelve ahora una nota sobre cien, su letra y, por cada punto perdido, la línea exacta que poner en el servidor.
Por qué una nota
Una lista de seis cabeceras ausentes no dice cuáles importan. El lector se va con un inventario y ningún orden de prioridad, lo que equivale a no decirle nada. La nota parte de cien y resta. HSTS y Content-Security-Policy valen dieciocho puntos cada una, porque son las dos únicas que cierran toda una clase de ataque: la vuelta al texto claro para la primera, la inyección de contenido para la segunda. X-Content-Type-Options y X-Frame-Options valen ocho, Referrer-Policy y Permissions-Policy seis. Esas endurecen, no protegen por sí solas.
Sin HTTPS, F, sin discusión
Cuando la página no se sirve por HTTPS, la nota cae a F y el detalle no se calcula. No es severidad de presentación, es la única lectura honesta: todo circula en claro, cualquier intermediario lee y modifica la página, y ninguna cabecera cambia eso. Sumar puntos de endurecimiento sobre una conexión abierta daría una nota halagadora y falsa.
Lo que cuesta, más allá de las cabeceras
- Un certificado ya caducado resta cuarenta puntos, un certificado que no corresponde al nombre del sitio resta treinta.
- Quince días o menos antes del vencimiento: quince puntos. Treinta días o menos: solo cinco, porque la renovación automática se dispara dentro de esa ventana, como mostró la auditoría de agosto.
- Una sola cookie puesta sin Secure o sin HttpOnly: ocho puntos.
- Una cabecera Server que muestra un número de versión, o un X-Powered-By: cuatro puntos. No es un fallo, es una indicación regalada a quien busca una versión vulnerable.
- Sin SPF, sin DMARC: cinco puntos cada uno. Un dominio sin DMARC se suplanta por correo, aunque no reciba ningún mensaje.
- Un nombre de dominio que caduca en menos de treinta días: ocho puntos, y quince si ya ha vencido.
Nombrar una cabecera no basta
«Le falta Permissions-Policy» no dice nada a quien no administra un servidor. Se va sin saber si debe preocuparse ni qué pedir a su proveedor. Cada cabecera ausente se entrega por tanto con tres cosas: qué protege, qué obtiene un atacante sin ella y la línea que hay que copiar tal cual. Para HSTS esa línea es «Strict-Transport-Security: max-age=31536000; includeSubDomains». Son los valores que nuestra propia API aplica a sus respuestas, con una excepción: la política de contenido de una API que solo sirve JSON es demasiado estricta para un sitio que carga sus imágenes y sus scripts, así que proponemos un valor adaptado a un sitio.
La misma nota, en continuo
La auditoría pública y la vigilancia continua comparten una única función de cálculo. La auditoría aporta lo que mide de más —el certificado, el DNS del dominio—, la vigilancia se limita a las cabeceras de cada respuesta. Consecuencia útil: la nota de un sitio vigilado se recalcula en cada pasada, y una degradación se ve. Una B que se vuelve D es un despliegue que quitó una política de contenido. Nadie se lo dirá, la página sigue mostrándose.
Lo que la nota no dice
Mide una presencia, no una finura de configuración. Una política de contenido permisiva cuenta como presente, y una nota A no significa que un sitio sea seguro: significa que no ha olvidado las protecciones que todo el mundo olvida. La auditoría no sustituye una revisión aplicativa, señala lo que falta y lo que retrocede. Es poco, es medible, y es exactamente lo que ningún equipo vigila de forma espontánea.