¿Qué son las cabeceras de seguridad web?

Las cabeceras de seguridad son instrucciones que un servidor envía como parte de una respuesta HTTP. Estas instrucciones indican al navegador cómo debe tratar determinados aspectos de un sitio web.

Cuando el navegador solicita una página, el servidor devuelve el documento acompañado por información adicional llamada cabeceras HTTP. Algunas describen el contenido y otras establecen reglas destinadas a reducir riesgos específicos.

Estas instrucciones no aparecen dentro del texto visible de la página, pero el navegador puede utilizarlas antes o durante la presentación del contenido.

No todas las cabeceras de seguridad cumplen la misma función. Cada una comunica una regla o restricción particular.

¿Para qué sirven?

Las cabeceras de seguridad ayudan al navegador a aplicar protecciones que no pueden expresarse únicamente mediante el contenido visible de una página.

Por ejemplo, Content-Security-Policy puede limitar los orígenes desde los que se permite cargar scripts, estilos, imágenes y otros recursos. Una política correctamente diseñada puede reducir el impacto de ciertos ataques relacionados con la inyección de contenido.

Strict-Transport-Security indica a los navegadores compatibles que deben utilizar HTTPS en conexiones futuras con el dominio.

X-Frame-Options puede limitar si una página puede mostrarse dentro de un marco en otro sitio. X-Content-Type-Options puede indicar al navegador que respete el tipo de contenido declarado, en lugar de intentar reinterpretarlo.

Otras cabeceras controlan la información de referencia compartida o las capacidades del navegador que puede utilizar un documento.

La presencia de una cabecera no significa automáticamente que su configuración sea adecuada. Una regla puede ser demasiado permisiva, estar incompleta o ser incompatible con la forma en que el sitio carga sus recursos.

¿Cuándo deben revisarse?

Las cabeceras de seguridad deben revisarse al publicar o migrar un sitio, al cambiar la configuración del servidor o al incorporar scripts y servicios externos.

También conviene revisarlas cuando:

  • El sitio no declara protecciones básicas para el navegador.
  • Una política bloquea recursos legítimos.
  • Se agregaron scripts externos sin actualizar las reglas existentes.
  • El sitio puede ser incorporado por terceros sin autorización.
  • El comportamiento entre HTTP y HTTPS no es consistente.
  • Cambió el servidor o la configuración del alojamiento.

Una revisión pública puede identificar si ciertas cabeceras están presentes, pero no puede confirmar la seguridad completa de la aplicación.

Las cabeceras de seguridad proporcionan reglas adicionales al navegador; no sustituyen el desarrollo seguro, el mantenimiento ni la configuración del servidor.

Deben comprenderse como una capa dentro de un conjunto más amplio de protecciones y no como una solución completa por sí mismas.