Saltar al contenido
Explorar conocimiento

concepto · intermedio · 1 min de lectura

CSP — Content Security Policy

CSP es un header HTTP que permite al servidor declarar qué fuentes de contenido —scripts, estilos, imágenes— son confiables, siendo la defensa más efectiva contra XSS.

No requiere conocimientos previos.

Alcance en breve

Cubre

  • CSP as a concept

No cubre

  • implementation details

Supone

  • The reader understands relevant fundamentals.

Resumen

Content Security Policy (CSP) es una capa de seguridad que el servidor declara mediante el header Content-Security-Policy. Le dice al navegador: «solo ejecutá scripts de estos dominios, solo cargá imágenes de estas fuentes, no ejecutes inline scripts». Si un atacante logra inyectar un <script> vía XSS, el navegador se niega a ejecutarlo porque no está en la lista blanca.

CSP es defensa en profundidad: no reemplaza la sanitización de inputs, pero limita el daño si la primera línea falla. Una política estricta como script-src 'self' bloquea todo JavaScript que no venga del mismo dominio.

Alcance y supuestos

Cubre CSP como mecanismo de seguridad, directivas comunes y reporting. Asume familiaridad con HTTP.

Modelo mental

Una lista de invitados en una fiesta privada. Aunque alguien salte la valla —el XSS—, el seguridad de la puerta revisa la lista y no lo deja pasar al salón principal. CSP es esa lista de invitados.

Uso práctico

  • ✅ Toda aplicación web debería tener CSP configurado.
  • ❌ CSP mal configurado puede romper la aplicación —usar Content-Security-Policy-Report-Only para probar—.

Ejemplo trabajado: CSP contra XSS

Header: Content-Security-Policy: script-src 'self'. Un atacante inyecta <script src='https://evil.com/steal.js'> vía XSS. El navegador bloquea el script: no está en 'self'. El XSS fue exitoso pero inofensivo gracias a CSP.

Evidencia

  • MDN documenta todas las directivas CSP. Google y Mozilla recomiendan CSP como defensa esencial contra XSS.

Fuentes citadas