Content-Security-Policy (CSP) avec Joomla

Réduire
X
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • ZerooCool
    a crée un sujet Content-Security-Policy (CSP) avec Joomla

    Content-Security-Policy (CSP) avec Joomla


    Je découvre, redécouvre, la CSP, suite à un test SEO sur mon serveur web, qui m'a informé que je n'avais pas mis en place la CSP.
    J'ai donc mis en place une CSP minimaliste, pour répondre à l'erreur SEO et tester cette mise en place. Voilà l'exemple d'une CSP :

    <IfModule mod_headers.c>
    Header set Content-Security-Policy "script-src 'self' https://www.***********.eu"
    </IfModule>

    Maintenant, si cette règle a été correctement appliquée, mon slider ne fonctionne plus, notamment du fait qu'il intègre directement des scripts dans des balises Javascript, dans le body de Joomla.

    Je tente un contournement, et tente d'activer JQuery dans le module, et, en espérant qu'il soit chargé localement.
    La, je constate que l'interface administrateur de Joomla a des ratés, avec cette CSP rudimentaire.
    J'entend par la que je ne peux plus fermer un module une fois que je l'ai ouvert.

    Si j'utilise la barre de navigation pour revenir à la racine de l'administrateur, et, retourner dans les modules, les petits cadenas sont toujours actifs sur les modules, et, je ne peux pas cliquer dessus pour remettre l'état standard.

    Ma question est la suivante : Je cherche ( si cela peut se trouver ) une CSP pour Joomla, pour un site par défaut.
    Ici, ce n'est même pas tant le soucis que je rencontre avec le slider qui m'intéresse, mais, à trouver une CSP valide, pour un Joomla par défaut.

    Je ne sais pas si le projet Joomla a déjà pu écrire des notes à ce sujet, mais, je suppose qu'il existe quelque chose comme cela, quelque part.

    J'ai cherché le mot clé CSP sur le forum, je n'ai rien trouvé.

    Sur Github, j'ai pu apprendre que Joomla 4 intègre composant et plugin, pour CSP, mais, je ne suis pas convaincu, car, si le serveur n'est pas configuré, je pense que le composant ou le plugin ne sera pas fonctionnel, et, qu'avant de penser composant ou plugin, il faut correctement configurer le serveur.

    J'ai partagé cette question dans une issue sur Github : https://github.com/joomla/joomla-cms/issues/23392
    Dernière édition par ZerooCool à 30/12/2018, 02h59

  • ZerooCool
    a répondu
    Bonjour, merci pour les liens complémentaires sur les discussions ouvertes à ce sujet récemment dans le forum.
    Pour les mots de 3 lettres, il faut le savoir, je n'ai pas mis en place de telles restrictions sur mon forum ou mon wiki.

    Je pense avoir complété les informations déjà existantes, qui ont déviées sur d'autres aspects de sécurité comme HSTS que je découvre.
    Je n'ai que quelques jours de retard sur les discussions intéressantes sur les CSP, et, je pense avoir pu enrichir un peu le contenu sur cette thématique :
    Content-Security-Policy (CSP) avec Joomla

    Pour faciliter la mise en place des règles CSP, utiliser un générateur d'en-tête CSP en ligne : https://www.cspisawesome.com
    Le simple fait d'utiliser le générateur de CSP pourra déjà aider quelques développeurs à mieux appréhender les règles CSP.
    Ce sera la le cadeau de Noël, pour ceux qui ne connaissent pas les CSP.

    J'ai également fais une proposition de CSP rudimentaire mais fonctionnelle avec Joomla, ce qui a l'avantage de faire disparaître les alertes dans le navigateur.
    Ce sera la un second cadeau de Noël, pour ceux qui découvrent les CSP.

    C'était la le but de ma publication, avoir un exemple de CSP, et, partager le générateur de CSP.
    M'assurer que le forum ait bien des informations à ce sujet en base. C'est le cas, c'est parfait.
    Dernière édition par ZerooCool à 31/12/2018, 15h13

    Laisser un commentaire:


  • daneel
    a répondu
    Envoyé par ZerooCool Voir le message

    J'ai cherché le mot clé CSP sur le forum, je n'ai rien trouvé.
    Normal vu que le forum n'accepte pas un mot de 3 lettres. Si tu avais cherché un peu mieux comme Content Security Policy ...

    https://forum.joomla.fr/forum/joomla...gin-httpheader

    https://forum.joomla.fr/forum/joomla...uoi-et-comment

    Il y a eu aussi une précédente discussion sur le sujet mais tout est déjà résumé avec les liens.

    Oui ce n'est pas parfait en php mais il faut bien mettre ces options à la portée de tous. J'aurai d'autres suggestions mais pas le temps de les développer.
    Le plugin a également une traduction en FR.

    et puis bonjour, bonnes fêtes de fin d'année et bonne année 2019...
    Il y a certaines habitudes qui se perdent sur le forum, alors je te fais le lot pour ne rien oublier

    ++

    Laisser un commentaire:


  • ZerooCool
    a répondu
    J'ai demandé à Lcf.vs de développez, son avis, et, il m'a demandé comment fonctionnait ce composant / plugin, si le header était réécrit par PHP et que si oui, c'est pas terrible, car, cela n'interviendrait pas pour les fichiers statiques, genre les assets.

    De mon côté, j'ai testé un générateur en ligne de CSP.
    Pour faciliter la mise en place des règles, utiliser un générateur d'en-tête CSP en ligne : https://www.cspisawesome.com

    J'ai pu modifier la proposition de CSP, jusqu'à obtenir une navigation sans alerte :
    - Depuis la page d'accueil de l'administrateur.
    - Depuis la page d'accueil du site ( en incluant mon slider également. )

    Je ne sais pas si je l'ai fais correctement, et, je suis conscient que cette CSP est finalement loin d'être optimale, puisqu'on contourne la règle qui préconise d'interdire les scripts dans les balises <scripts ... > </script> dans le site.

    <IfModule mod_headers.c>
    Header set Content-Security-Policy "img-src *; object-src 'self' https://www.***********.fr; media-src https://www.***********.fr; frame-src https://www.***********.fr; connect-src 'self' *; report-uri https://www.***********.fr"

    # Le module correspondant à X-Content-Security-Policy n'est pas chargé.
    # X-Content-Security-Policy "default-src 'self' https://www.***********.fr; script-src 'self' 'unsafe-inline' https://www.***********.fr; object-src https://www.***********.fr; style-src https://www.***********.fr; img-src https://www.***********.fr; media-src https://www.***********.fr; frame-src https://www.***********.fr; font-src https://www.***********.fr; connect-src https://www.***********.fr; report-uri https://www.***********.fr"

    # Le module correspondant à X-WebKit-CSP n'est pas chargé.
    # X-WebKit-CSP "default-src 'self' https://www.***********.fr; script-src 'self' 'unsafe-inline' https://www.***********.fr; object-src https://www.***********.fr; style-src https://www.***********.fr; img-src https://www.***********.fr; media-src https://www.***********.fr; frame-src https://www.***********.fr; font-src https://www.***********.fr; connect-src https://www.***********.fr; report-uri https://www.***********.fr"
    </IfModule>

    Je me demande ce que le couple composant / plugin proposé en version 3 et intégré en version 4 peut apporter de plus que la règle que je propose ici.
    De ce que j'en comprend, est un sparadra mouillé collé sur des besoins spécifiques en sécurité.

    J'ai donc répondu à la question que je me posais, pour ne pas rencontrer ce genre d'alertes dans le navigateur.
    La CSP que je propose semble convenir pour Joomla.

    Cette configuration a l'avantage :
    D'éviter les alertes CSP dans le navigateur.
    De prendre conscience du besoin d'amélioration du CMS, pour répondre aux bonnes pratiques de l'utilisation des CSP.

    Cette configuration a pour défaut :
    De ne pas respecter les standards conseillés pour la CSP.
    Dernière édition par ZerooCool à 31/12/2018, 15h11

    Laisser un commentaire:


  • RobertG
    a répondu
    "Joomla 4 will have csp tools/extensions bundled in core." : en version 4 donc, tout site Joomla! aura déjà ces fonctionnalités et ne nécessitera pas d'ajout d'extension supplémentaire comme celle de Michael Richey pour la version 3 dont on parle dans la discussion que tu cites dans ton deuxième message ou ce plugin dont tu parles dans le dernier, si je comprends bien cette réponse.

    Laisser un commentaire:


  • ZerooCool
    a répondu
    GHSVS-de m'a répondu ceci sur Github :
    For Joomla 3: https://github.com/zero-24/plg_syste...eader/releases
    Joomla 4 will have csp tools/extensions bundled in core.

    Suite à sa réponse, je me demande si les configurations les configurations côté serveur sont écrasées par ce composant / plugin depuis l'administration de Joomla.

    N'est-il pas préférable de faire ce paramétrage côté serveur, dans le VirtualHost, directement ?
    <IfModule mod_headers.c>
    Header set Content-Security-Policy "script-src 'self' https://www.***********.eu"
    </IfModule>

    Mon attente serrait d'avoir un modèle de CSP par défaut, pour faire fonctionner Joomla par défaut.
    Ce modèle de CSP devrait pouvoir être appliqué au serveur VPS / dédié.

    Ainsi, pas besoin d'ajouter des composants ou plugin sur Joomla, pour gérer la CSP, dans le cas d'un Joomla installé par défaut.

    Laisser un commentaire:


  • ZerooCool
    a répondu
    J'ai survolé ce sujet sur Github et je vous invite à en prendre connaissance : https://github.com/joomla/joomla-cms/pull/20686

    Le message suivant évoque la problématique que je rencontre pour le slider : https://joomla.stackexchange.com/que...does-not-start

    Dans la console, lors de la visite de mon site, j'ai le message d'erreur suivant :
    Content Security Policy: Les paramètres de la page ont empêché le chargement d’une ressource à inline (« script-src »).

    D'après les échanges sur stackexchange, la solution radicale serait de passer la CSP en " insécure " pour pouvoir faire fonctionner Joomla normalement.

    Merci de vos avis sur la question, que vous pouvez également faire remonter sur Github, puisque ce sujet semble d'actualité avec Joomla 4.

    Laisser un commentaire:

Annonce

Réduire
1 sur 2 < >

C'est [Réglé] et on n'en parle plus ?

A quoi ça sert ?
La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
Comment ajouter la mention [Réglé] à votre discussion ?
1 - Aller sur votre discussion et éditer votre premier message :


2 - Cliquer sur la liste déroulante Préfixe.

3 - Choisir le préfixe [Réglé].


4 - Et voilà… votre discussion est désormais identifiée comme réglée.

2 sur 2 < >

Assistance au forum - Outil de publication d'infos de votre site

Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

UTILISER À VOS PROPRES RISQUES :
L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

Problèmes connus :
FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

Installation :

1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

Archive zip : https://github.com/AFUJ/FPA/zipball/master

2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
et remplacer www. votresite .com par votre nom de domaine


Exemples:
Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
Télécharger le script fpa-fr.php dans: /public_html/
Pour executer le script: http://www..com/fpa-fr.php

Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
Télécharger le script fpa-fr.php dans: /public_html/cms/
Pour executer le script: http://www..com/cms/fpa-fr.php

En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
Voir plus
Voir moins

Partenaire de l'association

Réduire

Hébergeur Web PlanetHoster
Travaille ...
X