MTES-MCT / histologe

Histologe - Signaler un problème de mal-logement et accélérer sa prise en charge
https://histologe.beta.gouv.fr
MIT License
5 stars 0 forks source link

[Technique] Améliorer la CSP #2609

Closed hmeneuvrier closed 4 months ago

hmeneuvrier commented 5 months ago

https://observatory.mozilla.org/analyze/histologe.beta.gouv.fr

Content Security Policy
-20 Content Security Policy (CSP) implemented unsafely.

This includes 'unsafe-inline' or data: inside script-src, overly broad sources such as https: inside object-src or script-src, or not restricting the sources for object-src or script-src.

hmeneuvrier commented 5 months ago

TODO :

sfinx13 commented 5 months ago

On a cette alerte quand on build le projet RECOMMEND To create a smaller (and CSP-compliant) build, see https://symfony.com/doc/current/frontend/encore/vuejs.html#runtime-compiler-build

sfinx13 commented 5 months ago

https://webpack.js.org/guides/csp/

emilschn commented 5 months ago

C'était un peu le sens de ma remarque lors de la retro :)

hmeneuvrier commented 5 months ago

default-src 'none';--> empêche le chargement des svg contenus dans le dsfr malgré l'utilisation de img-src 'self'... je cherche une solution

-> ça marche sous Chromium mais pas sous Firefox. Solution possible : https://discourse.mozilla.org/t/content-security-policy-for-svg-use/95310

hmeneuvrier commented 5 months ago

bon c'est chaud de retirer unsafe-unline pour style src, car il faut vraiment TOUT mettre dans des trucs externes

Et j'ai des soucis avec le profiler de symfony malgré Made the toolbar compatible with Content Security Policy et malgré une mise à jour de symfony cli car il y a eu une correction dans la version 5.8.13 Romain Neutron

Contributed by Romain Neutron in #18568.

The new Content Security Policy HTTP response header helps you reduce XSS risks on modern browsers by declaring what dynamic resources are allowed to load via a HTTP Header.

If your application defines such a policy, the script-src or style-src directives could disallow unsafe inlines, which would prevent the loading of the web debug toolbar.

In Symfony 3.2 we made the web debug toolbar compatible with those kind of Content Security Policies. Internally this change required massive code updates, but for developers it will be completely transparent and it won't require any change in their applications.

hmeneuvrier commented 5 months ago

Pour le style, j'arrive à simplifier un peu les choses en ajoutant style-src-attr 'self' 'unsafe-inline';

hmeneuvrier commented 5 months ago

Utilisation de Nelmio Security Bundle en dernier recours.

Essayer de faire un ContentSecurityPolicyListener pour intercepter les nonces de la toolbar et générer des nonces aléatoirement pour les Githubissues.

  • Githubissues is a development platform for aggregating issues.