Mastodon Mastodon Mastodon Mastodon

Content Security Policy

Actualizado: · CyberSecureFox Editorial Team

Content Security Policy (CSP) es un mecanismo de seguridad del navegador con el que una web declara de qué orígenes pueden cargarse scripts, estilos, marcos y otros contenidos, limitando el impacto de los ataques de inyección.

Cómo funciona CSP

El servidor envía la política en la cabecera de respuesta HTTPContent-Security-Policy. El navegador se niega entonces a cargar o ejecutar todo lo que la política no permita. Directivas importantes:

  • default-src y script-src: orígenes permitidos para contenido y JavaScript; los scripts en línea se bloquean salvo que lleven un nonce o un hash coincidente;
  • ‘strict-dynamic’: confía en los scripts cargados por scripts ya confiables, lo que hace prácticas las políticas basadas en nonce;
  • frame-ancestors: qué sitios pueden incrustar la página en un marco;
  • connect-src y form-action: adónde puede enviar datos la página;
  • report-to: adónde se envían los informes de infracciones.

La cabecera Content-Security-Policy-Report-Only permite probar una política sin bloquear nada. CSP está estandarizada por el W3C; la versión actual es el Nivel 3.

Por qué importa CSP

CSP es una capa de defensa en profundidad contra el cross-site scripting: aunque un atacante logre inyectar una etiqueta script, el navegador no la ejecutará. La directiva frame-ancestors impide el clickjacking, y restringir los destinos de conexión dificulta que los skimmers de formjacking envíen los datos de tarjetas robados a dominios de los atacantes. Pero una política vale lo que valen sus reglas: permitir ‘unsafe-inline’ o dominios CDN enteros suele hacerla trivial de eludir.

Buenas prácticas

  • Preferir políticas estrictas basadas en nonce o hash frente a largas listas de dominios permitidos.
  • Evitar ‘unsafe-inline’ y ‘unsafe-eval’.
  • Desplegar primero en modo report-only y vigilar los informes de infracciones.
  • Tratar CSP como complemento de la codificación de salida y la validación de entradas, no como sustituto.
Sinónimos:
política de seguridad de contenido, content-security-policy, cabecera csp