Content Security Policy o CSP son políticas de seguridad que podemos configurar para proteger nuestro sitio web ante intentos de ciberataque del tipo XSS o Cross Site Scripting.
Esta forma de ataque implica la inserción de código JavaScript en la página web que está siendo explorada por un usuario. Esta inserción puede ocurrir de varias maneras, típicamente aprovechando vulnerabilidades en la programación del sitio web.
Si se cumple esta condición, el atacante podrá suplantar al usuario, lo que le permitirá apropiarse de información o llevar a cabo procesos en el sitio web atacado, simulando ser un usuario autorizado. Así podría por ejemplo obtener acceso a cuentas del usuario sin que este se de cuenta de nada.
El CSP es una medida de protección que se activa en los servidores del sitio web, en el cual se acepta o rechaza determinados llamados que vienen desde fuera, como interacciones entre servicios. En otras palabras, se indica al navegador del usuario qué cargar y qué no, en base a lineamientos previamente definidos.
CSP se puede configurar en distintos niveles; más bajo o más estricto. Uno menos estricto permite que el sitio utilice herramientas que son de otros proveedores, como Google Analytics, el cual hace consultas desde afuera y mide elementos del sitio web que se estén realizando. Otro ejemplo son servicios de publicidad que están constantemente agregando elementos como un banner, imágenes o videos de YouTube. Ahora bien, si el CSP es estricto, todas estas interacciones de terceros se bloquean.
Con esto surge la interrogante ¿configuro una CSP estricta o una más flexible para mi sitio?
En general se recomienda el uso de CSP más estricto en aplicaciones donde los usuarios gestionan datos sensibles, como paneles de control o consolas de administración. En cualquier caso, se debe considerar al CSP como una capa adicional de protección, que no reemplaza el buen diseño y prácticas de seguridad en el desarrollo del código.
En los sitios que son estáticos, informativos, donde el usuario no necesita registrarse, los ataques tipo XSS son menos probables porque no hay información que sea de utilidad para el atacante. Como mencionamos, una configuración más flexible me permite utilizar herramientas como Google Analytics 4 o la API de Meta (Facebook), por ejemplo, con los cuales puedo hacer mediciones, análisis y reportes de las interacción o eventos de mi sitio. Este registro de información es fundamental en sitios como los e-commerce por ejemplo, o en medios de comunicación, para poder realizar una publicidad efectiva o remarketing. En estos casos, una configuración más estricta bloquearía estas herramientas.