CSP, “Content Security Policy” o “Politica de seguridad de contenidos” en español son una serie de reglas que determinan desde que origenes y que tipos de contenidos pueden ser descargados por un cliente web.
Permiten limitar los ataques XSS (cross-site scripting) y la inyeccion de codigo.
En terminos practicos se traducen en cabeceras (headers) que se le envian al browser con cada peticion (request).
Magento 2.3.5 incluye un mecanismo con el cual fácilmente podemos administrar esas reglas.
https://devdocs.magento.com/guides/v2.3/extension-dev-guide/security/content-security-policies.html
El modulo involucrado es Magento Csp y la manera simple de implementar o cambiar reglas es mediante un xml, “csp_whitelist.xml” que tendremos en el directorio “etc” de nuestros modulos.
Hay dos modos “restrict mode” y “report-only”.
En el primer caso Magento restringe las peticiones que no cumplen las reglas y en el segundo caso solo emite un reporte que podemos ver en la consola del navegador.
Este mensaje es muy útil para depuración, sea eliminar la referencia a un script de terceros o permitirlo configurando una regla.
[Report Only] Refused to load the script ‘https://www.xxx.com/api.js’ because it violates the following Content Security Policy directive: “script-src assets.adobedtm.com…”
Las reglas determinan el tipo de contenido: media-src, style-src, script-src, etc que pueden ser obtenidos desde un dominio (value)
La documentación es completa y la implementación es muy simple.
Ahora solo queda disfrutar de esta nueva característica de Magento 2.