CSP compatible avec matomo ?

Discussion dans 'Administration d'un site Web' créé par ortolojf, 22 Août 2022.

  1. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    3 675
    J'aime reçus:
    39
    Bonjour

    Actuellement, avec Matomo, d'après Firefox j'ai une flopée de sites devant être accédés pour des cookies ou storages, rendu impossible par ma CSP.

    J'ai configuré ma CSP autant que possible, ma seule question est :

    Strict-Transport-Security est-il incompatible avec Matomo ?

    Merci beaucoup.


    Code:
    Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
    
    
     
  2. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    3 675
    J'aime reçus:
    39
    A propos des CSP et nonce :

    Le nonce doit changer à chaque chargement de page.

    Sous Nginx, je pourrais utiliser le $request_id comme nonce.

    Mais cette variable n'est pas secure cryptographiquement.

    Comment rendre cette variable "secure" dans le CSP ?

    Merci beaucoup.
     
  3. colonies
    colonies WRInaute impliqué
    Inscrit:
    10 Septembre 2006
    Messages:
    683
    J'aime reçus:
    113
    Ton code n'est pas une directive CSP mais concerne HSTS.

    Pour générer un nonce en PHP :
    Code:
    $nonce = base64_encode(random_bytes(20));
    Si des ressources sont bloquées alors que tu les veux vraiment sur ta page, c'est que ta CSP est trop restrictive, ou que ce que tu intègres fait des choses que tu n'as pas prévues (comme charger d'autres scripts, par exemple).
     
  4. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    3 675
    J'aime reçus:
    39
    Bonjour colonies

    Voilà le header CSP que j'essaye de déclencher, sans succès :

    Code:
    header(Content-Security-Policy, "default-src 'self'; connect-src https://analytics.pronostics-courses.fr; img-src 'self' https://analytics.pronostics-courses.fr; script-src 'nonce-zyFkZ6sbrjfjqNxsYKQNcpD1h28=' 'strict-dynamic' http: https:; style-src 'nonce-zyFkZ6sbrjfjqNxsYKQNcpD1h28='; link-src 'nonce-zyFkZ6sbrjfjqNxsYKQNcpD1h28='; frame-ancestors 'self'; frame-src 'self'; object-src 'none'; base-uri 'none'; report-uri https://www.pronostics-courses.fr/csp_report/report.php;")
    
    
    Quand je fais : "curl -I http://localhost" :

    Code:
    HTTP/1.1 200 OK
    Server: nginx/1.22.0
    Date: Wed, 24 Aug 2022 16:59:40 GMT
    Content-Type: text/html; charset=UTF-8
    Connection: keep-alive
    X-Powered-By: PHP/8.1.9
    Set-Cookie: SES=0c6setrvikqj5te7ihs29go3hd; path=/; HttpOnly; SameSite=Lax
    Expires: Thu, 19 Nov 1981 08:52:00 GMT
    Cache-Control: no-store, no-cache, must-revalidate
    Pragma: no-cache
    Content-Security-Policy:
    X-WebKit-CSP:
    X-Content-Security-Policy:
    x-dns-prefetch-control: on
    
    
    Le header est probablement trop complexe.

    Merci beaucoup de ton aide.
     
  5. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    3 675
    J'aime reçus:
    39
    Voilà maintenant :

    Code:
    HTTP/1.1 200 OK
    Server: nginx/1.22.0
    Date: Wed, 24 Aug 2022 18:51:09 GMT
    Content-Type: text/html; charset=UTF-8
    Connection: keep-alive
    X-Powered-By: PHP/8.1.9
    Set-Cookie: SES=mh9q5j96ql92blrq460ordebmr; path=/; HttpOnly; SameSite=Lax
    Expires: Thu, 19 Nov 1981 08:52:00 GMT
    Cache-Control: no-store, no-cache, must-revalidate
    Pragma: no-cache
    Content-Security-Policy: "default-src 'self'; connect-src https://analytics.pronostics-courses.fr; img-src 'self' https://analytics.pronostics-courses.fr; script-src 'unsafe-inline' https: 'nonce-EtL7FugDVxai4R7/l23MLVbb/Yw=' 'strict-dynamic'; style-src 'nonce-EtL7FugDVxai4R7/l23MLVbb/Yw='; link-src 'nonce-EtL7FugDVxai4R7/l23MLVbb/Yw='; frame-ancestors 'self'; frame-src 'self'; object-src 'none'; base-uri 'none'; report-uri https://www.pronostics-courses.fr/csp_report/report.php;"
    X-WebKit-CSP: "default-src 'self'; connect-src https://analytics.pronostics-courses.fr; img-src 'self' https://analytics.pronostics-courses.fr; script-src 'unsafe-inline' https: 'nonce-EtL7FugDVxai4R7/l23MLVbb/Yw=' 'strict-dynamic'; style-src 'nonce-EtL7FugDVxai4R7/l23MLVbb/Yw='; link-src 'nonce-EtL7FugDVxai4R7/l23MLVbb/Yw='; frame-ancestors 'self'; frame-src 'self'; object-src 'none'; base-uri 'none'; report-uri https://www.pronostics-courses.fr/csp_report/report.php;"
    
    

    Je crois qu'il ne faut pas indiquer d'urls pour les script-src.

    Mais le connect-src sera-t-il suffisant pour les scripts descendants ?

    Faut-t-il mettre un nonce pour les style-src et link-src ?

    Merci beaucoup.
     
    #5 ortolojf, 24 Août 2022
    Dernière édition: 24 Août 2022
  6. colonies
    colonies WRInaute impliqué
    Inscrit:
    10 Septembre 2006
    Messages:
    683
    J'aime reçus:
    113
    Les URL pour script-src fonctionnent, mais bon...

    Tu devrais supprimer X-WebKit-CSP, par contre. C'est un vieux truc qui n'a servi que très peu de temps, et qui peut entrainer des problèmes sur certains navigateurs (probablement pas les plus récents mais bref : supporter de vieux navigateurs plus utilisés pour en perturber d'autres du même genre, ça ne sert à rien).

    Source : https://content-security-policy.com
     
  7. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    3 675
    J'aime reçus:
    39
    Bonjour colonies

    J'ai un bug dans le header :

    Code:
    * http2 error: Invalid HTTP header field was received: frame type: 1, stream: 1, name: [content-security-policy ], value: ["default-src 'self'; connect-src https://analytics.pronostics-courses.fr; img-src 'self' https://analytics.pronostics-courses.fr; script-src 'unsafe-inline' https: 'nonce-6a86cef6bba8f1ffef61d3a7aba93b77' 'strict-dynamic'; frame-ancestors 'self'; frame-src 'self'; object-src 'none'; base-uri 'none'; report-uri https://www.pronostics-courses.fr/csp_report/report.php;"]
    
    
    Merci beaucoup de ton aide.

    Amicalement.
     
  8. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    3 675
    J'aime reçus:
    39
    Problème résolu.

    Cependant, comment faites-vous avec les connect-src ?

    Surtout les connect-src des scripts descendants ?

    Faut-il tous les indiquer ?

    Merci beaucoup.
     
  9. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    3 675
    J'aime reçus:
    39
    Bonjour colonies

    Cà marche.

    J'ai mis le nonce dans le sript -src et toutes les urls dans les autres -src.

    Faudrait que j'y ajoute un favicon.ico. ;)

    Maintenant, développement de ma PWA. ;)

    Merci beaucoup.
     
Chargement...
Similar Threads - CSP compatible matomo Forum Date
Outils de Statisitques externes (Csp, Age, Sexe) Administration d'un site Web 8 Janvier 2009
Affiliation fnacspectales ou ticketnet Administration d'un site Web 23 Novembre 2005
SEO compatible avec un sous-domaine ? Rédaction web et référencement 15 Mai 2021
Script Sirdata pour GTM compatible CNIL ? Google Analytics 5 Janvier 2021
parallax et seo sont-ils compatibles ? Référencement Google 11 Juin 2020
Problème indexation page d'accueil incompatible mobile Crawl et indexation Google, sitemaps 19 Avril 2020
Google Chrome sera compatible avec les normes Better Ads AdSense 5 Juillet 2019
WebP : Compatible avec Microsoft Edge et d'autres navigateurs Google : l'entreprise, les sites web, les services 5 Octobre 2018
Gestion globale Cookies compatible CNIL ? Droit du web (juridique, fiscalité...) 30 Octobre 2017
Quelles versions de navigateurs sont compatibles AMP ? Développement d'un site Web ou d'une appli mobile 1 Septembre 2016
Page compatible mobile détectée en erreur par Google Débuter en référencement 28 Juillet 2016
Régies pub avec cookies compatibles CNIL et directive Européenne Monétisation d'un site web 13 Août 2015
Balise canonique incompatible avec balise alternate ? Problèmes de référencement spécifiques à vos sites 29 Juillet 2015
Width img en % compatible html5 Développement d'un site Web ou d'une appli mobile 4 Septembre 2014
Problème Javascript compatible IE ? Développement d'un site Web ou d'une appli mobile 15 Octobre 2013
Lecteur "player" compatible HTML5 (ogv, webm et mp4)) Développement d'un site Web ou d'une appli mobile 27 Septembre 2013
éditeur Wysiwyg compatible tablette et smartphone Développement d'un site Web ou d'une appli mobile 9 Août 2013
Comment rendre le code AddThis compatible W3C ? Développement d'un site Web ou d'une appli mobile 18 Mai 2012
Nikon D3200 compatible Android Google : l'entreprise, les sites web, les services 19 Avril 2012
Est-ce que l’adresse de l’annuaire est compatible avec Google Webmaster tools Administration d'un site Web 3 Mars 2012