¿Qué es Content Security Policy (CSP)?
¿Por qué es importante usar CSP en tus aplicaciones?
Beneficios clave de CSP
Previene la ejecución de código malicioso
Refuerza la seguridad del navegador
Reduce la exposición a ataques XSS
Ayuda al cumplimiento de normativas de protección de datos
Cómo implementar Content Security Policy paso a paso
1. Define una política básica
Content-Security-Policy: default-src 'self'; script-src 'self';Esta configuración permite que solo se carguen recursos del mismo dominio (por ejemplo, tu propio servidor) y bloquea cualquier script externo.
2. Usa el modo Report-Only para pruebas
Content-Security-Policy-Report-Only: default-src 'self'; report-uri /csp-report-endpoint;Esto es útil para detectar qué recursos serían bloqueados sin romper la funcionalidad del sitio.
3. Especifica fuentes para cada tipo de contenido
Content-Security-Policy: default-src 'self'; script-src 'self' https://apis.google.com; style-src 'self' 'unsafe-inline'; img-src *;Este ejemplo permite scripts desde tu propio dominio y Google APIs, pero imágenes desde cualquier dominio.
4. Usa nonce o hash para scripts dinámicos
<script nonce="abc123">alert('Seguridad primero');</script>
Y en la cabecera:
Content-Security-Policy: script-src 'nonce-abc123';
5. Supervisa e itera tu política
Buenas prácticas al usar CSP
No permitas unsafe-inline salvo que sea estrictamente necesario
Usa hashes o nonces para contenido dinámico
Evita el uso excesivo de * o data:, ya que debilitan la política
Aprovecha CSP junto con otras cabeceras de seguridad
CSP es aún más efectiva cuando se combina con otras cabeceras HTTP de seguridad como:
- X-Frame-Options: previene ataques de clickjacking al evitar que tu sitio sea cargado dentro de un iframe malicioso.
- Strict-Transport-Security (HSTS): obliga al navegador a usar siempre HTTPS, protegiendo contra ataques de intermediarios (MITM).
- Referrer-Policy: controla qué información del origen se envía en las solicitudes, protegiendo datos sensibles.
Valida CSP en cada entorno de despliegue
Conclusión
Proteger las aplicaciones web en la era digital actual requiere más que buenas intenciones: demanda herramientas y estrategias robustas que se integren de forma proactiva al desarrollo. En este contexto, Content Security Policy (CSP) se posiciona como una de las medidas más efectivas para prevenir ataques de inyección de código, frenar la carga de contenido no autorizado y resguardar la información sensible de los usuarios.
Implementar CSP correctamente mejora la seguridad técnica del sitio, fortalece la confianza del usuario, facilita el cumplimiento normativo y promueve un desarrollo más disciplinado y controlado. Si bien puede parecer complejo al principio, adoptar un enfoque progresivo (comenzando con políticas básicas, utilizando el modo “report-only” y refinando gradualmente) permite proteger tu aplicación sin comprometer su funcionalidad.