Joomladay francophone 2019 à Paris, les 8 et 9 mars 2019

Plugin HTTPHeader

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

  • Plugin HTTPHeader

    Bonsoir,

    Pour info, un contributeur allemand assez actif ( Tobias Zulauf alias zone 24 ) a publié un plugin pour gérer les http headers, pour la politique de sécurité ( CSP ) mais aussi pour le preload HSTS (évoqué dans cette discussion : https://forum.joomla.fr/forum/joomla-3-x/questions--générales/1991742-activer-le-hsts-pourquoi-et-comment/ ) . Cela vous évite donc des modifications dans le fichier htaccess.

    Je l'ai traduit en français (n'hésitez pas à m'indiquer les fautes orthographiques) et disponible sur le compte github du développeur :
    https://github.com/zero-24/plg_syste...eader/releases

    Il fonctionne avec Joomla 3 et sera normalement intégré nativement dans le package joomla 4 ( je l'espère ! ).

    C'est l'occasion de s'intéresser à la réalisation d'une Content Security Policy (CSP).

    Dans de nombreuses discussions, on a déjà évoqué la nécessité de créer la politique de sécurité sur vos sites et les sites de référence sur le sujet :

    https://www.cspisawesome.com/

    https://cspvalidator.org/

    https://tools.geekflare.com/tools/csp-test


    L'explication intéressante en français étant celle de Dareboost :
    https://blog.dareboost.com/fr/2016/0...curity-policy/
    ou celle de Mozilla : https://developer.mozilla.org/fr/docs/Web/HTTP/CSP

    mais aussi l'indispensable documentation d'alsacreation à lire ou redécouvrir :
    https://www.alsacreations.com/articl...-securite.html

    Le plugin indique de nombreux liens vers la documentation en anglais de Scott Helme, co-fondateur du site :
    https://securityheaders.com/
    Le site SecurityHeaders permet d'analyser votre site avec une graduation de F (niveau le plus bas) à A+ (le top du top) suivant l'application des directives choisis dans votre politique de sécurité.
    L'obtention d'un grade A+ est assez difficile pour un site Joomla car cela demande une certaine rigueur et quelques contraintes. Personnellement, j'ai réussi mais avec des paramètres headers différents pour le backend (pour que des extensions comme JCE fonctionne correctement).

    Le grade "B" étant plus accessible (celui actuellement défini pour joomla.fr) :
    https://securityheaders.com/?q=https...owRedirects=on
    je vous invite à élever progressivement le niveau de sécurité.
    En effet, Il vaut mieux comprendre ce que l'on choisit comme directive avant de les appliquer.

    N'hésitez pas également à partager vos réussites ou echecs sur la mise en place d'une CSP et du HSTS Preload soit avec le plugin ou via le htaccess


    Note : La version du plugin fonctionne uniquement sur php7, zero24 ayant développé une version php 5.6 disponible sur son compte github
    https://github.com/zero-24/plg_syste...eader/releases
    Dernière édition par daneel à 09/12/2018, 10h23
    pmleconte, woluweb and cavo789 like this.
    Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

  • #2
    Bonjour Yann et merci pour ce long post très utile.

    Juste pour expliquer pourquoi joomla.fr a un score B...

    [EDIT]Score A maintenant car j'avais oublié de réactiver la ligne Header always set X-XSS-Protection "1; mode=block" dans le .htaccess[/EDIT]

    Pour un portail avec de multiples auteurs comme celui de joomla.fr ainsi que pour le forum, il est compliqué de définir des CSP strictes car pour ne prendre qu'un exemple un auteur d'un post sur le forum peut ajouter une image à son message, image stockée n'importe où (son site, un site d'hébergement d'images,...) et dans ce cas une gestion fine du img-src dans les headers http rendrait l'affichage des images réellement difficile.

    Sur un site dynamique il est aussi très compliqué de bloquer le inline css ou js d'où impossible d'atteindre un score A+ (sauf hack de fichiers, à refaire à chaque mise à jour).

    Comme tu l'indique fort bien il faut tendre vers... sans pour autant en faire un objectif final. Un A est déjà un très beau score.

    Merci pour tes différents liens, encore beaucoup de saines lectures au coin du feu.

    Bonne journée
    Dernière édition par cavo789 à 02/12/2018, 17h53
    woluweb likes this.
    Christophe (cavo789)
    Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)
    Développeur de marknotes, logiciel de gestion de prises de notes avec interface web et de multiples convertisseur https://github.com/cavo789/marknotes
    Mes logiciels OpenSource : https://www.avonture.be
    Les 8 et 9 mars prochain ? J'peux pas, j'ai JoomlaDay 2019 #jd19fr (plus d'infos)

    Commentaire


    • #3
      Bonjour.

      Merci Yann pour ce partage, le lien vers le fichier joint semble ne pas être valide.
      Cordialement.
      __
      Eddy !!!
      Tutoriels BreezingForms en Français : https://www.breezingforms.eddy-vh.com/

      Commentaire


      • #4
        Bonjour,

        Effectivement, le forum bloque les fichiers zip.

        Tu peux le télécharger depuis mon compte github :
        https://github.com/YGomiero/plg_syst...eader/releases

        Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

        Commentaire


        • #5
          Merci Yann. Je vois ça plus tard. Suis en route...
          Cordialement.
          __
          Eddy !!!
          Tutoriels BreezingForms en Français : https://www.breezingforms.eddy-vh.com/

          Commentaire


          • #6
            Bonjour,

            Excusez-moi de vous déranger, mais je souhaiterai solliciter votre aide concernant votre plugin.

            En effet, j'ai installé votre plugin et tout fonctionnai correctement.

            MAIS ...dans les paramètre du content security policy (CSP) j'ai inscris une liste de site dans la case VALUE, coché la case ADMINISTRATOR et j'ai enregistré.

            Tout les ressources (CSS, JS,IMAGE,ETC...) auxquels faisait référence la liste que j'avais inscrite est BLOQUE.

            Maintenant j'ai une simple page html de mon site qui répond juste au liens mais plus du tout au bouton sauvegarder.

            Je ne peux plus donc enlever ce que j'ai écris et résoudre mon problème.

            En supprimant le dossier httpheader dans www/plugin/system/httpheader, je n'ai plus de soucis. Mais des lorsque je réinstalle votre plug in, tout rebug ..

            Je pense que les informations que j'ai rentré sont stocké dans ma BDD. J'ai effectué des recherches et je ne trouve rien du tout correspondant a votre plugin dans ma BDD.

            Je souhaiterai directement supprimer les valeurs que j'ai rentré afin de résoudre mon problème et continuer ainsi a utiliser votre plug in.

            Je vous remercie.

            Dans l'attente d'une réponse.

            Commentaire


            • #7
              Si c'est la dernière extension installée, elle se trouvera tout à la fin de la table des extensions et donc tu pourras la supprimer. En supprimant ou renommant son répertoire, comme tu conserves l'entrée dans la table, la réinstallation va récupérer les paramétrages. Tu peux tenter de désinstaller dans la gestion des extensions après renommage ou suppression du dossier : reste à vérifier que malgré l'erreur ça supprimera la ligne dans la table (j'en doute).
              "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide). MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info hébergés chez PHPNET - +sites gérés chez 1and1 et OVH - Site pro : www.robertg-conseil.fr

              Commentaire


              • #8
                Bonjour

                Supprimer le dossier n'est pas suffisant puisque les paramètres enregistrés sont toujours présents. Il faut désactiver le plugin dans l'administration de joomla et ensuite modifier les valeurs dans l'administration du plugin.

                Commentaire


                • #9
                  Bonjour.

                  Sans trop chipoter, j'ai obtenu un A. Me manque les CSP et Feature-Policy pour lesquels je vais m'informer.
                  Cordialement.
                  __
                  Eddy !!!
                  Tutoriels BreezingForms en Français : https://www.breezingforms.eddy-vh.com/

                  Commentaire


                  • #10
                    Bonjour à tous,

                    Et merci à Yann une nouvelle fois, dès que j'ai un moment, je me précipite sur tes publications toujours pleines comme un œuf d'informations et d'urls.
                    Je n'ai pas encore pu appliquer Content Security Policy car si j'en ai bien compris la philosophie, j'ai encore un peu de mal à définir les différentes protections à mettre en place en fonction du site. Bon, j'ai lu qu'en utilisant Content-Security-Policy-Report-Only on ne risquait pas vraiment grand chose (pas de blocage sur le site) mais l'intérêt, n'est il alors pas bien moindre en terme de sécurité, ou bien je n'ai pas bien compris la leçon ?

                    Pour un site vitrine de base, sans inscription de membres, avec un formulaire de contact et la possibilité de s'inscrire à une newsletter, qui utilise GoogleFont et Analytics comme principales fonctionnalités, jusqu'où faudrait intelligemment pousser la sécurité ?

                    default-src 'self' ;
                    Avec cet exemple, je suppose que l'on bloque les scripts qui viennent de l'extérieur et certainement d'autres choses ?
                    Il faudrait donc ajouter :

                    script-src 'self' www.google-analytics.com ;
                    J'ai également du mal à comprendre à quoi correspond la valeur 'none' ...
                    Bon, je vais continuer mes recherches ...
                    Dernière édition par GraphiqueDesign à 22/12/2018, 01h59
                    "Si vous n’êtes pas impliqués émotionnellement dans ce que vous créez, laissez tomber."
                    https://www.graphiquedesign-bf.com/

                    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