IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Sécurité Discussion :

content-security-policy Et FireFox -> nonce et unsafe-inline incompatible sous FireFox


Sujet :

Sécurité

  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2012
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Janvier 2012
    Messages : 97
    Par défaut content-security-policy Et FireFox -> nonce et unsafe-inline incompatible sous FireFox
    Bonjour,

    Je cherche à intégrer le header content-security-policy sur mon site.
    ça marche sous chrome mais pas sous FireFox.

    Site en eZ Platform 2.5 GPL / Symfony 3.4.49 / PHP 7.2
    Bundle : NelmioSecurity https://github.com/nelmio/NelmioSecurityBundle
    (Mais je pense que c'est vraiment un problème d'entête HTTP. donc rien à jour avec le CMS/Framework/langage de programmation)

    Je travail sur le site https://monsite.pr-144-vzmcodi-foo.eu.platform.sh (URL fictive)
    Il y a une lib JS qui est appelé sur une autre site du client : mbExtension.min.js
    https://infolettres.client.fr/prefer...tension.min.js

    FireFox refuse de le charger.

    Content Security Policy: Les paramètres de la page ont empêché le chargement d’une ressource à inline (« script-src »).
    En fait j'ai 2 fois cette erreur avec une source différente
    • moz-extension:2132:49
    • mbExtension.min.js:101:16


    Ma conf :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    nelmio_security:
    csp: # content-security-policy Header
    enabled: true
    report_logger_service: logger
    content_types: [ ]
    enforce:
    level1_fallback: false
    # only send directives supported by the browser, defaults to false
    # this is a port of https://github.com/twitter/secureheaders/blob/83a564a235c8be1a8a3901373dbc769da32f6ed7/lib/secure_headers/headers/policy_management.rb#L97
    browser_adaptive:
    enabled: true # J'ai test true et false
    report-uri: '%router.request_context.base_url%/nelmio/csp/report'
    default-src:
    - 'self'
    - 'https://infolettres.client.fr'
    script-src:
    - 'self'
    - 'https://infolettres.client.fr'
    - 'https://infolettres.client.fr/preferences/assets/js/mbExtension.min.js' # nelmio/csp/report source-file: "https://infolettres.client.fr/preferences/assets/js/mbExtension.min.js"
    - '*-foo.eu.platform.sh' # nelmio/csp/report source-file: "https://monsite.pr-144-vzmcodi-foo.eu.platform.sh"
    - 'moz-extension' # nelmio/csp/report source-file: "moz-extension"
    - 'unsafe-inline'
    - 'unsafe-eval'
    Ce qui donne comme header.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    content-security-policy: default-src 'self' https://infolettres.client.fr; script-src 'self' https://infolettres.client.fr https://infolettres.client.fr/preferences/assets/js/mbExtension.min.js *-n7atutj757v2a.eu.platform.sh moz-extension 'unsafe-inline' 'unsafe-eval' 'nonce-xxxxx'; report-uri /nelmio/csp/report
    Dans les reports j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    {
    "csp-report": {
    "blocked-uri": "inline",
    "column-number": 49,
    "document-uri": "https://monsite.pr-144-vzmcodi-n7atutj757v2a.eu.platform.sh/?foo",
    "line-number": 2132,
    "original-policy": "...", # Les content-security-policy vue plus haut 
    "referrer": "",
    "source-file": "moz-extension",
    "violated-directive": "script-src"
    }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    {
    "csp-report": {
    "blocked-uri": "inline",
    "column-number": 16,
    "document-uri": "https://monsite.pr-144-vzmcodi-n7atutj757v2a.eu.platform.sh/?foo",
    "line-number": 101,
    "original-policy": "...", # Les content-security-policy vue plus haut
    "referrer": "",
    "source-file": "https://infolettres.client.fr/preferences/assets/js/mbExtension.min.js",
    "violated-directive": "script-src"
    }
    }

  2. #2
    Membre confirmé
    Inscrit en
    Janvier 2012
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Janvier 2012
    Messages : 97
    Par défaut
    Dans la console FireFox
    Nom : Capture d’écran du 2022-11-22 14-06-24.png
Affichages : 530
Taille : 17,5 Ko

    Le fichier mbExtension.min.js mbExtension.min.js

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2012
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Janvier 2012
    Messages : 97
    Par défaut
    Bon,,,

    J'avais des nonce dans mon code.
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <script data-nononce="{{ csp_nonce('script') }}" type="text/javascript">
          <!--
          // DU JS
          //-->
        </script>

    Du coup ça ajoutait le header 'nonce-xxxxx' Et il se trouve que nonce et unsafe-inline ne sont pas compatible.... , sous firefox... et que fofox ne met pas un petit message pour le dire.

    Problème résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Content Security Policy
    Par Scam34080 dans le forum Apache
    Réponses: 2
    Dernier message: 06/02/2019, 16h22
  2. Content-security-policy et performance.
    Par gotcha5832 dans le forum Apache
    Réponses: 2
    Dernier message: 01/05/2018, 12h00
  3. Content Security Policy
    Par punisher999 dans le forum Sécurité
    Réponses: 4
    Dernier message: 06/12/2017, 15h44
  4. Réponses: 3
    Dernier message: 24/10/2016, 14h24
  5. Content Security Policy: Autorisé Google
    Par n0wis dans le forum Sécurité
    Réponses: 0
    Dernier message: 17/06/2015, 10h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo