CSP
CSP (Content Security Policy) declara, mediante una cabecera HTTP, qué orígenes de recursos puede cargar una página, reduciendo la superficie de ataque de XSS e inyección de datos.
Propósito
Se defiende del XSS y la inyección de contenido poniendo en lista blanca los orígenes desde los que una página puede cargar recursos.
Mecanismo
La cabecera Content-Security-Policy declara directivas: default-src fija la fuente por defecto, script-src las fuentes de scripts, style-src las de estilos, etc. Un nonce o hash permite scripts inline, y report-uri informa las violaciones. El CSP estricto usa nonce más strict-dynamic.
Casos de uso
- Mitigación de XSS
- Restricción de scripts de terceros
- Control de scripts inline
- Reporte de violaciones
Ejemplos
- entrada
script-src 'self' 'nonce-abc'OutputOnly same-origin and nonce-tagged scripts are allowedWhitelisting
Errores comunes
- An overly strict CSP breaks page functionality
- Observe first with Report-Only mode
Términos relacionados
CORS
CORS (Cross-Origin Resource Sharing) es un mecanismo de seguridad del navegador que usa cabeceras HTTP para controlar si una página puede acceder a recursos de otro origen, evitando lecturas cross-site. GLOSARIO
XSS
XSS (cross-site scripting) es el ataque donde el atacante inyecta scripts maliciosos en una página que se ejecutan en el navegador de otros usuarios; tiene formas almacenadas, reflejadas y basadas en DOM. GLOSARIO
Security Header
Las cabeceras HTTP de seguridad son cabeceras de respuesta que ordenan al navegador activar mecanismos de seguridad, como CSP, HSTS y X-Frame-Options. GLOSARIO
Content Security Policy
Content Security Policy (CSP) declara, mediante una cabecera HTTP, una lista blanca de orígenes desde los que una página puede cargar recursos; es el mecanismo central de defensa contra XSS y la inyección de contenido. GLOSARIO