Cabeceras de seguridad HTTP
Definición breve
Las cabeceras de seguridad HTTP son pequeñas instrucciones del servidor al navegador que previenen tipos concretos de ataques.
Al cargar una página, el servidor envía junto con el contenido una serie de cabeceras invisibles. Las cabeceras de seguridad HTTP son el subconjunto que le dice al navegador qué no permitir en esa página.
Content-Security-Policy bloquea la ejecución de scripts maliciosos, Strict-Transport-Security impide caer a una conexión sin cifrar, X-Frame-Options impide que el sitio se incruste discretamente dentro de otra página. Cada cabecera cierra un tipo distinto de ataque.
Un certificado SSL cifra los datos, pero sin estas cabeceras otras puertas quedan abiertas a través del comportamiento del navegador, ambas se complementan, ninguna sustituye a la otra.
Se puede comprobar qué cabeceras de seguridad envía realmente una página sin tocar el código, abriendo las herramientas de desarrollo del navegador, yendo a la pestaña Red y examinando las cabeceras de respuesta de cualquier solicitud. Es una forma rápida y accesible de verificarlo sin conocimientos técnicos avanzados, si una cabecera concreta nunca aparece ahí, sencillamente no se ha definido en el servidor.
Por qué importa
La falta de cabeceras de seguridad da a los atacantes margen para inyectar código o suplantar el sitio, y esto suele pasar inadvertido durante meses. Unas cabeceras bien configuradas cierran esas puertas sin coste adicional de servidor.
Ejemplo ilustrativo
Un proveedor de pagos descubrió en una auditoría de seguridad que la cabecera Content-Security-Policy nunca se había definido, añadirla llevó una hora y cambió por completo el resultado de la auditoría.
