URL: https://linuxfr.org/users/xenom/journaux/content-security-policy-1-0-integre-a-firefox Title: Content Security Policy 1.0 intégré à Firefox Authors: xenom Date: 2013年06月13日T23:02:06+02:00 License: CC By-SA Tags: sécurité, firefox et navigateur_web Score: 25 Depuis le 30 mai Content Security Policy (CSP) 1.0 est supporté par Firefox, dans le canal Aurora (version pre-beta de firefox) . Content Security Policy ? ========================= CSP est un mécanisme de sécurité dont le but est de protéger l'utilisateur contre les [failles XSS](http://fr.wikipedia.org/wiki/XSS) en permettant aux sites web de restreindre l'origine des scripts. CSP a été crée par la fondation Mozilla, et les premières implémentations ont été intégrés à Firefox 4. Depuis le 15 novembre 2012, c'est même [une recommandation candidate du W3C](http://www.w3.org/TR/CSP/), et c'est cette version qui sera intégrée dans Firefox 23. Comment ça marche ? =================== L’entête HTTP Content-Security envoyé avec la page contient une liste des domaines d’où peuvent provenir les différents scripts. Pour que ce soit efficace, le Javascript inline est bloqué , tout comme les fonctions comme eval qui permettrait l’exécution de code. Si un attaquant injecte un script situé sur un domaine non autorisé par la CSP, le navigateur refuse de l’exécuter. CSP va même plus loin en donnant le contrôle sur la provenance d'autres ressources, comme les images, les frames ou les polices. Quelles differences avec [NoScript](http://noscript.net/) ? ================================= Déjà, CSP est intégré de base au navigateur contrairement à cette extension. Ensuite et surtout, la source du filtrage est différent, NoScript est configuré par l'utilisateur, CSP par le webmaster. CSP ne protégera donc pas l'utilisateur des scripts malveillants ou de tracking si ils ont été mis en place et autorisés par le webmaster, ni des [MITM]("http://fr.wikipedia.org/wiki/Attaque_de_l%27homme_du_milieu") si l'attaquant modifie aussi l’entête CSP. Qui le supporte ? ================= La plupart des navigateurs, mais souvent dans une version expérimentale avec des préfixes particuliers. Seul Chrome et les futures versions de Firefox supportent la recommandation complétement et avec les entêtes définis dans la version 1.0. Safari utilise des entêtes X-WebKit-CSP, Internet Explorer uniquement une version partielle depuis sa version 10. Opera ne supporte pas CSP, mais cela devrait être le cas dans sa prochaine version. Si le navigateur ne le supporte pas, cela n'aura pas d'impact visible pour l'utilisateur, CSP ne sera juste pas pris en considération. [Un tableau sur la compatibilité.](http://caniuse.com/#search=CSP) J'ai envie d'en savoir plus! ============================ Je conseille la lecture de [cet article très complet](http://www.html5rocks.com/en/tutorials/security/content-security-policy/), et de [l'annonce sur le blog de Mozilla](https://blog.mozilla.org/security/2013/06/11/content-security-policy-1-0-lands-in-firefox/) Pour aider à l’écriture de la politique de sécurité, Mozilla a sortit [une extension Firefox](https://hacks.mozilla.org/2013/05/content-security-policy-1-0-lands-in-firefox-aurora/). Cet extension permet aussi aux utilisateurs de définir une politique CSP pour des sites ne la supportant pas encore.